From df88f440fe45541d8d4344b4eb82875a93b67539 Mon Sep 17 00:00:00 2001 From: maly Date: Fri, 8 Aug 2025 08:16:17 +0400 Subject: [PATCH 01/24] first go at improving skimming setup to work out of box --- README.md | 339 +++- analysis.py | 70 +- analysis/base.py | 5 +- analysis/diff.py | 241 ++- analysis/nondiff.py | 86 +- datasets/nanoaods.json | 3214 ++++++++++++++++++----------------- environment.yml | 326 +--- user/configuration.py | 41 + user/cuts.py | 58 + utils/build_fileset_json.py | 80 +- utils/input_files.py | 87 +- utils/logging.py | 3 + utils/preproc.py | 51 +- utils/schema.py | 140 +- utils/tools.py | 63 +- 15 files changed, 2704 insertions(+), 2100 deletions(-) diff --git a/README.md b/README.md index a4393d9..d1f9137 100644 --- a/README.md +++ b/README.md @@ -72,22 +72,30 @@ pip install --upgrade pip pip install -r requirements.txt ``` -#### Data Pre-processing +#### Data Skimming -The analysis expects pre-processed data files. If you do not have them, you can generate them by running the pre-processing step. This will download the necessary data from the CERN Open Data Portal and skim it according to the configuration. +The analysis expects skimmed data files. If you do not have them, you can generate them by running the skimming step. This will download the necessary data from the CERN Open Data Portal and skim it according to the configuration. ```bash -# This command overrides the default config to run only the pre-processing step. -# It may take a while to download and process the data. -python run.py general.run_preprocessing=True general.run_mva_training=False general.analysis=nondiff general.run_histogramming=False general.run_statistics=False +# This command runs only the skimming step to produce skimmed files +python analysis.py general.run_skimming=True general.analysis=skip + +# Or run skimming and then analysis in one command +python analysis.py general.run_skimming=True ``` +The skimming system provides three modes: + +1. **Skim-only mode**: `general.analysis=skip` - Only performs skimming, no analysis +2. **Skim-and-analyse mode**: `general.run_skimming=True` - Skims data then runs analysis +3. **Analysis-only mode**: `general.run_skimming=False` - Uses existing skimmed files for analysis + ### 2. Run the Differentiable Analysis -Once the pre-processed data is available, you can run the main analysis with a single command: +Once the skimmed data is available, you can run the main analysis with a single command: ```bash -python run.py +python analysis.py ``` ### 3. What is Happening? @@ -121,9 +129,18 @@ The default configuration (`user/configuration.py`) is set up to perform a diffe - [1. The Configuration File (`user/configuration.py`)](#1-the-configuration-file-userconfigurationpy) - [2. Defining Analysis Logic](#2-defining-analysis-logic) - [3. Running the Analysis](#3-running-the-analysis) +- [Config-Driven Skimming Framework](#config-driven-skimming-framework) + - [Dataset Configuration](#dataset-configuration) + - [Skimming Configuration](#skimming-configuration) + - [Selection Functions](#selection-functions) + - [Integration with Main Configuration](#integration-with-main-configuration) + - [Usage Examples](#usage-examples) + - [Advanced Features](#advanced-features) - [Configuration Reference](#configuration-reference) - [`general` Block](#general-block) - [`preprocess` Block](#preprocess-block) + - [`datasets` Block](#datasets-block) + - [`skimming` Block](#skimming-block) - [`jax` Block](#jax-block) - [`mva` Block](#mva-block) - [`channels` Block](#channels-block) @@ -303,6 +320,280 @@ The allowed top-level keys for CLI overrides are: Attempting to override other keys (e.g., `jax.params`) will result in an error. To change these, you must edit the `user/configuration.py` file directly. +## Config-Driven Skimming Framework + +The framework provides a configuration-driven approach to data skimming. This section explains how to configure and use the skimming system for your analysis. + +### Core Components + +The skimming framework has three main parts: + +1. **Dataset Configuration**: Define where your data lives and its properties +2. **Skimming Configuration**: Define how to filter and process your data +3. **Selection Functions**: Define the physics logic for event selection + +--- + +### Dataset Configuration + +Dataset configuration centralizes information about your data samples, including file locations, cross-sections, and metadata. + +#### Basic Dataset Setup + +Create a dataset configuration in `user/skim.py`: + +```python +# user/skim.py +datasets_config = [ + { + "name": "signal", + "directory": "datasets/signal/", + "cross_section": 1.0, # pb + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "ttbar_semilep", + "directory": "datasets/ttbar_semilep/", + "cross_section": 831.76, # pb + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "wjets", + "directory": "datasets/wjets/", + "cross_section": 61526.7, # pb + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "data", + "directory": "datasets/data/", + "cross_section": 1.0, # Not used for data + "tree_name": "Events", + "weight_branch": "genWeight" # Not used for data + } +] +``` + +#### Advanced Dataset Configuration + +For more complex setups, you can specify additional properties: + +```python +datasets_config = [ + { + "name": "zprime_2000", + "directory": "/eos/cms/store/user/myuser/zprime_M2000/", + "cross_section": 0.123, + "tree_name": "Events", + "weight_branch": "genWeight", + "metadata": { + "mass": 2000, + "campaign": "RunIISummer20UL16", + "generator": "MadGraph" + } + }, + { + "name": "ttbar_powheg", + "directory": "/eos/cms/store/user/myuser/ttbar_powheg/", + "cross_section": 831.76, + "tree_name": "Events", + "weight_branch": "genWeight", + "metadata": { + "generator": "Powheg+Pythia8", + "tune": "CP5" + } + } +] +``` + +#### Using Different Storage Systems + +The framework supports various file storage patterns: + +```python +# Local files +{ + "name": "local_sample", + "directory": "/home/user/data/sample/", + "cross_section": 100.0 +} + +# EOS storage +{ + "name": "eos_sample", + "directory": "/eos/cms/store/user/username/sample/", + "cross_section": 50.0 +} + +# XRootD URLs (will be auto-detected) +{ + "name": "remote_sample", + "directory": "root://cms-xrd-global.cern.ch//store/mc/sample/", + "cross_section": 25.0 +} +``` + +--- + +### Skimming Configuration + +Skimming configuration defines how events are filtered and processed. The framework supports two modes: + +- **NanoAOD Mode**: Uses Python functions with `PackedSelection` (more flexible) +- **Uproot Mode**: Uses string-based cuts (faster for simple selections) + +#### Basic Skimming Setup + +```python +# user/skim.py +from user.cuts import default_skim_selection + +skimming_config = { + # NanoAOD mode selection + "nanoaod_selection": { + "function": default_skim_selection, + "use": [("Muon", None), ("Jet", None), ("PuppiMET", None), ("HLT", None)] + }, + + # Uproot mode selection (alternative/complementary) + "uproot_cut_string": "HLT_TkMu50*(PuppiMET_pt>50)*(nMuon>=1)", + + # Output settings + "output_pattern": "part{idx}.root", + "chunk_size": 100_000, + "tree_name": "Events", + "weight_branch": "genWeight" +} +``` + +#### Skimming Configuration Options + +| Parameter | Type | Description | Example | +|-----------|------|-------------|---------| +| `nanoaod_selection` | `dict` | Python function-based selection | See below | +| `uproot_cut_string` | `str` | String-based cut for uproot | `"pt>50*(eta<2.4)"` | +| `output_dir` | `str` | Output directory (auto-set if None) | `"skimmed_data/"` | +| `output_pattern` | `str` | Filename pattern with `{idx}` placeholder | `"skim_{idx}.root"` | +| `chunk_size` | `int` | Events per processing chunk | `50000` | +| `tree_name` | `str` | ROOT tree name | `"Events"` | +| `weight_branch` | `str` | Event weight branch name | `"genWeight"` | + +--- + +### Selection Functions + +Selection functions define the physics logic for event filtering. They use the same functor pattern as the main analysis. + +#### Basic Selection Function + +```python +# user/cuts.py +import awkward as ak +from coffea.analysis_tools import PackedSelection + +def default_skim_selection(muons, jets, met, hlt): + """ + Basic skimming selection for Z' → tt analysis. + + Parameters + ---------- + muons : ak.Array + Muon collection + jets : ak.Array + Jet collection + met : ak.Array + MET collection + hlt : ak.Array + HLT trigger collection + + Returns + ------- + PackedSelection + Selection object with named cuts + """ + selection = PackedSelection() + + # Muon selection: exactly one tight muon + mu_sel = ( + (muons.pt > 55) + & (abs(muons.eta) < 2.4) + & muons.tightId + & (muons.miniIsoId > 1) + ) + muon_count = ak.sum(mu_sel, axis=1) + selection.add("single_muon", muon_count == 1) + + # MET selection + selection.add("met", met.pt > 50) + + # HLT selection + selection.add("trigger", hlt.TkMu50) + + # Jet selection: at least 4 jets + jet_sel = (jets.pt > 30) & (abs(jets.eta) < 2.4) & (jets.jetId >= 4) + jet_count = ak.sum(jet_sel, axis=1) + selection.add("jets", jet_count >= 4) + + return selection +``` +--- + +### 4. Integration with Main Configuration + +Once you've defined your datasets and skimming configuration, integrate them with your main analysis configuration: + +```python +# user/configuration.py +from user.skim import datasets_config, skimming_config + +# ... other configuration blocks ... + +config = { + "general": { + "lumi": 16400, + "analysis": "diff", + "run_preprocessing": True, # Enable skimming + "output_dir": "outputs/my_analysis/", + # preprocessed_dir will automatically default to output_dir/skimmed/ + }, + + "preprocess": { + "branches": { + "Muon": ["pt", "eta", "phi", "mass", "miniIsoId", "tightId", "charge"], + "Jet": ["btagDeepB", "jetId", "pt", "eta", "phi", "mass"], + "PuppiMET": ["pt", "phi"], + "HLT": ["TkMu50"], + "event": ["genWeight", "run", "luminosityBlock"], + }, + "mc_branches": { + "event": ["genWeight"], + }, + "skimming": skimming_config # Add your skimming config + }, + + "datasets": datasets_config, # Add your dataset config + + # ... rest of your configuration ... +} +``` + +--- + +### 5. Running with Config-Driven Skimming + +#### Basic Usage + +You can simply use the framework without any changes: + +```python +# This automatically uses your configured datasets and skimming +python run.py +``` + +--- + ## Configuration Reference The analysis is controlled by a central configuration dictionary, typically defined in `user/configuration.py`. @@ -348,6 +639,40 @@ Settings for the initial data skimming and filtering step. | `branches` | `dict` | *Required* | Mapping of collection names to branch lists. | | `ignore_missing` | `bool` | `False` | Ignore missing branches if `True`. | | `mc_branches` | `dict` | *Required* | Additional branches for MC samples. | +| `skimming` | `dict` | `None` | Skimming configuration (see `skimming` block below). | + +--- + +### `datasets` Block + +List of dataset configurations defining data sample properties. + +| Parameter | Type | Default | Description | +|------------------|------------|-------------|-----------------------------------------------------| +| `name` | `str` | *Required* | Unique dataset identifier. | +| `directory` | `str` | *Required* | Path to dataset files. | +| `cross_section` | `float` | *Required* | Cross-section in picobarns (pb). | +| `tree_name` | `str` | `"Events"` | ROOT tree name. | +| `weight_branch` | `str` | `"genWeight"` | Event weight branch name. | +| `metadata` | `dict` | `{}` | Additional dataset metadata. | + +--- + +### `skimming` Block + +Configuration for the data skimming step (part of `preprocess` block). + +| Parameter | Type | Default | Description | +|----------------------|------------|-------------------|------------------------------------------------| +| `nanoaod_selection` | `dict` | `None` | NanoAOD mode selection configuration. | +|   ↳ `function` | `Callable` | *Required* | Selection function to apply. | +|   ↳ `use` | `list[str]` | *Required* | Input variables for the function. | +| `uproot_cut_string` | `str` | `None` | Uproot mode cut string. | +| `output_dir` | `str` | `None` | Output directory (auto-set if None). | +| `output_pattern` | `str` | `"part{idx}.root"` | Output filename pattern. | +| `chunk_size` | `int` | `100000` | Events per processing chunk. | +| `tree_name` | `str` | `"Events"` | ROOT tree name. | +| `weight_branch` | `str` | `"genWeight"` | Event weight branch name. | --- diff --git a/analysis.py b/analysis.py index 8dd4753..9c84a01 100644 --- a/analysis.py +++ b/analysis.py @@ -5,15 +5,24 @@ on NanoAOD ROOT files and producing histograms of observables like mtt. Supports both correctionlib-based and function-based corrections. """ +import hashlib import logging +import os import sys +import cloudpickle +import uproot +from coffea.nanoevents import NanoAODSchema, NanoEventsFactory + from analysis.diff import DifferentiableAnalysis from analysis.nondiff import NonDiffAnalysis from user.configuration import config as ZprimeConfig from utils.input_files import construct_fileset -from utils.logging import ColoredFormatter +from utils.datasets import ConfigurableDatasetManager +from utils.logging import ColoredFormatter, _banner from utils.schema import Config, load_config_with_restricted_cli +from utils.build_fileset_json import NanoAODMetadataGenerator +from utils.skimming import process_fileset_with_skimming # ----------------------------- # Logging Configuration @@ -29,17 +38,6 @@ logger = logging.getLogger("AnalysisDriver") logging.getLogger("jax._src.xla_bridge").setLevel(logging.ERROR) -# ANSI color codes -MAGENTA = "\033[95m" -RESET = "\033[0m" - -def _banner(text: str) -> str: - """Creates a magenta-colored banner for logging.""" - return ( - f"\n{MAGENTA}\n{'=' * 80}\n" - f"{' ' * ((80 - len(text)) // 2)}{text.upper()}\n" - f"{'=' * 80}{RESET}" - ) # ----------------------------- # Main Driver # ----------------------------- @@ -53,30 +51,54 @@ def main(): config = Config(**full_config) # Pydantic validation logger.info(f"Luminosity: {config.general.lumi}") + # Build JSON metadata before constructing fileset if dataset manager is configured + dataset_manager = None + if config.datasets: + dataset_manager = ConfigurableDatasetManager(config.datasets) + + # Conditionally run metadata generation + if config.general.run_metadata_generation: + logger.info(_banner("Building JSON Metadata Before Skimming")) + # Build JSON metadata for datasets + generator = NanoAODMetadataGenerator(dataset_manager=dataset_manager) + generator.run() + logger.info("JSON metadata generation complete") + else: + logger.info(f"Skipping metadata generation - using existing metadata from {dataset_manager.config.metadata_output_dir}") + fileset = construct_fileset( - max_files_per_sample=config.general.max_files + max_files_per_sample=config.general.max_files, + dataset_manager=dataset_manager, ) + # Process fileset with skimming and get processed events + logger.info(_banner("SKIMMING AND CACHING DATA")) + processed_datasets = process_fileset_with_skimming(config, fileset) + analysis_mode = config.general.analysis - if analysis_mode == "nondiff": + if analysis_mode == "skip": + logger.info(_banner("Skim-Only Mode: Skimming Complete")) + logger.info("✅ Skimming completed successfully. Analysis skipped as requested.") + logger.info(f"Skimmed files are available in the configured output directories.") + return + elif analysis_mode == "nondiff": logger.info(_banner("Running Non-Differentiable Analysis")) - nondiff_analysis = NonDiffAnalysis(config) - nondiff_analysis.run_analysis_chain(fileset) - + nondiff_analysis = NonDiffAnalysis(config, processed_datasets) + nondiff_analysis.run_analysis_chain() elif analysis_mode == "diff": logger.info(_banner("Running Differentiable Analysis")) - diff_analysis = DifferentiableAnalysis(config) - diff_analysis.run_analysis_optimisation(fileset) - else: + diff_analysis = DifferentiableAnalysis(config, processed_datasets) + diff_analysis.run_analysis_optimisation() + else: # "both" logger.info(_banner("Running both Non-Differentiable and Differentiable Analysis")) # Non-differentiable analysis logger.info("Running Non-Differentiable Analysis") - nondiff_analysis = NonDiffAnalysis(config) - nondiff_analysis.run_analysis_chain(fileset) + nondiff_analysis = NonDiffAnalysis(config, processed_datasets) + nondiff_analysis.run_analysis_chain() # Differentiable analysis logger.info("Running Differentiable Analysis") - diff_analysis = DifferentiableAnalysis(config) - diff_analysis.run_analysis_optimisation(fileset) + diff_analysis = DifferentiableAnalysis(config, processed_datasets) + diff_analysis.run_analysis_optimisation() if __name__ == "__main__": diff --git a/analysis/base.py b/analysis/base.py index 2acdff6..6c4141b 100644 --- a/analysis/base.py +++ b/analysis/base.py @@ -60,7 +60,7 @@ def is_jagged(array_like: ak.Array) -> bool: class Analysis: """Base class for physics analysis implementations.""" - def __init__(self, config: Dict[str, Any]) -> None: + def __init__(self, config: Dict[str, Any], processed_datasets: Optional[Dict[str, List[Tuple[Any, Dict[str, Any]]]]] = None) -> None: """ Initialize analysis with configuration for systematics, corrections, and channels. @@ -73,11 +73,14 @@ def __init__(self, config: Dict[str, Any]) -> None: - 'corrections': Correction configurations - 'channels': Analysis channel definitions - 'general': General settings including output directory + processed_datasets : Optional[Dict[str, List[Tuple[Any, Dict[str, Any]]]]], optional + Pre-processed datasets from skimming, by default None """ self.config = config self.channels = config.channels self.systematics = config.systematics self.corrections = config.corrections + self.processed_datasets = processed_datasets self.corrlib_evaluators = self._load_correctionlib() self.dirs = self._prepare_dirs() diff --git a/analysis/diff.py b/analysis/diff.py index 89de41d..8c67207 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -39,6 +39,7 @@ from utils.evm_stats import build_channel_data_scalar, compute_discovery_pvalue, fit_params from utils.logging import BLUE, GREEN, RED, RESET, _banner from utils.mva import JAXNetwork, TFNetwork +<<<<<<< HEAD from utils.plot import ( create_cms_histogram, plot_mva_feature_distributions, @@ -47,6 +48,13 @@ plot_pvalue_vs_parameters, ) from utils.preproc import pre_process_dak, pre_process_uproot +======= +from utils.plot import (create_cms_histogram, + plot_mva_feature_distributions, + plot_mva_scores, + plot_parameters_over_iterations, + plot_pvalue_vs_parameters) +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) from utils.tools import nested_defaultdict_to_dict, recursive_to_backend @@ -102,17 +110,17 @@ def merge_histograms( def infer_processes_and_systematics( - fileset: dict[str, dict[str, Any]], + processed_datasets: dict[str, list[tuple[Any, dict[str, Any]]]], systematics_config: list[dict[str, Any]], corrections_config: list[dict[str, Any]], ) -> tuple[list[str], list[str]]: """ - Extract all unique process and systematic names from the config and fileset. + Extract all unique process and systematic names from the config and processed datasets. Parameters ---------- - fileset : dict - Dataset structure with 'metadata' dictionaries including process names. + processed_datasets : dict + Dictionary mapping dataset names to lists of (events, metadata) tuples. systematics_config : list Configuration entries for systematic variations. corrections_config : list @@ -123,11 +131,12 @@ def infer_processes_and_systematics( tuple[list[str], list[str]] Sorted list of process names and systematic variation base names. """ - # Pull out all process names from the fileset metadata + # Pull out all process names from the processed datasets metadata process_names = { metadata.get("process") - for dataset in fileset.values() - if (metadata := dataset.get("metadata")) and metadata.get("process") + for events_list in processed_datasets.values() + for events, metadata in events_list + if metadata.get("process") } # Extract systematic names from both systematics and corrections configs @@ -696,16 +705,18 @@ class DifferentiableAnalysis(Analysis): - Training MVA models using JAX or TensorFlow frameworks. """ - def __init__(self, config: dict[str, Any]) -> None: + def __init__(self, config: dict[str, Any], processed_datasets: Optional[Dict[str, List[Tuple[Any, Dict[str, Any]]]]] = None) -> None: """ - Initialise the DifferentiableAnalysis with configuration. + Initialise the DifferentiableAnalysis with configuration and processed datasets. Parameters ---------- config : dict Analysis configuration dictionary. + processed_datasets : Optional[Dict[str, List[Tuple[Any, Dict[str, Any]]]]], optional + Pre-processed datasets from skimming, by default None """ - super().__init__(config) + super().__init__(config, processed_datasets) # Histogram storage: # histograms[variation][region][observable] = jnp.ndarray @@ -748,10 +759,6 @@ def _prepare_dirs(self) -> None: ) cache.mkdir(parents=True, exist_ok=True) - # Optional: directory to store preprocessed inputs for later reuse - preproc = self.config.general.get("preprocessed_dir") - if preproc: - Path(preproc).mkdir(parents=True, exist_ok=True) # Directory for trained MVA models mva = self.dirs["output"] / "mva_models" @@ -770,6 +777,7 @@ def _prepare_dirs(self) -> None: mva_plots.mkdir(parents=True, exist_ok=True) # Register the created paths in the analysis directory registry +<<<<<<< HEAD self.dirs.update( { "cache": cache, @@ -780,8 +788,17 @@ def _prepare_dirs(self) -> None: "mva_plots": mva_plots, } ) - - def _log_config_summary(self, fileset: dict[str, Any]) -> None: +======= + self.dirs.update({ + "cache": cache, + "mva_models": mva, + "optimisation_plots": optimisation_plots, + "fit_plots": fit_plots, + "mva_plots": mva_plots, + }) +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) + + def _log_config_summary(self) -> None: """Logs a structured summary of the key analysis configuration options.""" logger.info(_banner("Differentiable Analysis Configuration Summary")) @@ -789,6 +806,7 @@ def _log_config_summary(self, fileset: dict[str, Any]) -> None: general_cfg = self.config.general general_data = [ ["Output Directory", general_cfg.output_dir], +<<<<<<< HEAD [ "Max Files per Sample", ( @@ -798,6 +816,10 @@ def _log_config_summary(self, fileset: dict[str, Any]) -> None: ), ], ["Run Preprocessing", general_cfg.run_preprocessing], +======= + ["Max Files per Sample", "All" if general_cfg.max_files == -1 else general_cfg.max_files], + ["Run Skimming", general_cfg.run_skimming], +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) ["Run MVA Pre-training", general_cfg.run_mva_training], ["Run Systematics", general_cfg.run_systematics], ["Run Plots Only", general_cfg.run_plots_only], @@ -824,6 +846,7 @@ def _log_config_summary(self, fileset: dict[str, Any]) -> None: ) # --- Processes --- +<<<<<<< HEAD processes = sorted( list( { @@ -841,6 +864,18 @@ def _log_config_summary(self, fileset: dict[str, Any]) -> None: "Processes Included:\n" + tabulate(processes_data, headers=["Process"], tablefmt="grid") ) +======= + if self.processed_datasets: + processes = sorted(list({ + metadata["process"] + for events_list in self.processed_datasets.values() + for events, metadata in events_list + })) + if self.config.general.processes: + processes = [p for p in processes if p in self.config.general.processes] + processes_data = [[p] for p in processes] + logger.info("Processes Included:\n" + tabulate(processes_data, headers=["Process"], tablefmt="grid")) +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) # --- Systematics --- if self.config.general.run_systematics: @@ -1788,21 +1823,18 @@ def _run_traced_analysis_chain( def _prepare_data( self, params: dict[str, Any], - fileset: dict[str, Any], read_from_cache: bool = False, run_and_cache: bool = True, cache_dir: Optional[str] = "/tmp/gradients_analysis/", recreate_fit_params: bool = False, ) -> dict[str, dict[str, dict[str, Any]]]: """ - Run full analysis on all datasets in fileset with caching support. + Run full analysis on processed datasets with caching support. Parameters ---------- params : dict Analysis parameters. - fileset : dict - Dictionary mapping dataset names to file and metadata. read_from_cache : bool Read preprocessed events from cache. run_and_cache : bool @@ -1822,17 +1854,23 @@ def _prepare_data( } summary_data = [] - logger.info(_banner("Preparing and Caching Data")) + logger.info(_banner("Processing skimmed data")) # Prepare dictionary to collect MVA training data mva_data: dict[str, dict[str, list[Tuple[dict, int]]]] = defaultdict( lambda: defaultdict(list) ) - # Loop over datasets in the fileset - for dataset, content in fileset.items(): - metadata = content["metadata"] - metadata["dataset"] = dataset + # Use processed datasets from skimming + if not self.processed_datasets: + raise ValueError("No processed datasets available for analysis") + + # Loop over processed datasets + for dataset, events_list in self.processed_datasets.items(): + # Get metadata from first event in the list + if not events_list: + continue + _, metadata = events_list[0] process_name = metadata["process"] # Skip datasets not explicitly requested in config @@ -1844,8 +1882,8 @@ def _prepare_data( dataset_stats = defaultdict(int) - # Loop over ROOT files associated with the dataset - for idx, (file_path, tree) in enumerate(content["files"].items()): + # Loop over events in the processed dataset + for idx, (events, file_metadata) in enumerate(events_list): # Honour file limit if set in configuration if ( config.general.max_files != -1 @@ -1856,32 +1894,14 @@ def _prepare_data( ) break - # Determine output directory for preprocessed files - output_dir = ( - f"output/{dataset}/file__{idx}/" - if not config.general.preprocessed_dir - else f"{config.general.preprocessed_dir}/{dataset}/file__{idx}/" - ) + # Count skimmed events + dataset_stats["Skimmed"] += len(events) - # Preprocess ROOT files into skimmed format using uproot or dask - if config.general.run_preprocessing: - if config.general.preprocessor == "uproot": - pre_process_uproot( - file_path, - tree, - output_dir, - config, - is_mc=(dataset != "data"), - ) - elif config.general.preprocessor == "dask": - pre_process_dak( - file_path, - tree, - output_dir + f"/part{idx}.root", - config, - is_mc=(dataset != "data"), - ) + # Run preprocessing pipeline and store processed results + processed_data, stats = self._prepare_data_for_tracing(events, process_name) + all_events[f"{dataset}___{process_name}"][f"file__{idx}"][f"events_{idx}"] = (processed_data, file_metadata) +<<<<<<< HEAD # Discover skimmed files and summarise retained events skimmed_files = glob.glob(f"{output_dir}/part*.root") skimmed_files = [f"{f}:{tree}" for f in skimmed_files] @@ -2063,6 +2083,107 @@ def record_mva_entry( presel_ch, process_name, ) +======= + dataset_stats["Baseline (Analysis)"] += stats["baseline_analysis"] + dataset_stats["Baseline (MVA)"] += stats["baseline_mva"] + for ch, count in stats["channels"].items(): + ch_name = f"Channel: {ch}" + dataset_stats[ch_name] += count + + # ------------------------------------------------------ + # If MVA training is enabled, collect data for MVA models + # ------------------------------------------------------ + # Helper to extract class name and associated process names + def parse_class_entry(entry: Union[str, dict[str, list[str]]]) -> tuple[str, list[str]]: + """ + Parse MVA class entry to extract class name and associated process names. + + Parameters + ---------- + entry : Union[str, dict[str, list[str]]] + MVA class entry, either a string (process name) or a dictionary + mapping class name to list of process names. + + Returns + ------- + tuple[str, list[str]] + A tuple containing: + - class_name: Name of the MVA class + - process_names: List of process names associated with this class + + Raises + ------ + ValueError + If entry is neither a string nor a dictionary. + """ + if isinstance(entry, str): + return entry, [entry] + if isinstance(entry, dict): + return next(iter(entry.items())) + raise ValueError(f"Invalid MVA class type: {type(entry)}. \ + Allowed types are str or dict.") + + # Helper to record MVA data + def record_mva_entry( + mva_data: dict[str, dict[str, list[tuple[dict, int]]]], + cfg_name: str, + class_label: str, + presel_ch: dict[str, Any], + process_name: str + ) -> None: + """ + Record MVA training data for a specific class and process. + + Parameters + ---------- + mva_data : dict[str, dict[str, list[tuple[dict, int]]]] + Nested dictionary storing MVA training data, structured as: + mva_data[config_name][class_name] = [(objects_dict, event_count), ...] + cfg_name : str + Name of the MVA configuration. + class_label : str + Label for the MVA class (e.g., 'signal', 'background'). + presel_ch : dict[str, Any] + Preselection channel data containing 'mva_objects' and 'mva_nevents'. + process_name : str + Name of the physics process being recorded. + + Returns + ------- + None + Modifies mva_data in place by appending new training data. + """ + nevents = presel_ch["mva_nevents"] + logger.debug( + f"Adding {nevents} events from process '{process_name}' to MVA class '{class_label}'." + ) + mva_data[cfg_name][class_label].append( + (presel_ch["mva_objects"], nevents) + ) + + # Collect training data for MVA, if enabled + if config.mva and config.general.run_mva_training: + nominal = processed_data.get("nominal", {}) + presel_ch = nominal.get("__presel") + if presel_ch: + for mva_cfg in config.mva: + seen = set() # track classes to avoid duplicates + # iterate training and plot classes in order + for entry in chain(mva_cfg.classes, mva_cfg.plot_classes): + class_name, proc_names = parse_class_entry(entry) + # fallback default + if not class_name or not proc_names: + class_name = process_name + proc_names = [process_name] + # skip duplicates + if class_name in seen: + continue + seen.add(class_name) + # record only if this process applies + if process_name in proc_names: + record_mva_entry(mva_data, mva_cfg.name, class_name, presel_ch, process_name) + +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) row = {"Dataset": dataset, "Process": process_name} row.update(dataset_stats) @@ -2109,6 +2230,7 @@ def record_mva_entry( ] table_data.append(formatted_row) +<<<<<<< HEAD logger.info( "📊 Data Preparation Summary\n" + tabulate( @@ -2116,6 +2238,9 @@ def record_mva_entry( ) + "\n" ) +======= + logger.info("📊 Data Processing Summary\n" + tabulate(table_data, headers=headers, tablefmt="grid", stralign="right") + "\n") +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) # Run MVA training after all datasets are processed models = {} @@ -2165,7 +2290,7 @@ def record_mva_entry( # Cut Optimisation via Gradient Ascent # ------------------------------------------------------------------------- def run_analysis_optimisation( - self, fileset: dict[str, dict[str, Any]] + self ) -> Tuple[dict[str, jnp.ndarray], jnp.ndarray]: """ Perform gradient-based optimisation of analysis selection cuts and @@ -2189,7 +2314,7 @@ def run_analysis_optimisation( - Final JAX scalar p-value """ # Log a summary of the configuration being used for this run - self._log_config_summary(fileset) + self._log_config_summary() cache_dir = "/tmp/gradients_analysis/" # --------------------------------------------------------------------- # If not just plotting, begin gradient-based optimisation chain @@ -2212,6 +2337,7 @@ def run_analysis_optimisation( # --------------------------------------------------------------------- # 2. Preprocess events and extract MVA models (if any) # --------------------------------------------------------------------- +<<<<<<< HEAD processed_data, mva_models, mva_nets, mva_data = ( self._prepare_data( all_parameters, @@ -2220,6 +2346,13 @@ def run_analysis_optimisation( run_and_cache=run_and_cache, cache_dir=cache_dir, ) +======= + processed_data, mva_models, mva_nets, mva_data = self._prepare_data( + all_parameters, + read_from_cache=read_from_cache, + run_and_cache=run_and_cache, + cache_dir=cache_dir, +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) ) # Add MVA model parameters to aux tree (flattened by name) @@ -2265,7 +2398,7 @@ def run_analysis_optimisation( # Collect relevant processes and systematics # ---------------------------------------------------------------------- processes, systematics = infer_processes_and_systematics( - fileset, self.config.systematics, self.config.corrections + self.processed_datasets, self.config.systematics, self.config.corrections ) logger.info(f"Processes: {processes}") logger.info(f"Systematics: {systematics}") diff --git a/analysis/nondiff.py b/analysis/nondiff.py index 87b0929..31d81b6 100644 --- a/analysis/nondiff.py +++ b/analysis/nondiff.py @@ -3,7 +3,13 @@ import os import warnings from collections import defaultdict +<<<<<<< HEAD from typing import Any, Literal, Optional +======= +from functools import reduce +from pathlib import Path +from typing import Any, Dict, List, Literal, Optional, Tuple +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) import awkward as ak import cabinetry @@ -16,11 +22,17 @@ from analysis.base import Analysis from user.cuts import lumi_mask +<<<<<<< HEAD from utils.output_files import ( save_histograms_to_pickle, save_histograms_to_root, ) from utils.preproc import pre_process_dak, pre_process_uproot +======= +from utils.output_files import (load_histograms_from_pickle, + save_histograms_to_pickle, + save_histograms_to_root) +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) from utils.stats import get_cabinetry_rebinning_router # ----------------------------- @@ -44,18 +56,19 @@ # ----------------------------- class NonDiffAnalysis(Analysis): - def __init__(self, config: dict[str, Any]) -> None: + def __init__(self, config: dict[str, Any], processed_datasets: Optional[Dict[str, List[Tuple[Any, Dict[str, Any]]]]] = None) -> None: """ - Initialize ZprimeAnalysis with configuration for systematics, corrections, - and channels. + Initialize ZprimeAnalysis with configuration and processed datasets. Parameters ---------- config : dict Configuration dictionary with 'systematics', 'corrections', 'channels', and 'general'. + processed_datasets : Optional[Dict[str, List[Tuple[Any, Dict[str, Any]]]]], optional + Pre-processed datasets from skimming, by default None """ - super().__init__(config) + super().__init__(config, processed_datasets) self.nD_hists_per_region = self._init_histograms() def _prepare_dirs(self): @@ -382,54 +395,36 @@ def run_fit( return data, results, prefit_prediction, postfit_prediction - def run_analysis_chain(self, fileset): + def run_analysis_chain(self): + """ + Run the complete non-differentiable analysis chain using pre-processed datasets. + """ config = self.config - for dataset, content in fileset.items(): - metadata = content["metadata"] - metadata["dataset"] = dataset - process_name = metadata["process"] - if (req_processes := config.general.processes) is not None: - if process_name not in req_processes: - continue +<<<<<<< HEAD os.makedirs( f"{config.general.output_dir}/{dataset}", exist_ok=True ) - +======= + if not self.processed_datasets: + raise ValueError("No processed datasets provided to analysis") +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) + + # Loop over processed datasets + for dataset_name, events_list in self.processed_datasets.items(): + os.makedirs(f"{config.general.output_dir}/{dataset_name}", exist_ok=True) logger.info("========================================") - logger.info(f"🚀 Processing dataset: {dataset}") + logger.info(f"🚀 Processing dataset: {dataset_name}") - for idx, (file_path, tree) in enumerate(content["files"].items()): - output_dir = ( - f"output/{dataset}/file__{idx}/" - if not config.general.preprocessed_dir - else f"{config.general.preprocessed_dir}/{dataset}/file__{idx}/" - ) - if ( - config.general.max_files != -1 - and idx >= config.general.max_files - ): - continue - if config.general.run_preprocessing: - logger.info(f"🔍 Preprocessing input file: {file_path}") - logger.info(f"➡️ Writing to: {output_dir}") - if config.general.preprocessor == "uproot": - pre_process_uproot( - file_path, - tree, - output_dir, - config, - is_mc=(dataset != "data"), - ) - elif config.general.preprocessor == "dask": - pre_process_dak( - file_path, - tree, - output_dir + f"/part{idx}.root", - config, - is_mc=(dataset != "data"), - ) + # Process each (events, metadata) tuple + if config.general.run_histogramming: + for events, metadata in events_list: + logger.info(f"📘 Processing events for {dataset_name}") + logger.info("📈 Processing for non-differentiable analysis") + self.process(events, metadata) + logger.info("📈 Non-differentiable histogram-filling complete.") +<<<<<<< HEAD skimmed_files = glob.glob(f"{output_dir}/part*.root") skimmed_files = [f"{f}:{tree}" for f in skimmed_files] remaining = sum( @@ -453,6 +448,9 @@ def run_analysis_chain(self, fileset): ) logger.info(f"🏁 Finished dataset: {dataset}\n") +======= + logger.info(f"🏁 Finished dataset: {dataset_name}\n") +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) # Report end of processing logger.info("✅ All datasets processed.") diff --git a/datasets/nanoaods.json b/datasets/nanoaods.json index 704dc10..2707484 100644 --- a/datasets/nanoaods.json +++ b/datasets/nanoaods.json @@ -3,2823 +3,2833 @@ "nominal": { "files": [ { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M400_W4_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/100000/53682A49-E9C6-984F-A484-AB15E8D6F26F.root", - "nevts": 567823, - "nevts_wt": 567823.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/45046F71-EB72-974D-BF4A-56A9C1B44524.root", + "nevts": 0, + "nevts_wt": 0.0 + }, + { + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/22BAB5D2-9E3F-E440-AB30-AE6DBFDF6C83.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M400_W4_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/100000/D3E6C37E-FBC1-3A42-8082-7C3F876DE7AC.root", - "nevts": 2304, - "nevts_wt": 2304.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/59B9ED38-8DDA-8049-BB4E-ACF0E257E79C.root", + "nevts": 0, + "nevts_wt": 0.0 + }, + { + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7CFC8EB0-EC72-FD4C-8F03-CAECF5445EED.root", + "nevts": 0, + "nevts_wt": 0.0 } ], - "nevts_total": 570127, - "nevts_wt_total": 570127.0 + "nevts_total": 0, + "nevts_wt_total": 0.0 } }, "ttbar_semilep": { "nominal": { "files": [ { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0605BFCA-C65A-CA4C-8A6A-9148DC1B7B9A.root", - "nevts": 1344000, - "nevts_wt": 398074464.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0605BFCA-C65A-CA4C-8A6A-9148DC1B7B9A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0C0F16E0-3063-F94A-8089-6964A9A0E22E.root", - "nevts": 1344000, - "nevts_wt": 398000736.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0C0F16E0-3063-F94A-8089-6964A9A0E22E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/269F3713-D203-8843-8A31-2F3C0287ED1E.root", - "nevts": 847000, - "nevts_wt": 255425904.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/269F3713-D203-8843-8A31-2F3C0287ED1E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2BBB8900-6637-514A-A80F-17542BBECC1A.root", - "nevts": 1176000, - "nevts_wt": 349972704.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2BBB8900-6637-514A-A80F-17542BBECC1A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/37C523BE-D655-694D-B153-5A751632FF7D.root", - "nevts": 1344000, - "nevts_wt": 398028384.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/37C523BE-D655-694D-B153-5A751632FF7D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/45170D2A-584E-224D-938F-1AF554EF9F9D.root", - "nevts": 817000, - "nevts_wt": 246354544.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/45170D2A-584E-224D-938F-1AF554EF9F9D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5DD53BE3-F9BD-7140-A248-708BBAE6250B.root", - "nevts": 1344000, - "nevts_wt": 398062944.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5DD53BE3-F9BD-7140-A248-708BBAE6250B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/845DDDCD-18FB-414E-81E5-629CE68B7584.root", - "nevts": 924000, - "nevts_wt": 278068896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/845DDDCD-18FB-414E-81E5-629CE68B7584.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A4E514-322F-F74B-AC7C-7B8E205AA189.root", - "nevts": 756000, - "nevts_wt": 227975312.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A4E514-322F-F74B-AC7C-7B8E205AA189.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A9F24F-82B2-CF4B-8CEB-F0DC24DF4D30.root", - "nevts": 277000, - "nevts_wt": 83502352.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A9F24F-82B2-CF4B-8CEB-F0DC24DF4D30.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98FF0313-4D72-E84D-9539-AF9098719F64.root", - "nevts": 837000, - "nevts_wt": 252414480.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98FF0313-4D72-E84D-9539-AF9098719F64.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A00B0BA1-A526-3E40-8D4E-08B993B96C0D.root", - "nevts": 502000, - "nevts_wt": 151330224.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A00B0BA1-A526-3E40-8D4E-08B993B96C0D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/AB1B1697-748A-2749-B489-13419B0467D4.root", - "nevts": 1400000, - "nevts_wt": 414003744.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/AB1B1697-748A-2749-B489-13419B0467D4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B1C6AB78-7B2F-9242-9E78-8D4612704EBD.root", - "nevts": 1344000, - "nevts_wt": 398083680.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B1C6AB78-7B2F-9242-9E78-8D4612704EBD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CD46D073-75B2-E249-8B48-A6D6AF9AC6BB.root", - "nevts": 1344000, - "nevts_wt": 398005344.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CD46D073-75B2-E249-8B48-A6D6AF9AC6BB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D5244B90-484A-0C4B-A2E1-FC61B43BA074.root", - "nevts": 801000, - "nevts_wt": 241536752.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D5244B90-484A-0C4B-A2E1-FC61B43BA074.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DA2C2988-D459-6F46-B39E-778EC1D90276.root", - "nevts": 968000, - "nevts_wt": 290648736.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DA2C2988-D459-6F46-B39E-778EC1D90276.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DD8F059C-D5F2-8543-B8C7-E6902BF8D475.root", - "nevts": 1220000, - "nevts_wt": 362596896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DD8F059C-D5F2-8543-B8C7-E6902BF8D475.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F9842AF1-DF1A-164B-868B-4B2F44E2D337.root", - "nevts": 832000, - "nevts_wt": 250811184.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F9842AF1-DF1A-164B-868B-4B2F44E2D337.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA590B06-29A5-2E44-B8C0-3DDF2E4EDE56.root", - "nevts": 836000, - "nevts_wt": 252042384.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA590B06-29A5-2E44-B8C0-3DDF2E4EDE56.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FF354815-9EFF-DD4B-8FE4-6E8184346F69.root", - "nevts": 840000, - "nevts_wt": 253288176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FF354815-9EFF-DD4B-8FE4-6E8184346F69.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0025EA45-516D-FA44-90D5-57C724BE1288.root", - "nevts": 1344000, - "nevts_wt": 398034144.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0025EA45-516D-FA44-90D5-57C724BE1288.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/04089478-525E-924A-90F0-E5DD4999CAFA.root", - "nevts": 1008000, - "nevts_wt": 302078304.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/04089478-525E-924A-90F0-E5DD4999CAFA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0466CE11-3870-184D-84B7-25AF38B82FDA.root", - "nevts": 796000, - "nevts_wt": 239966896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0466CE11-3870-184D-84B7-25AF38B82FDA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/054C5ED8-9E58-5049-9967-77452D48F061.root", - "nevts": 588000, - "nevts_wt": 177263248.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/054C5ED8-9E58-5049-9967-77452D48F061.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/10A4B734-3471-2D45-BAF0-FA3ECA06116F.root", - "nevts": 849000, - "nevts_wt": 255930544.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/10A4B734-3471-2D45-BAF0-FA3ECA06116F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/257843DE-C45F-184D-9D55-DE34507E676A.root", - "nevts": 1344000, - "nevts_wt": 398016288.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/257843DE-C45F-184D-9D55-DE34507E676A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/26950AAC-CD42-1C4B-8A09-E79E729FDD68.root", - "nevts": 716000, - "nevts_wt": 215856048.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/26950AAC-CD42-1C4B-8A09-E79E729FDD68.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6ACD4464-D195-0443-A127-E5E4A4119C64.root", - "nevts": 704000, - "nevts_wt": 212256080.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6ACD4464-D195-0443-A127-E5E4A4119C64.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6D1FE144-4CC1-6E4D-9A91-A6C36680D9EB.root", - "nevts": 725000, - "nevts_wt": 218585968.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6D1FE144-4CC1-6E4D-9A91-A6C36680D9EB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6F78A4CF-97BC-7741-B6E4-DE51CF82EE6E.root", - "nevts": 1148000, - "nevts_wt": 342034848.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6F78A4CF-97BC-7741-B6E4-DE51CF82EE6E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/70F91CF1-891B-AC4D-9806-82AB5B12229E.root", - "nevts": 924000, - "nevts_wt": 277968672.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/70F91CF1-891B-AC4D-9806-82AB5B12229E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/77F32248-92AB-614B-B9CE-4448CDBC2390.root", - "nevts": 772000, - "nevts_wt": 232755408.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/77F32248-92AB-614B-B9CE-4448CDBC2390.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7C94DA4D-C0B5-8747-B6F8-E4903C610777.root", - "nevts": 1344000, - "nevts_wt": 398028384.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7C94DA4D-C0B5-8747-B6F8-E4903C610777.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7E0D502E-992A-D94B-B22B-9A9E4DAA2135.root", - "nevts": 1344000, - "nevts_wt": 398055456.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7E0D502E-992A-D94B-B22B-9A9E4DAA2135.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/81CF6DA7-77E1-BF4B-8A64-D9C5E41FC562.root", - "nevts": 1348000, - "nevts_wt": 399232800.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/81CF6DA7-77E1-BF4B-8A64-D9C5E41FC562.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/82919C1F-33F4-C64F-95F5-300D200B08FE.root", - "nevts": 1346000, - "nevts_wt": 398677536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/82919C1F-33F4-C64F-95F5-300D200B08FE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/84F1F4C7-73E2-924D-BBD8-CC947486E5F6.root", - "nevts": 894000, - "nevts_wt": 269459424.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/84F1F4C7-73E2-924D-BBD8-CC947486E5F6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9EC205DD-F082-2E44-9EB5-03F29950A516.root", - "nevts": 1192000, - "nevts_wt": 354557088.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9EC205DD-F082-2E44-9EB5-03F29950A516.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/AAF0A922-439A-C044-A034-41EA8ED6726B.root", - "nevts": 1344000, - "nevts_wt": 398046240.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/AAF0A922-439A-C044-A034-41EA8ED6726B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/C1323D33-C88D-3E4A-81DA-99817B2E4C9D.root", - "nevts": 971000, - "nevts_wt": 291502944.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/C1323D33-C88D-3E4A-81DA-99817B2E4C9D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CAEF3144-345D-DC41-B0B8-24A9472402E0.root", - "nevts": 826000, - "nevts_wt": 249088112.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CAEF3144-345D-DC41-B0B8-24A9472402E0.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CCEF8E97-3971-EF44-8C30-290C3FA39C55.root", - "nevts": 553000, - "nevts_wt": 166703504.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CCEF8E97-3971-EF44-8C30-290C3FA39C55.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E1A64115-6416-AE48-9607-8A5E1A7ECD65.root", - "nevts": 856000, - "nevts_wt": 258034224.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E1A64115-6416-AE48-9607-8A5E1A7ECD65.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E202BF8A-CD57-2A4F-B7F3-1C27534849AC.root", - "nevts": 1289000, - "nevts_wt": 382327200.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E202BF8A-CD57-2A4F-B7F3-1C27534849AC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F43B0F3D-15FC-AB44-87AD-FD46AA0895B9.root", - "nevts": 1344000, - "nevts_wt": 397970208.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F43B0F3D-15FC-AB44-87AD-FD46AA0895B9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F5E9EC3E-3496-A842-A407-544FBAB06F6A.root", - "nevts": 1348000, - "nevts_wt": 399270816.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F5E9EC3E-3496-A842-A407-544FBAB06F6A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F8F5865F-5E5E-5C49-9044-99D712F0F18B.root", - "nevts": 1056000, - "nevts_wt": 315763488.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F8F5865F-5E5E-5C49-9044-99D712F0F18B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0AFFFA0B-438F-0B4E-A74E-344E41B69B2D.root", - "nevts": 739000, - "nevts_wt": 222850480.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0AFFFA0B-438F-0B4E-A74E-344E41B69B2D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/170D90C6-7617-EB45-876D-1BC22C403711.root", - "nevts": 1344000, - "nevts_wt": 398079648.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/170D90C6-7617-EB45-876D-1BC22C403711.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/18F4714B-3B7D-104F-AF23-5B323B762540.root", - "nevts": 690000, - "nevts_wt": 208044464.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/18F4714B-3B7D-104F-AF23-5B323B762540.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/28ED52B8-0FE2-F44D-8975-C830DDD87656.root", - "nevts": 887000, - "nevts_wt": 267427216.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/28ED52B8-0FE2-F44D-8975-C830DDD87656.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/32FEAFAD-1126-CC41-9687-B2B563700EA3.root", - "nevts": 1351000, - "nevts_wt": 400031136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/32FEAFAD-1126-CC41-9687-B2B563700EA3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/3432F14A-FEF0-9B46-B0CC-9452668E3F04.root", - "nevts": 1301000, - "nevts_wt": 385764192.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/3432F14A-FEF0-9B46-B0CC-9452668E3F04.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/389927B8-6C48-6D40-891C-2D245C0AB873.root", - "nevts": 1397000, - "nevts_wt": 413188704.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/389927B8-6C48-6D40-891C-2D245C0AB873.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/498606AE-2EFE-3244-B6C6-9D7130102D90.root", - "nevts": 1344000, - "nevts_wt": 398052576.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/498606AE-2EFE-3244-B6C6-9D7130102D90.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/5644A12B-798F-F445-98E1-CEC588E7D7B1.root", - "nevts": 1344000, - "nevts_wt": 398085408.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/5644A12B-798F-F445-98E1-CEC588E7D7B1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7028AB38-566C-584B-91CD-AD65C1CAB6AF.root", - "nevts": 1344000, - "nevts_wt": 397990944.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7028AB38-566C-584B-91CD-AD65C1CAB6AF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7449AE39-6D6D-4341-B389-9DA5EB0A7D57.root", - "nevts": 1338000, - "nevts_wt": 396382176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7449AE39-6D6D-4341-B389-9DA5EB0A7D57.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7A0A17BD-3A01-6D41-B1E1-730116978C41.root", - "nevts": 1344000, - "nevts_wt": 398029536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7A0A17BD-3A01-6D41-B1E1-730116978C41.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/8D65A33A-CF86-894B-ABC7-6905A074145C.root", - "nevts": 756000, - "nevts_wt": 227958896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/8D65A33A-CF86-894B-ABC7-6905A074145C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/937C685E-5DEB-BC41-A9DC-ED1DA345C216.root", - "nevts": 1336000, - "nevts_wt": 395684640.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/937C685E-5DEB-BC41-A9DC-ED1DA345C216.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B28F335F-DB03-D740-9333-E4C70FFC564D.root", - "nevts": 968000, - "nevts_wt": 290650464.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B28F335F-DB03-D740-9333-E4C70FFC564D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/C956C5DE-CC3B-F244-815E-83A6A4CED3D2.root", - "nevts": 756000, - "nevts_wt": 227933360.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/C956C5DE-CC3B-F244-815E-83A6A4CED3D2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CBA39E34-6BAD-B740-AB89-ECD745490CE5.root", - "nevts": 810000, - "nevts_wt": 244125008.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CBA39E34-6BAD-B740-AB89-ECD745490CE5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/D1257262-C0FA-D345-8A82-8E4EB1551830.root", - "nevts": 1406000, - "nevts_wt": 415762272.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/D1257262-C0FA-D345-8A82-8E4EB1551830.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E79D4874-C489-0242-8347-0A3FF8E74A69.root", - "nevts": 729000, - "nevts_wt": 219773392.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E79D4874-C489-0242-8347-0A3FF8E74A69.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EE71C83D-685F-6E4A-99C0-9ED7578417DF.root", - "nevts": 1344000, - "nevts_wt": 398008800.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EE71C83D-685F-6E4A-99C0-9ED7578417DF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EECE0C71-B5AF-9346-8C67-8D9C1E9D4EDA.root", - "nevts": 1344000, - "nevts_wt": 398005920.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EECE0C71-B5AF-9346-8C67-8D9C1E9D4EDA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EF3B5E82-FA5F-6B45-A5F1-8D859F86413F.root", - "nevts": 756000, - "nevts_wt": 227917552.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EF3B5E82-FA5F-6B45-A5F1-8D859F86413F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F03130A4-DE71-1043-90F6-FFB6930185B6.root", - "nevts": 924000, - "nevts_wt": 277999200.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F03130A4-DE71-1043-90F6-FFB6930185B6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/08FCB2ED-176B-064B-85AB-37B898773B98.root", - "nevts": 1233000, - "nevts_wt": 366386400.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/08FCB2ED-176B-064B-85AB-37B898773B98.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0BD60695-8388-5141-B157-32AE1A3B4885.root", - "nevts": 1365000, - "nevts_wt": 404103456.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0BD60695-8388-5141-B157-32AE1A3B4885.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0F91D1FB-8209-154F-BBD4-DD8A3BF8E20B.root", - "nevts": 1344000, - "nevts_wt": 398066976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0F91D1FB-8209-154F-BBD4-DD8A3BF8E20B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/18C263F0-0CA5-EF45-A6D4-E4FE3578ADE4.root", - "nevts": 706000, - "nevts_wt": 212806320.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/18C263F0-0CA5-EF45-A6D4-E4FE3578ADE4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/1D63950A-E444-E049-BFF0-D33296A8A6CA.root", - "nevts": 1344000, - "nevts_wt": 398024928.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/1D63950A-E444-E049-BFF0-D33296A8A6CA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2D439FBF-CF8D-654F-93B1-2F7D0A74B0CB.root", - "nevts": 1144000, - "nevts_wt": 340934112.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2D439FBF-CF8D-654F-93B1-2F7D0A74B0CB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2E85B521-A37E-0044-8662-BFB0C1291422.root", - "nevts": 1344000, - "nevts_wt": 398039328.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2E85B521-A37E-0044-8662-BFB0C1291422.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/301EA765-5A14-1B43-ADED-D3BE6147134B.root", - "nevts": 905000, - "nevts_wt": 272638944.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/301EA765-5A14-1B43-ADED-D3BE6147134B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38728C1E-8B09-954D-8F53-FD7D939FFFBE.root", - "nevts": 749000, - "nevts_wt": 225785296.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38728C1E-8B09-954D-8F53-FD7D939FFFBE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38732C5E-2EDA-B04E-82EF-D2D59660EC70.root", - "nevts": 821000, - "nevts_wt": 247512176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38732C5E-2EDA-B04E-82EF-D2D59660EC70.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4F3C361D-258C-1D41-AEEA-48CB87D3839A.root", - "nevts": 1402000, - "nevts_wt": 414572256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4F3C361D-258C-1D41-AEEA-48CB87D3839A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/515BA035-03D5-1D4E-A190-DA20F24527B3.root", - "nevts": 1344000, - "nevts_wt": 398006496.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/515BA035-03D5-1D4E-A190-DA20F24527B3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/52BE289E-E098-294C-BBF4-976248552297.root", - "nevts": 1326000, - "nevts_wt": 392927328.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/52BE289E-E098-294C-BBF4-976248552297.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/5406CD79-47C3-0345-9FEB-BA4FF4B2BC71.root", - "nevts": 1344000, - "nevts_wt": 398053152.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/5406CD79-47C3-0345-9FEB-BA4FF4B2BC71.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/581CBD80-7D60-5E42-9952-B1234440AE4F.root", - "nevts": 336000, - "nevts_wt": 101266288.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/581CBD80-7D60-5E42-9952-B1234440AE4F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/608E3128-EBD8-CD4C-A48C-2C35C4499480.root", - "nevts": 1344000, - "nevts_wt": 398044512.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/608E3128-EBD8-CD4C-A48C-2C35C4499480.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6E5733F4-BF92-7349-A50A-2C0A6BA4E4CD.root", - "nevts": 1344000, - "nevts_wt": 398038176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6E5733F4-BF92-7349-A50A-2C0A6BA4E4CD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/733A7BD3-3F27-F345-A8F4-BE11DC1AF91A.root", - "nevts": 1328000, - "nevts_wt": 393494688.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/733A7BD3-3F27-F345-A8F4-BE11DC1AF91A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7681408F-8BD8-864E-B938-AFEF0F1E3CB0.root", - "nevts": 854000, - "nevts_wt": 257506480.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7681408F-8BD8-864E-B938-AFEF0F1E3CB0.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/77B512A9-44FC-4843-941D-AC3CD4245B1A.root", - "nevts": 1344000, - "nevts_wt": 398030688.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/77B512A9-44FC-4843-941D-AC3CD4245B1A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/788BA782-7116-5643-A6FC-1EA2493298F7.root", - "nevts": 252000, - "nevts_wt": 75965584.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/788BA782-7116-5643-A6FC-1EA2493298F7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/799CCCA2-BF94-2C48-9B4C-BE0B680504D2.root", - "nevts": 840000, - "nevts_wt": 253285136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/799CCCA2-BF94-2C48-9B4C-BE0B680504D2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7D120E49-E712-B74B-9E1C-67F2D0057995.root", - "nevts": 168000, - "nevts_wt": 50616848.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7D120E49-E712-B74B-9E1C-67F2D0057995.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/9D743040-FBD3-B349-AC43-F7F6C2A2E76F.root", - "nevts": 1385000, - "nevts_wt": 409731552.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/9D743040-FBD3-B349-AC43-F7F6C2A2E76F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B394935D-7CE4-CC48-9D5F-21691247CB69.root", - "nevts": 1344000, - "nevts_wt": 398041632.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B394935D-7CE4-CC48-9D5F-21691247CB69.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B5A479F2-4790-6D47-8D86-8E0072E69709.root", - "nevts": 830000, - "nevts_wt": 250218384.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B5A479F2-4790-6D47-8D86-8E0072E69709.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B68E5826-9098-DA43-9AC1-EDAD206E1F49.root", - "nevts": 756000, - "nevts_wt": 227923632.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B68E5826-9098-DA43-9AC1-EDAD206E1F49.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BAED748E-4A60-ED47-A943-8BD1C3ED1C30.root", - "nevts": 1344000, - "nevts_wt": 398032992.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BAED748E-4A60-ED47-A943-8BD1C3ED1C30.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BCAD1751-CBCC-BE4F-80CB-8EE1A4E9E64B.root", - "nevts": 1330000, - "nevts_wt": 393945696.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BCAD1751-CBCC-BE4F-80CB-8EE1A4E9E64B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C008FFA3-9764-BB4A-BD4B-4D74BF8C8DFB.root", - "nevts": 1109000, - "nevts_wt": 330883488.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C008FFA3-9764-BB4A-BD4B-4D74BF8C8DFB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C749BBA3-17D9-824F-BE96-E2BD29DD5435.root", - "nevts": 1344000, - "nevts_wt": 398053728.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C749BBA3-17D9-824F-BE96-E2BD29DD5435.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/CD5106BD-A080-F243-9C9E-B6823002BA13.root", - "nevts": 1344000, - "nevts_wt": 398030112.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/CD5106BD-A080-F243-9C9E-B6823002BA13.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D2164C22-DAC7-E74B-A884-1C316271AA1A.root", - "nevts": 1176000, - "nevts_wt": 350033760.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D2164C22-DAC7-E74B-A884-1C316271AA1A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6AF8817-1087-DB4A-955A-0C14848E8F54.root", - "nevts": 1344000, - "nevts_wt": 398015136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6AF8817-1087-DB4A-955A-0C14848E8F54.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DA782B23-D9A2-1549-96B3-42ED362DD0B8.root", - "nevts": 741000, - "nevts_wt": 223344784.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DA782B23-D9A2-1549-96B3-42ED362DD0B8.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DCFF4026-63BC-DC42-BA91-7C177EA82D6B.root", - "nevts": 1312000, - "nevts_wt": 388886688.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DCFF4026-63BC-DC42-BA91-7C177EA82D6B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F1ECF9B1-276C-EC4E-916A-E5A4E090418E.root", - "nevts": 1377000, - "nevts_wt": 407471904.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F1ECF9B1-276C-EC4E-916A-E5A4E090418E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F6C0248E-6AC1-CE45-BEFA-56A735AA214A.root", - "nevts": 870000, - "nevts_wt": 262335216.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F6C0248E-6AC1-CE45-BEFA-56A735AA214A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FA5B9B55-06B4-A640-AF3C-7B44552E2393.root", - "nevts": 924000, - "nevts_wt": 278075232.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FA5B9B55-06B4-A640-AF3C-7B44552E2393.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FB5A9307-B677-B947-8970-21DA6BD7C9C2.root", - "nevts": 1347000, - "nevts_wt": 398800224.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FB5A9307-B677-B947-8970-21DA6BD7C9C2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FFA621C8-C16B-5740-AB60-84246D9B2FD1.root", - "nevts": 1330000, - "nevts_wt": 393988320.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FFA621C8-C16B-5740-AB60-84246D9B2FD1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/082C7405-F649-D24A-859A-490226F647D6.root", - "nevts": 336000, - "nevts_wt": 101258992.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/082C7405-F649-D24A-859A-490226F647D6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0B4EBF8D-E812-A648-B3D5-0656D7A916A2.root", - "nevts": 997000, - "nevts_wt": 298918944.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0B4EBF8D-E812-A648-B3D5-0656D7A916A2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/24E12E9B-16FC-4B49-8FC5-A1DA55F66812.root", - "nevts": 504000, - "nevts_wt": 151972272.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/24E12E9B-16FC-4B49-8FC5-A1DA55F66812.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/26000357-1AAE-9B42-82E6-C0E8C73A6383.root", - "nevts": 931000, - "nevts_wt": 280059552.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/26000357-1AAE-9B42-82E6-C0E8C73A6383.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3A7F86F2-79CF-7144-97DC-AA39A86FF7A9.root", - "nevts": 1344000, - "nevts_wt": 398061792.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3A7F86F2-79CF-7144-97DC-AA39A86FF7A9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4C7FB836-6EFD-734C-BE1B-98D559F9242E.root", - "nevts": 904000, - "nevts_wt": 272363040.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4C7FB836-6EFD-734C-BE1B-98D559F9242E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/531090D8-978E-4A42-8093-8243B45FCB13.root", - "nevts": 777000, - "nevts_wt": 234268112.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/531090D8-978E-4A42-8093-8243B45FCB13.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/599E5138-5CF6-9641-98C1-DDBB36520CBA.root", - "nevts": 1008000, - "nevts_wt": 302069088.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/599E5138-5CF6-9641-98C1-DDBB36520CBA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E264054-F583-3A44-A0E4-64FF48207D37.root", - "nevts": 916000, - "nevts_wt": 275806368.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E264054-F583-3A44-A0E4-64FF48207D37.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5EDEF575-F57C-8944-B483-667A8A72ED95.root", - "nevts": 861000, - "nevts_wt": 259580976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5EDEF575-F57C-8944-B483-667A8A72ED95.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/667E7CB1-F38C-D74B-A94E-8247C8F7CEF6.root", - "nevts": 1344000, - "nevts_wt": 397959264.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/667E7CB1-F38C-D74B-A94E-8247C8F7CEF6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6B0E9962-0874-854E-BCC4-99F3ECB4AEF1.root", - "nevts": 883000, - "nevts_wt": 266141904.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6B0E9962-0874-854E-BCC4-99F3ECB4AEF1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6E4E2647-6A09-4D45-8F1F-234D84FE70D1.root", - "nevts": 1344000, - "nevts_wt": 397965024.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6E4E2647-6A09-4D45-8F1F-234D84FE70D1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6EE99EF2-36D4-0242-90DE-027541664D97.root", - "nevts": 1328000, - "nevts_wt": 393465888.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6EE99EF2-36D4-0242-90DE-027541664D97.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/709A653D-2F2A-FA4F-A86D-69DD26091974.root", - "nevts": 813000, - "nevts_wt": 245083216.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/709A653D-2F2A-FA4F-A86D-69DD26091974.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76B84D2A-2AE4-AE4B-BA52-6144DD843FAE.root", - "nevts": 1348000, - "nevts_wt": 399160224.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76B84D2A-2AE4-AE4B-BA52-6144DD843FAE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/7DB85334-39F9-A246-87BE-29B6E07E74A4.root", - "nevts": 749000, - "nevts_wt": 225826032.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/7DB85334-39F9-A246-87BE-29B6E07E74A4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8D5CA583-60F1-9E47-93AC-7EB9E1360AE7.root", - "nevts": 924000, - "nevts_wt": 278061984.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8D5CA583-60F1-9E47-93AC-7EB9E1360AE7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A8175577-8AA3-D142-828B-C0D183AC1D6A.root", - "nevts": 749000, - "nevts_wt": 225771312.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A8175577-8AA3-D142-828B-C0D183AC1D6A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC9B54BF-8EC3-A04F-B747-32261F61760B.root", - "nevts": 924000, - "nevts_wt": 278069472.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC9B54BF-8EC3-A04F-B747-32261F61760B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B4252915-446F-294C-A936-9BAAC8E8088B.root", - "nevts": 168000, - "nevts_wt": 50596176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B4252915-446F-294C-A936-9BAAC8E8088B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BA27F623-45F5-E44B-ADC0-F1D3BBB3E99C.root", - "nevts": 738000, - "nevts_wt": 222475952.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BA27F623-45F5-E44B-ADC0-F1D3BBB3E99C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E67D5EE9-AEFB-0446-9BB4-757330B8A26B.root", - "nevts": 1344000, - "nevts_wt": 397997280.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E67D5EE9-AEFB-0446-9BB4-757330B8A26B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAC90209-246F-B94D-8AC8-42C27489B6AC.root", - "nevts": 1362000, - "nevts_wt": 403147296.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAC90209-246F-B94D-8AC8-42C27489B6AC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAF8DAA3-5F9C-C64D-B940-A4D96541702D.root", - "nevts": 720000, - "nevts_wt": 217092720.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAF8DAA3-5F9C-C64D-B940-A4D96541702D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ED783F3F-0E31-3F4F-96A4-2F9AE2772129.root", - "nevts": 1396000, - "nevts_wt": 412813728.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ED783F3F-0E31-3F4F-96A4-2F9AE2772129.root", + "nevts": 0, + "nevts_wt": 0.0 } ], - "nevts_total": 144722000, - "nevts_wt_total": 43139342352.0 + "nevts_total": 0, + "nevts_wt_total": 0.0 } }, "ttbar_had": { "nominal": { "files": [ { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0415B772-3CC8-A64E-9410-E622E18AF2E5.root", - "nevts": 672000, - "nevts_wt": 212433536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0415B772-3CC8-A64E-9410-E622E18AF2E5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/05329733-CCC3-7B43-A9CE-1B9035E25908.root", - "nevts": 266000, - "nevts_wt": 83597064.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/05329733-CCC3-7B43-A9CE-1B9035E25908.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/070B934A-FF76-7641-8B09-ED39C2A40259.root", - "nevts": 216000, - "nevts_wt": 67737224.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/070B934A-FF76-7641-8B09-ED39C2A40259.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/09492CF1-C5EC-5D41-AF8A-1F65FB6B47C1.root", - "nevts": 269000, - "nevts_wt": 84557704.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/09492CF1-C5EC-5D41-AF8A-1F65FB6B47C1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0BF4BFF2-D7F5-E645-A159-6315A2C6CEB3.root", - "nevts": 924000, - "nevts_wt": 292406656.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0BF4BFF2-D7F5-E645-A159-6315A2C6CEB3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/15697FF1-8ED1-2E49-9B5C-D75D2A4BC5BB.root", - "nevts": 672000, - "nevts_wt": 212451456.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/15697FF1-8ED1-2E49-9B5C-D75D2A4BC5BB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/174C0110-F892-1544-8C75-84D40D70FCEC.root", - "nevts": 1344000, - "nevts_wt": 425801856.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/174C0110-F892-1544-8C75-84D40D70FCEC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/22CEBB9F-2856-094C-8F11-193185CD8B7F.root", - "nevts": 1012000, - "nevts_wt": 320338176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/22CEBB9F-2856-094C-8F11-193185CD8B7F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C30A96B-A8BD-2A44-A245-431FEB560DAF.root", - "nevts": 336000, - "nevts_wt": 105837704.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C30A96B-A8BD-2A44-A245-431FEB560DAF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/32394808-31D1-B44A-9B73-255CFD2F2261.root", - "nevts": 1344000, - "nevts_wt": 425760256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/32394808-31D1-B44A-9B73-255CFD2F2261.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/34E15025-2C22-A34A-8D87-55824909C3E8.root", - "nevts": 130000, - "nevts_wt": 40771408.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/34E15025-2C22-A34A-8D87-55824909C3E8.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3CD72D89-6D8E-AF47-8634-BD3D227FA92F.root", - "nevts": 1344000, - "nevts_wt": 425719936.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3CD72D89-6D8E-AF47-8634-BD3D227FA92F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E2F3A35-0F41-294B-844E-3ED88F4E8898.root", - "nevts": 1008000, - "nevts_wt": 319145216.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E2F3A35-0F41-294B-844E-3ED88F4E8898.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E453A27-445E-3F4C-BDEC-A769C1DAC266.root", - "nevts": 1147000, - "nevts_wt": 363231616.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E453A27-445E-3F4C-BDEC-A769C1DAC266.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/442EA53A-1CA0-6543-BE94-F5C8A23AD080.root", - "nevts": 1362000, - "nevts_wt": 431488896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/442EA53A-1CA0-6543-BE94-F5C8A23AD080.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4B4C6EA0-60A7-D74D-950C-8128570E9935.root", - "nevts": 1344000, - "nevts_wt": 425758976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4B4C6EA0-60A7-D74D-950C-8128570E9935.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/54F3AB5C-090D-ED44-AC6E-5591227A368B.root", - "nevts": 757000, - "nevts_wt": 239400576.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/54F3AB5C-090D-ED44-AC6E-5591227A368B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/55923396-3A74-AD48-AFC0-06D4EBA59561.root", - "nevts": 168000, - "nevts_wt": 52681448.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/55923396-3A74-AD48-AFC0-06D4EBA59561.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56846E45-8873-0041-8580-B08F8E042B76.root", - "nevts": 420000, - "nevts_wt": 132491144.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56846E45-8873-0041-8580-B08F8E042B76.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56C25CF2-9FC2-BF4A-B995-EE4A437965AE.root", - "nevts": 924000, - "nevts_wt": 292395776.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56C25CF2-9FC2-BF4A-B995-EE4A437965AE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/69F11A32-56D2-724D-B88E-A183BAB30374.root", - "nevts": 1344000, - "nevts_wt": 425739136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/69F11A32-56D2-724D-B88E-A183BAB30374.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6D352B32-1043-BD4F-90F6-F00F5EFE007D.root", - "nevts": 738000, - "nevts_wt": 233425536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6D352B32-1043-BD4F-90F6-F00F5EFE007D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/749AADE3-79D5-9545-956D-85797B1AC591.root", - "nevts": 756000, - "nevts_wt": 239136256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/749AADE3-79D5-9545-956D-85797B1AC591.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7F61D088-0533-F94C-98C7-A5F7C5EB08E1.root", - "nevts": 291000, - "nevts_wt": 91581704.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7F61D088-0533-F94C-98C7-A5F7C5EB08E1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/802B859E-E7C5-7C4C-B633-F5FC00AFFE52.root", - "nevts": 50000, - "nevts_wt": 15690488.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/802B859E-E7C5-7C4C-B633-F5FC00AFFE52.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8260A498-D213-A14C-ACCD-013ADDFACA19.root", - "nevts": 684000, - "nevts_wt": 216298496.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8260A498-D213-A14C-ACCD-013ADDFACA19.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/86482EE1-98D6-F64F-935E-D1718921BD60.root", - "nevts": 1344000, - "nevts_wt": 425807616.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/86482EE1-98D6-F64F-935E-D1718921BD60.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8B9CFC04-6B23-AD44-841B-8D2EF227489F.root", - "nevts": 85000, - "nevts_wt": 26632936.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8B9CFC04-6B23-AD44-841B-8D2EF227489F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8FA74B6A-435F-824F-9AA4-3A00D95DD5E6.root", - "nevts": 9000, - "nevts_wt": 2826822.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8FA74B6A-435F-824F-9AA4-3A00D95DD5E6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/914B208F-0A9F-9645-A571-812DC0EEB1B9.root", - "nevts": 65000, - "nevts_wt": 20392568.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/914B208F-0A9F-9645-A571-812DC0EEB1B9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9370EDFA-5571-D346-8BC8-685B24B442FA.root", - "nevts": 480000, - "nevts_wt": 151514496.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9370EDFA-5571-D346-8BC8-685B24B442FA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ACD5CB4F-A3B2-9B4A-97B7-3C5878550ADD.root", - "nevts": 168000, - "nevts_wt": 52662488.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ACD5CB4F-A3B2-9B4A-97B7-3C5878550ADD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B34B80A5-CFFD-FD40-A459-59A20144F32F.root", - "nevts": 944000, - "nevts_wt": 298738176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B34B80A5-CFFD-FD40-A459-59A20144F32F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B66C0530-628C-804C-8C59-802ADDA5496F.root", - "nevts": 1366000, - "nevts_wt": 432731776.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B66C0530-628C-804C-8C59-802ADDA5496F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BFB28967-2245-4340-9B93-12C96C505A0E.root", - "nevts": 1344000, - "nevts_wt": 425784576.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BFB28967-2245-4340-9B93-12C96C505A0E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C08D1768-6DB1-414F-9309-D64EA65656CF.root", - "nevts": 666000, - "nevts_wt": 210533376.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C08D1768-6DB1-414F-9309-D64EA65656CF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C567DD5B-FF56-FC43-94CC-74E84999C028.root", - "nevts": 27000, - "nevts_wt": 8482528.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C567DD5B-FF56-FC43-94CC-74E84999C028.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C5E8EC67-E352-DD44-841D-EC896E7D64DA.root", - "nevts": 169000, - "nevts_wt": 52994288.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C5E8EC67-E352-DD44-841D-EC896E7D64DA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CFEC4DF3-8642-5A43-9DEF-9A85373C5ED6.root", - "nevts": 756000, - "nevts_wt": 239078656.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CFEC4DF3-8642-5A43-9DEF-9A85373C5ED6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D8EC034C-FBB6-B448-8A46-0CB862AA4026.root", - "nevts": 756000, - "nevts_wt": 239152256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D8EC034C-FBB6-B448-8A46-0CB862AA4026.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E00BA103-6972-C444-ABDF-38A6E98C92A6.root", - "nevts": 462000, - "nevts_wt": 145782016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E00BA103-6972-C444-ABDF-38A6E98C92A6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E51D896E-942F-0644-918B-F5908BBDBF78.root", - "nevts": 1366000, - "nevts_wt": 432791936.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E51D896E-942F-0644-918B-F5908BBDBF78.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E57461E2-628D-D64F-A01F-82F2FD290781.root", - "nevts": 1008000, - "nevts_wt": 319086976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E57461E2-628D-D64F-A01F-82F2FD290781.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EB3F4468-E0C5-7F47-98CC-54CC8E916F0C.root", - "nevts": 5000, - "nevts_wt": 1570950.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EB3F4468-E0C5-7F47-98CC-54CC8E916F0C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ECEE2997-52FC-F04B-8E7E-3A2E76D3A985.root", - "nevts": 5000, - "nevts_wt": 1566519.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ECEE2997-52FC-F04B-8E7E-3A2E76D3A985.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F43B5F34-8F07-9A41-8F2F-8E14828E585F.root", - "nevts": 252000, - "nevts_wt": 79148424.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F43B5F34-8F07-9A41-8F2F-8E14828E585F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F551821D-76D4-C740-9095-D1EDEB02A04A.root", - "nevts": 297000, - "nevts_wt": 93424904.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F551821D-76D4-C740-9095-D1EDEB02A04A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F8AB2EF8-0BB3-9B44-85BF-A784A8778585.root", - "nevts": 1145000, - "nevts_wt": 362628096.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F8AB2EF8-0BB3-9B44-85BF-A784A8778585.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA019453-69E2-024D-A00C-83EC3AA83B39.root", - "nevts": 588000, - "nevts_wt": 185824896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA019453-69E2-024D-A00C-83EC3AA83B39.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FB5D8351-DAEB-C040-B911-E1B4223794EA.root", - "nevts": 336000, - "nevts_wt": 105821704.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FB5D8351-DAEB-C040-B911-E1B4223794EA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FC86C900-3CDD-5B4E-9402-7C4E8A7E0AE5.root", - "nevts": 996000, - "nevts_wt": 315330176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FC86C900-3CDD-5B4E-9402-7C4E8A7E0AE5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/15150BC3-23BA-FF4D-856A-2693B8CEC6C0.root", - "nevts": 840000, - "nevts_wt": 265793536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/15150BC3-23BA-FF4D-856A-2693B8CEC6C0.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/32E1896B-511E-BE42-A9DA-D146738FB7EF.root", - "nevts": 840000, - "nevts_wt": 265792256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/32E1896B-511E-BE42-A9DA-D146738FB7EF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/73C95B4B-4F69-9243-8551-5AECE5676EB2.root", - "nevts": 423000, - "nevts_wt": 133375624.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/73C95B4B-4F69-9243-8551-5AECE5676EB2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1CC5A237-6D02-0440-AEB9-518AEF0D3A5D.root", - "nevts": 1344000, - "nevts_wt": 425805056.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1CC5A237-6D02-0440-AEB9-518AEF0D3A5D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/243EB808-9B04-6B43-A6CE-E8574D88D503.root", - "nevts": 853000, - "nevts_wt": 269894656.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/243EB808-9B04-6B43-A6CE-E8574D88D503.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/2E6FCF9B-8430-6E43-9ADF-7FEE8965FECF.root", - "nevts": 420000, - "nevts_wt": 132498184.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/2E6FCF9B-8430-6E43-9ADF-7FEE8965FECF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7DE1BB08-7635-4F42-A328-128668549259.root", - "nevts": 922000, - "nevts_wt": 291887616.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7DE1BB08-7635-4F42-A328-128668549259.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/94EDBC60-6F55-5C4F-B661-37B1270AA986.root", - "nevts": 36000, - "nevts_wt": 11293032.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/94EDBC60-6F55-5C4F-B661-37B1270AA986.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/A4E29F20-3CE6-A344-8FE1-B2B8C83C08C5.root", - "nevts": 1344000, - "nevts_wt": 425670016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/A4E29F20-3CE6-A344-8FE1-B2B8C83C08C5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E5109B75-A9F0-8A40-B72D-2477EF3872BB.root", - "nevts": 1344000, - "nevts_wt": 425760896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E5109B75-A9F0-8A40-B72D-2477EF3872BB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F0668DB8-01DA-7E4E-80A5-11B25C4203BB.root", - "nevts": 1176000, - "nevts_wt": 372411136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F0668DB8-01DA-7E4E-80A5-11B25C4203BB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/009086DB-1E42-7545-9A35-1433EC89D04B.root", - "nevts": 1344000, - "nevts_wt": 425702016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/009086DB-1E42-7545-9A35-1433EC89D04B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0923F6BB-0DBD-C54B-A602-44337E0301EB.root", - "nevts": 1086000, - "nevts_wt": 343831296.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0923F6BB-0DBD-C54B-A602-44337E0301EB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0BB09EA7-A866-AB41-92B1-479144904E08.root", - "nevts": 1033000, - "nevts_wt": 327109376.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0BB09EA7-A866-AB41-92B1-479144904E08.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0F32BFAD-8F2D-944E-ACBA-DE005082D2D4.root", - "nevts": 687000, - "nevts_wt": 217227776.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0F32BFAD-8F2D-944E-ACBA-DE005082D2D4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1337B551-BD35-9748-A1CF-FBB37AD57801.root", - "nevts": 1176000, - "nevts_wt": 372525696.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1337B551-BD35-9748-A1CF-FBB37AD57801.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/149FF032-5064-9640-BC29-F00476028CD7.root", - "nevts": 435000, - "nevts_wt": 137204736.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/149FF032-5064-9640-BC29-F00476028CD7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14E3DC6D-2AF2-5346-ADAB-1C013D107D1C.root", - "nevts": 725000, - "nevts_wt": 229286016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14E3DC6D-2AF2-5346-ADAB-1C013D107D1C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/17B8A720-E100-0845-82F7-7C290491C45B.root", - "nevts": 813000, - "nevts_wt": 257157376.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/17B8A720-E100-0845-82F7-7C290491C45B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/19F0E07F-7F51-D544-AEE3-B90E417F77B3.root", - "nevts": 895000, - "nevts_wt": 283250176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/19F0E07F-7F51-D544-AEE3-B90E417F77B3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1B17F007-31E4-3C48-BB68-EFF1467424D4.root", - "nevts": 938000, - "nevts_wt": 296864896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1B17F007-31E4-3C48-BB68-EFF1467424D4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1BCE5063-A638-294D-B2C6-A4EA435107F2.root", - "nevts": 756000, - "nevts_wt": 239118976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1BCE5063-A638-294D-B2C6-A4EA435107F2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1E20FAC2-543F-1744-83CD-6593CF0A80A9.root", - "nevts": 1336000, - "nevts_wt": 423237376.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1E20FAC2-543F-1744-83CD-6593CF0A80A9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1FACCCE7-7D0A-1041-BB56-FF943C4AFF44.root", - "nevts": 924000, - "nevts_wt": 292462976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1FACCCE7-7D0A-1041-BB56-FF943C4AFF44.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/20E414AF-783C-8345-B32B-6646B0B52648.root", - "nevts": 72000, - "nevts_wt": 22591296.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/20E414AF-783C-8345-B32B-6646B0B52648.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2A4424DB-223D-FE47-855C-7F8DEE298D3E.root", - "nevts": 756000, - "nevts_wt": 239117056.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2A4424DB-223D-FE47-855C-7F8DEE298D3E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2CAFF736-C3E4-924B-B86A-8133AF0270F6.root", - "nevts": 1375000, - "nevts_wt": 435581056.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2CAFF736-C3E4-924B-B86A-8133AF0270F6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F697716-268E-5040-BF4D-33FADCF6B9BC.root", - "nevts": 1093000, - "nevts_wt": 346066176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F697716-268E-5040-BF4D-33FADCF6B9BC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F7612E3-A62C-A94C-B5B3-993B18BF2C70.root", - "nevts": 445000, - "nevts_wt": 140427136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F7612E3-A62C-A94C-B5B3-993B18BF2C70.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3013C45F-C986-B04B-AD0A-421A307354D5.root", - "nevts": 336000, - "nevts_wt": 105838344.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3013C45F-C986-B04B-AD0A-421A307354D5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34096CD7-7D28-0042-8324-EDE25B8AD16C.root", - "nevts": 78000, - "nevts_wt": 24458224.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34096CD7-7D28-0042-8324-EDE25B8AD16C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34684757-EE85-D842-878B-8236643A9EA7.root", - "nevts": 865000, - "nevts_wt": 273708416.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34684757-EE85-D842-878B-8236643A9EA7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34CF7EAA-48EB-BB45-B3CB-425AEAE31995.root", - "nevts": 756000, - "nevts_wt": 239158016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34CF7EAA-48EB-BB45-B3CB-425AEAE31995.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3521ACD9-152D-DD43-B498-0C07E2C254AE.root", - "nevts": 1000, - "nevts_wt": 314569.28125 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3521ACD9-152D-DD43-B498-0C07E2C254AE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3E724784-B7D0-F747-B1A4-3793FBF2AB6A.root", - "nevts": 1348000, - "nevts_wt": 427024896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3E724784-B7D0-F747-B1A4-3793FBF2AB6A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/41476D37-0D40-8944-BA85-7B165C6BA84D.root", - "nevts": 760000, - "nevts_wt": 240416896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/41476D37-0D40-8944-BA85-7B165C6BA84D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/43507C25-D69A-724F-89A1-DF7AB7260D77.root", - "nevts": 840000, - "nevts_wt": 265761536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/43507C25-D69A-724F-89A1-DF7AB7260D77.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/481DD0D9-1ECE-EE49-A3E5-27A692EFAC20.root", - "nevts": 168000, - "nevts_wt": 52682712.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/481DD0D9-1ECE-EE49-A3E5-27A692EFAC20.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4A685992-BCDC-3140-8293-DBBFD4C45913.root", - "nevts": 804000, - "nevts_wt": 254381056.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4A685992-BCDC-3140-8293-DBBFD4C45913.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5011A34E-CCC1-0C49-8D37-54067AAF6588.root", - "nevts": 420000, - "nevts_wt": 132470664.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5011A34E-CCC1-0C49-8D37-54067AAF6588.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52BE81F4-0FF8-3446-8DC2-E0FCBFC61080.root", - "nevts": 1344000, - "nevts_wt": 425755136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52BE81F4-0FF8-3446-8DC2-E0FCBFC61080.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/58974BA1-A3CE-B54D-AAAD-79208225FCF2.root", - "nevts": 781000, - "nevts_wt": 247084416.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/58974BA1-A3CE-B54D-AAAD-79208225FCF2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5920BA91-C260-3D42-BD97-3AE5BE5759E4.root", - "nevts": 756000, - "nevts_wt": 239106176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5920BA91-C260-3D42-BD97-3AE5BE5759E4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/59292429-B4B3-3044-9492-47C48F539934.root", - "nevts": 84000, - "nevts_wt": 26334632.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/59292429-B4B3-3044-9492-47C48F539934.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D29016F-3164-F245-B2B9-6E0C258243B3.root", - "nevts": 252000, - "nevts_wt": 79159944.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D29016F-3164-F245-B2B9-6E0C258243B3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/63CF2A8D-04EF-8647-89FB-1F3881D6C08F.root", - "nevts": 1344000, - "nevts_wt": 425826176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/63CF2A8D-04EF-8647-89FB-1F3881D6C08F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/64B10778-F587-8447-AF08-6A136857B9AB.root", - "nevts": 588000, - "nevts_wt": 185835776.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/64B10778-F587-8447-AF08-6A136857B9AB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/67F66776-F2F9-EC45-89F4-1074E34C5630.root", - "nevts": 756000, - "nevts_wt": 239138816.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/67F66776-F2F9-EC45-89F4-1074E34C5630.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/68439359-DFAC-F94C-AC13-1AC713AF4EBD.root", - "nevts": 588000, - "nevts_wt": 185785856.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/68439359-DFAC-F94C-AC13-1AC713AF4EBD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6C84A99B-E38B-6A4C-B35F-99AE1A87C190.root", - "nevts": 756000, - "nevts_wt": 239120256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6C84A99B-E38B-6A4C-B35F-99AE1A87C190.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6F15B967-B2E2-C14F-A2BC-A3A3797060E5.root", - "nevts": 790000, - "nevts_wt": 249947136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6F15B967-B2E2-C14F-A2BC-A3A3797060E5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76BB4BA7-4861-C249-9D20-F43DFBB2FA91.root", - "nevts": 951000, - "nevts_wt": 301032576.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76BB4BA7-4861-C249-9D20-F43DFBB2FA91.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/817CF0FC-826C-B64E-9CC5-907566935E6B.root", - "nevts": 924000, - "nevts_wt": 292443136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/817CF0FC-826C-B64E-9CC5-907566935E6B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/821D601C-09D8-0048-9D02-8BD2B8EC769B.root", - "nevts": 672000, - "nevts_wt": 212443136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/821D601C-09D8-0048-9D02-8BD2B8EC769B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8374C381-8AD9-484D-BD97-574A437487CC.root", - "nevts": 756000, - "nevts_wt": 239182976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8374C381-8AD9-484D-BD97-574A437487CC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/85A4B9E6-B5AB-1446-A2A0-51469EEA5A4A.root", - "nevts": 849000, - "nevts_wt": 268619136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/85A4B9E6-B5AB-1446-A2A0-51469EEA5A4A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B1ACFF3-4443-F74C-B359-BA5EE89168C4.root", - "nevts": 252000, - "nevts_wt": 79153544.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B1ACFF3-4443-F74C-B359-BA5EE89168C4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B90E460-A85E-C34D-8765-16E384EA2E31.root", - "nevts": 1008000, - "nevts_wt": 319088896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B90E460-A85E-C34D-8765-16E384EA2E31.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C065A4F-C4F7-774E-94B1-B5E775FC9530.root", - "nevts": 40000, - "nevts_wt": 12545024.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C065A4F-C4F7-774E-94B1-B5E775FC9530.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C343E52-0552-7B4F-88E2-38D22B10EDE2.root", - "nevts": 756000, - "nevts_wt": 239110016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C343E52-0552-7B4F-88E2-38D22B10EDE2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8CD6D2A5-5688-7F46-8572-171EA771ED2F.root", - "nevts": 724000, - "nevts_wt": 229005696.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8CD6D2A5-5688-7F46-8572-171EA771ED2F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8E50ACA8-2B2D-F143-8576-690121AF18F3.root", - "nevts": 504000, - "nevts_wt": 159140736.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8E50ACA8-2B2D-F143-8576-690121AF18F3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9842C9AC-D24B-E247-8BA0-0862CAC6AA83.root", - "nevts": 773000, - "nevts_wt": 244543616.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9842C9AC-D24B-E247-8BA0-0862CAC6AA83.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9943E896-E094-ED48-A183-2A11AB381393.root", - "nevts": 924000, - "nevts_wt": 292385536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9943E896-E094-ED48-A183-2A11AB381393.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9ABAAF61-FBFE-A847-8C3F-6B59C77389AA.root", - "nevts": 133000, - "nevts_wt": 41703608.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9ABAAF61-FBFE-A847-8C3F-6B59C77389AA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9AD53291-4B6B-194E-B1F2-52D64C39494D.root", - "nevts": 1167000, - "nevts_wt": 369661056.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9AD53291-4B6B-194E-B1F2-52D64C39494D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9D270DC2-DAF8-C345-A0E0-5FC9C9407C1C.root", - "nevts": 756000, - "nevts_wt": 239175296.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9D270DC2-DAF8-C345-A0E0-5FC9C9407C1C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9E2061F0-1294-0D48-82E4-6705A6814809.root", - "nevts": 1008000, - "nevts_wt": 319186176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9E2061F0-1294-0D48-82E4-6705A6814809.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABE61DDE-CF29-B144-A160-04D31D8982F0.root", - "nevts": 84000, - "nevts_wt": 26352328.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABE61DDE-CF29-B144-A160-04D31D8982F0.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABF29BE6-9985-704B-8BA3-E00C4EEBEFB4.root", - "nevts": 713000, - "nevts_wt": 225476096.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABF29BE6-9985-704B-8BA3-E00C4EEBEFB4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC7C5474-52B2-A446-BA21-13840E2C32B3.root", - "nevts": 1364000, - "nevts_wt": 432097536.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC7C5474-52B2-A446-BA21-13840E2C32B3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACDC10D2-DCF0-8644-8DA8-AD68B75FFFA6.root", - "nevts": 1349000, - "nevts_wt": 427275776.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACDC10D2-DCF0-8644-8DA8-AD68B75FFFA6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACE3A9D4-3678-D743-BDB3-4E2D75613E56.root", - "nevts": 168000, - "nevts_wt": 52668176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACE3A9D4-3678-D743-BDB3-4E2D75613E56.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B2D8F154-AA6E-3D4A-915C-427567F1D346.root", - "nevts": 252000, - "nevts_wt": 79156104.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B2D8F154-AA6E-3D4A-915C-427567F1D346.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B5AEE9F1-2923-1441-B261-D0D281525E5A.root", - "nevts": 489000, - "nevts_wt": 154406656.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B5AEE9F1-2923-1441-B261-D0D281525E5A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BEBF759F-E726-7344-AB0B-C9BB26A291AF.root", - "nevts": 1260000, - "nevts_wt": 399036416.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BEBF759F-E726-7344-AB0B-C9BB26A291AF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/C5AA15FF-C43E-3144-AE26-1B39912284F8.root", - "nevts": 672000, - "nevts_wt": 212480256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/C5AA15FF-C43E-3144-AE26-1B39912284F8.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CA36AB31-D911-DC49-A88B-2342A3F9F0F2.root", - "nevts": 716000, - "nevts_wt": 226426496.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CA36AB31-D911-DC49-A88B-2342A3F9F0F2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC334FF4-111A-F947-81DC-DA572FE7E715.root", - "nevts": 672000, - "nevts_wt": 212491776.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC334FF4-111A-F947-81DC-DA572FE7E715.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC637CAA-E4F1-624D-BF62-84CE39E73654.root", - "nevts": 1175000, - "nevts_wt": 372099456.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC637CAA-E4F1-624D-BF62-84CE39E73654.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CCC8F80C-B425-DB43-844A-B3F03A8C0D14.root", - "nevts": 1008000, - "nevts_wt": 319200256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CCC8F80C-B425-DB43-844A-B3F03A8C0D14.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CF69F82D-9E58-7B41-A439-D67FBCA0E0F2.root", - "nevts": 840000, - "nevts_wt": 265790336.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CF69F82D-9E58-7B41-A439-D67FBCA0E0F2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DCC379E8-71B6-A245-9953-27080D11CC28.root", - "nevts": 1393000, - "nevts_wt": 441264256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DCC379E8-71B6-A245-9953-27080D11CC28.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E3D1A817-7BD3-ED45-AAEA-171AE4849290.root", - "nevts": 342000, - "nevts_wt": 107730184.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E3D1A817-7BD3-ED45-AAEA-171AE4849290.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E864B751-5D07-6D49-B79E-2F7846DE9806.root", - "nevts": 1344000, - "nevts_wt": 425718016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E864B751-5D07-6D49-B79E-2F7846DE9806.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EA7115C4-A6F0-654F-8316-C958CA13DAD6.root", - "nevts": 336000, - "nevts_wt": 105798664.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EA7115C4-A6F0-654F-8316-C958CA13DAD6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EC3BB9BA-F40A-6942-A232-D8B853D5FDED.root", - "nevts": 1344000, - "nevts_wt": 425679616.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EC3BB9BA-F40A-6942-A232-D8B853D5FDED.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ECB2EEA9-5D6F-D147-B37F-B8F864D559E8.root", - "nevts": 42000, - "nevts_wt": 13169440.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ECB2EEA9-5D6F-D147-B37F-B8F864D559E8.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F06BCBAA-D4FF-DF49-9D52-205F3D7C86EA.root", - "nevts": 1073000, - "nevts_wt": 339723136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F06BCBAA-D4FF-DF49-9D52-205F3D7C86EA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F2C8405A-BD38-5F4D-996A-3B43950AB97B.root", - "nevts": 924000, - "nevts_wt": 292444416.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F2C8405A-BD38-5F4D-996A-3B43950AB97B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F54E4296-29A2-9640-A14A-F4463421F901.root", - "nevts": 741000, - "nevts_wt": 234414976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F54E4296-29A2-9640-A14A-F4463421F901.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F9BB4B3B-B9B7-094F-95E9-4637BBBFD9A9.root", - "nevts": 756000, - "nevts_wt": 239038336.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F9BB4B3B-B9B7-094F-95E9-4637BBBFD9A9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FD01C543-642B-6F4B-BB4C-FFB19E42CCD5.root", - "nevts": 811000, - "nevts_wt": 256626176.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FD01C543-642B-6F4B-BB4C-FFB19E42CCD5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FDC61D8C-2F25-BC47-BEFF-C40BF66788C9.root", - "nevts": 252000, - "nevts_wt": 79170824.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FDC61D8C-2F25-BC47-BEFF-C40BF66788C9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FEE61FF5-A9E8-E64F-8044-12A08F08F56B.root", - "nevts": 743000, - "nevts_wt": 234999296.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FEE61FF5-A9E8-E64F-8044-12A08F08F56B.root", + "nevts": 0, + "nevts_wt": 0.0 } ], - "nevts_total": 107067000, - "nevts_wt_total": 33873595620.28125 + "nevts_total": 0, + "nevts_wt_total": 0.0 } }, "ttbar_lep": { "nominal": { "files": [ { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6293BAC8-2AB6-4A4A-BFEA-83E328B9C44F.root", - "nevts": 507000, - "nevts_wt": 36399640.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6293BAC8-2AB6-4A4A-BFEA-83E328B9C44F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/826395F0-39C8-BF45-AA23-8C58A6C632B2.root", - "nevts": 805000, - "nevts_wt": 57678520.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/826395F0-39C8-BF45-AA23-8C58A6C632B2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F54BE4B6-A086-B24D-B11A-AF07FF7703DE.root", - "nevts": 5000, - "nevts_wt": 359412.5625 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F54BE4B6-A086-B24D-B11A-AF07FF7703DE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/065AC2C6-0B33-9546-90F2-5819A044F0CE.root", - "nevts": 1246000, - "nevts_wt": 89157064.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/065AC2C6-0B33-9546-90F2-5819A044F0CE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A9F756F-C380-B448-9C69-6454B5A75CB6.root", - "nevts": 78000, - "nevts_wt": 5622015.5 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A9F756F-C380-B448-9C69-6454B5A75CB6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9F50F913-6EC7-8242-A2BD-4FC37A03EAC9.root", - "nevts": 836000, - "nevts_wt": 59900296.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9F50F913-6EC7-8242-A2BD-4FC37A03EAC9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/A88779C1-45D8-5344-948D-316E98B248C7.root", - "nevts": 165000, - "nevts_wt": 11903420.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/A88779C1-45D8-5344-948D-316E98B248C7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/D31DE67D-37F2-3C4C-B4F3-476D1918B317.root", - "nevts": 1384000, - "nevts_wt": 99029416.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/D31DE67D-37F2-3C4C-B4F3-476D1918B317.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F31E8599-8744-664B-A935-833FDB1979CB.root", - "nevts": 404000, - "nevts_wt": 29035048.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F31E8599-8744-664B-A935-833FDB1979CB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/23B6A249-0CDD-BC4A-A2B8-ED3C9E1F8860.root", - "nevts": 516000, - "nevts_wt": 37039720.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/23B6A249-0CDD-BC4A-A2B8-ED3C9E1F8860.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/97D424A1-D75F-5044-AB30-407BC129A045.root", - "nevts": 1102000, - "nevts_wt": 78895192.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/97D424A1-D75F-5044-AB30-407BC129A045.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/089E6E3A-DFD1-7148-BD6F-F611D22A1B62.root", - "nevts": 136000, - "nevts_wt": 9804086.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/089E6E3A-DFD1-7148-BD6F-F611D22A1B62.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/13BF43D6-5798-9D4C-9E4A-B148CC97DD4A.root", - "nevts": 1260000, - "nevts_wt": 90184936.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/13BF43D6-5798-9D4C-9E4A-B148CC97DD4A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/3CFB3ECE-3C55-FA4C-BCCA-3A0E566710AC.root", - "nevts": 874000, - "nevts_wt": 62593672.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/3CFB3ECE-3C55-FA4C-BCCA-3A0E566710AC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4295A038-1506-FF44-A8EA-D0F727B626FC.root", - "nevts": 1400000, - "nevts_wt": 100178824.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4295A038-1506-FF44-A8EA-D0F727B626FC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4A9AFE65-CC58-044A-AFBB-F4CAEA0A7FCD.root", - "nevts": 1428000, - "nevts_wt": 102180136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4A9AFE65-CC58-044A-AFBB-F4CAEA0A7FCD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6367234F-E189-FC40-A9A5-0FEA038107C7.root", - "nevts": 718000, - "nevts_wt": 51473848.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6367234F-E189-FC40-A9A5-0FEA038107C7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6C4A49EE-D257-7640-9A3A-BAE5D55100F1.root", - "nevts": 924000, - "nevts_wt": 66180712.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6C4A49EE-D257-7640-9A3A-BAE5D55100F1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/A244D71A-A8D7-C54E-B1E2-8584416AAD48.root", - "nevts": 84000, - "nevts_wt": 6054550.5 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/A244D71A-A8D7-C54E-B1E2-8584416AAD48.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6C8F4D5-7970-754C-944B-700A5A1C6402.root", - "nevts": 1008000, - "nevts_wt": 72164056.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6C8F4D5-7970-754C-944B-700A5A1C6402.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/E765BB65-0604-D14D-B034-468CF1320428.root", - "nevts": 50000, - "nevts_wt": 3608417.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/E765BB65-0604-D14D-B034-468CF1320428.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FECF540F-823A-104E-B881-C1191CE580E0.root", - "nevts": 1124000, - "nevts_wt": 80466376.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FECF540F-823A-104E-B881-C1191CE580E0.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/036C0AAB-FD0F-8647-93A9-575666C7003F.root", - "nevts": 1301000, - "nevts_wt": 93088984.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/036C0AAB-FD0F-8647-93A9-575666C7003F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/066D5CE0-7058-964A-B946-49F2B6EB9F92.root", - "nevts": 49000, - "nevts_wt": 3533775.5 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/066D5CE0-7058-964A-B946-49F2B6EB9F92.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1492C5EE-560B-834F-AF4A-4F56C79B9FD6.root", - "nevts": 1008000, - "nevts_wt": 72183208.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1492C5EE-560B-834F-AF4A-4F56C79B9FD6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14931807-0754-7C4B-B0BE-85485CE0C151.root", - "nevts": 1421000, - "nevts_wt": 101676712.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14931807-0754-7C4B-B0BE-85485CE0C151.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1873AC0B-CE31-D04B-ACB9-1D818DE62D46.root", - "nevts": 84000, - "nevts_wt": 6052375.5 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1873AC0B-CE31-D04B-ACB9-1D818DE62D46.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/37C0752E-AA82-EB44-A843-794E2572E075.root", - "nevts": 881000, - "nevts_wt": 63104440.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/37C0752E-AA82-EB44-A843-794E2572E075.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/393B5808-B947-424E-B29A-29DAFE9BF3D2.root", - "nevts": 77000, - "nevts_wt": 5550820.5 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/393B5808-B947-424E-B29A-29DAFE9BF3D2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/444A624B-E220-054A-B294-F5FEEF152C52.root", - "nevts": 960000, - "nevts_wt": 68725336.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/444A624B-E220-054A-B294-F5FEEF152C52.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/46BDA348-B525-9949-BCBE-7393372267A8.root", - "nevts": 996000, - "nevts_wt": 71313448.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/46BDA348-B525-9949-BCBE-7393372267A8.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/47F342FD-418A-584F-AF47-EFEFB9A464F9.root", - "nevts": 84000, - "nevts_wt": 6049620.5 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/47F342FD-418A-584F-AF47-EFEFB9A464F9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4D1377CF-8912-D348-9743-6F596A6A7E67.root", - "nevts": 1428000, - "nevts_wt": 102175096.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4D1377CF-8912-D348-9743-6F596A6A7E67.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5191A307-7ECC-7F4D-9F0B-5333F5C7D0B7.root", - "nevts": 1369000, - "nevts_wt": 97963240.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5191A307-7ECC-7F4D-9F0B-5333F5C7D0B7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52883E35-521E-B843-900E-DD006D7C3CF5.root", - "nevts": 1428000, - "nevts_wt": 102174088.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52883E35-521E-B843-900E-DD006D7C3CF5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D83F3F8-FFC6-4D4E-9BAC-6A07FD851707.root", - "nevts": 1428000, - "nevts_wt": 102170200.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D83F3F8-FFC6-4D4E-9BAC-6A07FD851707.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E81DEB8-5963-B348-BB58-56EC3A3C200C.root", - "nevts": 1003000, - "nevts_wt": 71810104.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E81DEB8-5963-B348-BB58-56EC3A3C200C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/746B14CA-7AA5-9F4A-A84A-36AD4B0C961A.root", - "nevts": 1410000, - "nevts_wt": 100875208.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/746B14CA-7AA5-9F4A-A84A-36AD4B0C961A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A7AE9140-B4B1-E848-BC3C-28C786CB2F4B.root", - "nevts": 823000, - "nevts_wt": 58964584.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A7AE9140-B4B1-E848-BC3C-28C786CB2F4B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABFC2BAC-2988-0640-9930-1F4BD8137765.root", - "nevts": 1292000, - "nevts_wt": 92456680.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABFC2BAC-2988-0640-9930-1F4BD8137765.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B3776CF6-361C-BF4B-B982-BC1CD4BF54B2.root", - "nevts": 1421000, - "nevts_wt": 101674264.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B3776CF6-361C-BF4B-B982-BC1CD4BF54B2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BB9887B9-2A62-9A4A-8938-03E31218B663.root", - "nevts": 1427000, - "nevts_wt": 102093448.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BB9887B9-2A62-9A4A-8938-03E31218B663.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BF24693A-0A47-6E4F-A0AF-326C25DB68F5.root", - "nevts": 1043000, - "nevts_wt": 74667784.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BF24693A-0A47-6E4F-A0AF-326C25DB68F5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DC988225-544C-3043-B704-F1CC440ACDC5.root", - "nevts": 737000, - "nevts_wt": 52821976.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DC988225-544C-3043-B704-F1CC440ACDC5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DE3F5F10-2A25-1349-9326-36672AFC3EC9.root", - "nevts": 1176000, - "nevts_wt": 84189496.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DE3F5F10-2A25-1349-9326-36672AFC3EC9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F1D80973-1256-8542-B865-AF1A955D7D14.root", - "nevts": 1092000, - "nevts_wt": 78177064.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F1D80973-1256-8542-B865-AF1A955D7D14.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F6B9283D-DBF5-9748-B2BE-58529AED2689.root", - "nevts": 766000, - "nevts_wt": 54889240.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F6B9283D-DBF5-9748-B2BE-58529AED2689.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FC321F89-810B-0345-81AF-5A4A47CC905B.root", - "nevts": 1360000, - "nevts_wt": 97319848.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FC321F89-810B-0345-81AF-5A4A47CC905B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FE1609BC-9F31-8F4D-9A23-B94E8B0E4299.root", - "nevts": 1428000, - "nevts_wt": 102172648.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FE1609BC-9F31-8F4D-9A23-B94E8B0E4299.root", + "nevts": 0, + "nevts_wt": 0.0 } ], - "nevts_total": 43546000, - "nevts_wt_total": 3117783045.5625 + "nevts_total": 0, + "nevts_wt_total": 0.0 } }, "wjets": { "nominal": { "files": [ { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/06169F6B-C5AE-1646-87E4-F6613C6046C7.root", - "nevts": 2276917, - "nevts_wt": 267551653888.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/06169F6B-C5AE-1646-87E4-F6613C6046C7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/08EE3CEE-32E4-7E41-8983-1125F195CFCB.root", - "nevts": 1404848, - "nevts_wt": 167786201088.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/08EE3CEE-32E4-7E41-8983-1125F195CFCB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0B81B07D-9A8E-1348-B71A-DEFDFFDDB3AC.root", - "nevts": 1690331, - "nevts_wt": 200434089984.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0B81B07D-9A8E-1348-B71A-DEFDFFDDB3AC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0EAC49F4-51D2-6D40-A97B-92C96B7F9314.root", - "nevts": 2094932, - "nevts_wt": 246436904960.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0EAC49F4-51D2-6D40-A97B-92C96B7F9314.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/19E1C061-FACB-024C-AA44-7D354460A347.root", - "nevts": 1823201, - "nevts_wt": 215550050304.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/19E1C061-FACB-024C-AA44-7D354460A347.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1A803448-3698-7342-B5B1-3D6EBEA507B4.root", - "nevts": 84335, - "nevts_wt": 10043492352.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1A803448-3698-7342-B5B1-3D6EBEA507B4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1BDCCE1A-A3E5-4E41-A87A-EF68081CAE83.root", - "nevts": 918553, - "nevts_wt": 111148507136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1BDCCE1A-A3E5-4E41-A87A-EF68081CAE83.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1D6CCDC2-7E01-454B-BC5E-5DD3C155CE69.root", - "nevts": 1907037, - "nevts_wt": 225462714368.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1D6CCDC2-7E01-454B-BC5E-5DD3C155CE69.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/23C3A31A-7CAA-4E4C-92F4-4E5D9B9316E5.root", - "nevts": 1403451, - "nevts_wt": 167889944576.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/23C3A31A-7CAA-4E4C-92F4-4E5D9B9316E5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C1F1265-412F-774F-9216-64AC5453361E.root", - "nevts": 1349174, - "nevts_wt": 161054556160.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C1F1265-412F-774F-9216-64AC5453361E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2F9BCBC2-744F-1F49-AD4B-C504AE821DA5.root", - "nevts": 1508198, - "nevts_wt": 179821772800.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2F9BCBC2-744F-1F49-AD4B-C504AE821DA5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/317205B3-5246-554F-98AD-A575E9450533.root", - "nevts": 1600408, - "nevts_wt": 190430953472.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/317205B3-5246-554F-98AD-A575E9450533.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/394628E2-FEAE-B344-978D-D69034C76A5A.root", - "nevts": 1331378, - "nevts_wt": 159866208256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/394628E2-FEAE-B344-978D-D69034C76A5A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3A741E0E-FAB0-C94A-B652-35D5688C6CC3.root", - "nevts": 1927128, - "nevts_wt": 227442147328.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3A741E0E-FAB0-C94A-B652-35D5688C6CC3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3EA29022-5B36-A54F-BAF1-B5CCAAE63906.root", - "nevts": 1260416, - "nevts_wt": 151595663360.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3EA29022-5B36-A54F-BAF1-B5CCAAE63906.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/41316725-F9D7-3C48-8C48-AA3BC4741878.root", - "nevts": 1180651, - "nevts_wt": 142929903616.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/41316725-F9D7-3C48-8C48-AA3BC4741878.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/427C2439-1B97-5D41-9A6F-EA921E59BA86.root", - "nevts": 1856034, - "nevts_wt": 219447787520.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/427C2439-1B97-5D41-9A6F-EA921E59BA86.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4E65F336-CF86-2948-A306-FC566BEF6085.root", - "nevts": 1301333, - "nevts_wt": 155960999936.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4E65F336-CF86-2948-A306-FC566BEF6085.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5E2B52A3-7E09-3144-85E7-6ED3E6D2E97B.root", - "nevts": 2275670, - "nevts_wt": 266450681856.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5E2B52A3-7E09-3144-85E7-6ED3E6D2E97B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62C6D2EA-B61A-FB45-AAB4-4C051C86D7DD.root", - "nevts": 1674979, - "nevts_wt": 198397952000.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62C6D2EA-B61A-FB45-AAB4-4C051C86D7DD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62E6F87E-E9FE-504C-A571-BF1E46849B81.root", - "nevts": 1326082, - "nevts_wt": 159240519680.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62E6F87E-E9FE-504C-A571-BF1E46849B81.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6392ADA8-07B2-EB47-9AC3-A6720587D4F0.root", - "nevts": 2274454, - "nevts_wt": 266107404288.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6392ADA8-07B2-EB47-9AC3-A6720587D4F0.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/71CBA5AA-9925-1A43-AFDA-98B26632B95D.root", - "nevts": 2273792, - "nevts_wt": 266913333248.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/71CBA5AA-9925-1A43-AFDA-98B26632B95D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/78F6AF7A-B527-8E4D-9A77-63E46F203B5F.root", - "nevts": 1420947, - "nevts_wt": 169352675328.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/78F6AF7A-B527-8E4D-9A77-63E46F203B5F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7CD36DB0-0103-2A42-BB7E-AD6F0404B023.root", - "nevts": 168902, - "nevts_wt": 20228567040.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7CD36DB0-0103-2A42-BB7E-AD6F0404B023.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7ED2DCDC-28A3-B846-936A-9FBD52F6CCD3.root", - "nevts": 2276714, - "nevts_wt": 266683465728.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7ED2DCDC-28A3-B846-936A-9FBD52F6CCD3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/80640BFB-6356-E548-95D7-33B727585FB1.root", - "nevts": 1048136, - "nevts_wt": 126494998528.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/80640BFB-6356-E548-95D7-33B727585FB1.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/855F1221-497A-3C4E-BD97-B6932A656F20.root", - "nevts": 1250317, - "nevts_wt": 150354509824.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/855F1221-497A-3C4E-BD97-B6932A656F20.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/861D7285-FD5B-BB4E-9E55-3BEA934800AF.root", - "nevts": 2275273, - "nevts_wt": 267034116096.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/861D7285-FD5B-BB4E-9E55-3BEA934800AF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98821798-56F4-1B46-AEF8-B79503CDAFCF.root", - "nevts": 2022981, - "nevts_wt": 238163689472.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98821798-56F4-1B46-AEF8-B79503CDAFCF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9AF4A3C4-54B3-424D-A85A-9B64ED0C946F.root", - "nevts": 869150, - "nevts_wt": 105005678592.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9AF4A3C4-54B3-424D-A85A-9B64ED0C946F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9D99457C-2877-044E-95E6-19E75D4DE6CB.root", - "nevts": 971705, - "nevts_wt": 117618655232.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9D99457C-2877-044E-95E6-19E75D4DE6CB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A058BCC8-A596-904C-8103-95050F3EEE30.root", - "nevts": 1424608, - "nevts_wt": 170429825024.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A058BCC8-A596-904C-8103-95050F3EEE30.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A0FEBEF2-A03D-3B47-92DB-BB7F73CEC8FC.root", - "nevts": 674262, - "nevts_wt": 81193967616.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A0FEBEF2-A03D-3B47-92DB-BB7F73CEC8FC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A37CAFA8-A439-BC43-85AD-AA4C8EDA2CE2.root", - "nevts": 1769659, - "nevts_wt": 209814585344.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A37CAFA8-A439-BC43-85AD-AA4C8EDA2CE2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A98EE025-E4E9-A749-AE54-D55F9A134C7B.root", - "nevts": 15421, - "nevts_wt": 1857640064.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A98EE025-E4E9-A749-AE54-D55F9A134C7B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B20A4451-1E66-C743-A8D2-D9A7ED861791.root", - "nevts": 18897, - "nevts_wt": 2275365376.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B20A4451-1E66-C743-A8D2-D9A7ED861791.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B5CE5AC4-49A0-9A40-8328-9B0844E0960F.root", - "nevts": 33404, - "nevts_wt": 4027807744.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B5CE5AC4-49A0-9A40-8328-9B0844E0960F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B6C226A2-35AA-2A4D-8911-3A1FAB336DD9.root", - "nevts": 180060, - "nevts_wt": 21424646144.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B6C226A2-35AA-2A4D-8911-3A1FAB336DD9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B73BE8B0-3240-A44B-9731-EFAD156B9668.root", - "nevts": 253499, - "nevts_wt": 30434768896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B73BE8B0-3240-A44B-9731-EFAD156B9668.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B771B076-AECE-AF42-B780-2C3192BC4DE5.root", - "nevts": 440993, - "nevts_wt": 53059035136.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B771B076-AECE-AF42-B780-2C3192BC4DE5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BB2D42DC-ECA1-6B46-8A74-F597A314E051.root", - "nevts": 2274855, - "nevts_wt": 266395369472.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BB2D42DC-ECA1-6B46-8A74-F597A314E051.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BE97AC18-0F73-C645-8AA2-66793B308D1B.root", - "nevts": 1750469, - "nevts_wt": 206784905216.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BE97AC18-0F73-C645-8AA2-66793B308D1B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BEDECBF7-AB16-314C-8811-AB5D27231DB6.root", - "nevts": 1989497, - "nevts_wt": 234574413824.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BEDECBF7-AB16-314C-8811-AB5D27231DB6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BF4971FC-B933-A449-BFF1-5F8007D51EEF.root", - "nevts": 2273476, - "nevts_wt": 267194875904.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BF4971FC-B933-A449-BFF1-5F8007D51EEF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C10A9933-1E22-5D40-B968-89520B795DFB.root", - "nevts": 2067219, - "nevts_wt": 243834634240.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C10A9933-1E22-5D40-B968-89520B795DFB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C59AF067-3B3E-D94B-84BA-987748C30221.root", - "nevts": 362206, - "nevts_wt": 43620511744.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C59AF067-3B3E-D94B-84BA-987748C30221.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DDCB723A-3704-5345-AAD3-EF2479209ABE.root", - "nevts": 1770994, - "nevts_wt": 208874815488.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DDCB723A-3704-5345-AAD3-EF2479209ABE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E1690230-A2B7-014B-944F-94109B6AED08.root", - "nevts": 72963, - "nevts_wt": 8661100544.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E1690230-A2B7-014B-944F-94109B6AED08.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EA7F0AF0-D312-174A-B43A-2ECB60C0055F.root", - "nevts": 2254337, - "nevts_wt": 264847884288.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EA7F0AF0-D312-174A-B43A-2ECB60C0055F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F040E4B7-FCB0-634E-87BF-CE9894216671.root", - "nevts": 879380, - "nevts_wt": 105944793088.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F040E4B7-FCB0-634E-87BF-CE9894216671.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F0547BE9-147E-E64A-BC58-C715936EA122.root", - "nevts": 1433676, - "nevts_wt": 171154784256.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F0547BE9-147E-E64A-BC58-C715936EA122.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F5E2630A-AFE2-4046-8793-066DFBC27ABB.root", - "nevts": 338020, - "nevts_wt": 40307527680.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F5E2630A-AFE2-4046-8793-066DFBC27ABB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A6F1D10-B812-4744-91CB-6FA15428CD53.root", - "nevts": 8799, - "nevts_wt": 1057865344.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A6F1D10-B812-4744-91CB-6FA15428CD53.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/00702195-E707-3743-8BBA-57EB9DEE1DBA.root", - "nevts": 133692, - "nevts_wt": 16113080320.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/00702195-E707-3743-8BBA-57EB9DEE1DBA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0A1A30A2-740B-2A48-8D3B-A458026E93EA.root", - "nevts": 2006990, - "nevts_wt": 236653150208.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0A1A30A2-740B-2A48-8D3B-A458026E93EA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0E14DFA9-602F-2643-AF9C-63FFDF2D1EBD.root", - "nevts": 41102, - "nevts_wt": 4952208896.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0E14DFA9-602F-2643-AF9C-63FFDF2D1EBD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1F96440D-3010-734C-AB94-E0D52DEB0730.root", - "nevts": 1180330, - "nevts_wt": 142444969984.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1F96440D-3010-734C-AB94-E0D52DEB0730.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/4DCA23FD-AE9A-2349-BAB3-B8352E69F655.root", - "nevts": 221022, - "nevts_wt": 26507409408.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/4DCA23FD-AE9A-2349-BAB3-B8352E69F655.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/6C9F0C91-57D8-B042-B62A-54492FC66E09.root", - "nevts": 95560, - "nevts_wt": 11397980160.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/6C9F0C91-57D8-B042-B62A-54492FC66E09.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD453A1C-8185-974F-BFA4-8BD9C8D61056.root", - "nevts": 45731, - "nevts_wt": 5511633408.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD453A1C-8185-974F-BFA4-8BD9C8D61056.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD7B7E81-0901-3346-89EB-6B808E2D8B56.root", - "nevts": 1176923, - "nevts_wt": 141935509504.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD7B7E81-0901-3346-89EB-6B808E2D8B56.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B2164B61-60B0-9E4D-B2A2-A02C2AF23CBE.root", - "nevts": 506847, - "nevts_wt": 60541714432.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B2164B61-60B0-9E4D-B2A2-A02C2AF23CBE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CC80A34F-10EC-9B43-A56B-3DEE96459E7F.root", - "nevts": 1265511, - "nevts_wt": 151379542016.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CC80A34F-10EC-9B43-A56B-3DEE96459E7F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/DDCE98B4-9142-D041-A3BF-1F81DECC09D2.root", - "nevts": 1349469, - "nevts_wt": 161704755200.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/DDCE98B4-9142-D041-A3BF-1F81DECC09D2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/ED909592-EDA1-7D48-9749-89E23280C916.root", - "nevts": 8948, - "nevts_wt": 1076437888.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/ED909592-EDA1-7D48-9749-89E23280C916.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F33E5121-B08C-D545-86E7-6A095E901009.root", - "nevts": 1316549, - "nevts_wt": 157953736704.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F33E5121-B08C-D545-86E7-6A095E901009.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/FC39C110-31A7-7940-87DB-FDF07CF2EF47.root", - "nevts": 275432, - "nevts_wt": 33090422784.0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/FC39C110-31A7-7940-87DB-FDF07CF2EF47.root", + "nevts": 0, + "nevts_wt": 0.0 } ], - "nevts_total": 80958227, - "nevts_wt_total": 9607933471360.0 + "nevts_total": 0, + "nevts_wt_total": 0.0 } }, "data": { "nominal": { "files": [ { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0A4230E2-0C75-604D-890F-A4CE5E5C164E.root", - "nevts": 2939781, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0A4230E2-0C75-604D-890F-A4CE5E5C164E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A3279183-BDA6-F44C-8EF3-C063BC598B68.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A3279183-BDA6-F44C-8EF3-C063BC598B68.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C760C7A6-E4AB-E447-93BB-1EAD0177DB41.root", - "nevts": 3269596, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C760C7A6-E4AB-E447-93BB-1EAD0177DB41.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F9ECEECC-1226-DC4C-BD06-0C218B250D60.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F9ECEECC-1226-DC4C-BD06-0C218B250D60.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/143F9660-3FE1-3E4E-A58D-FD56967BA9B8.root", - "nevts": 3248538, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/143F9660-3FE1-3E4E-A58D-FD56967BA9B8.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/ABAF299E-EAF9-5043-B89B-1D13A9475BBC.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/ABAF299E-EAF9-5043-B89B-1D13A9475BBC.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2392663-56C1-5849-A224-28CD5251166A.root", - "nevts": 1100480, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2392663-56C1-5849-A224-28CD5251166A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FD262A89-0289-F941-9494-5FD7556833B4.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FD262A89-0289-F941-9494-5FD7556833B4.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D280BA6-2EBB-A544-91EB-E821F3CF0B06.root", - "nevts": 1090938, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D280BA6-2EBB-A544-91EB-E821F3CF0B06.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/B7EEE475-047D-CA4D-B680-617FE16540AC.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/B7EEE475-047D-CA4D-B680-617FE16540AC.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2C497A2-F632-AC4B-8655-1ACA9F2A43DE.root", - "nevts": 2915206, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2C497A2-F632-AC4B-8655-1ACA9F2A43DE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5E060727-1BCF-1F40-BBD8-D6841127F7BA.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5E060727-1BCF-1F40-BBD8-D6841127F7BA.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BC07CDBA-E54A-AD4A-BC24-960043783955.root", - "nevts": 2722748, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BC07CDBA-E54A-AD4A-BC24-960043783955.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EA9DD56A-11DE-AE48-8E43-07852D3E3694.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EA9DD56A-11DE-AE48-8E43-07852D3E3694.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A1DF7082-FF8C-114D-BA6C-FC0EDFDF61B2.root", - "nevts": 2187222, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A1DF7082-FF8C-114D-BA6C-FC0EDFDF61B2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C144B7AE-E8C0-9D40-BECF-D027FA604946.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C144B7AE-E8C0-9D40-BECF-D027FA604946.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F361D15A-F30D-4D45-8874-446B7450D4BF.root", - "nevts": 1483434, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F361D15A-F30D-4D45-8874-446B7450D4BF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/40EA32B0-1284-7246-83A3-A703D908F9FC.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/40EA32B0-1284-7246-83A3-A703D908F9FC.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/579013D1-626D-D943-A8B0-A1A558C54F33.root", - "nevts": 1501125, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/579013D1-626D-D943-A8B0-A1A558C54F33.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/6351C999-8EF7-6345-822D-E2EF1C203603.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/6351C999-8EF7-6345-822D-E2EF1C203603.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/977A32B2-1672-0646-8029-C12B37014B64.root", - "nevts": 2186320, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/977A32B2-1672-0646-8029-C12B37014B64.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/C653EBCD-C75E-8441-BB1D-12A90F76D597.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/C653EBCD-C75E-8441-BB1D-12A90F76D597.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D548310D-36A5-DE46-97C5-15933EAF7DC9.root", - "nevts": 2596848, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D548310D-36A5-DE46-97C5-15933EAF7DC9.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D87A4CC6-6CF7-6943-838E-475A7533EAA9.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D87A4CC6-6CF7-6943-838E-475A7533EAA9.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/F302A865-17B0-064B-8154-41526BB38244.root", - "nevts": 3165155, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/F302A865-17B0-064B-8154-41526BB38244.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/01479010-3B51-B04A-9C5C-7800085D11B8.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/01479010-3B51-B04A-9C5C-7800085D11B8.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/02C01469-552A-7E45-9894-6406F0030DB3.root", - "nevts": 2741466, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/02C01469-552A-7E45-9894-6406F0030DB3.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23953892-6295-B341-9D0B-6892EBDD67FC.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23953892-6295-B341-9D0B-6892EBDD67FC.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/28415B3F-DFB1-5542-9217-7D134447AC48.root", - "nevts": 2141735, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/28415B3F-DFB1-5542-9217-7D134447AC48.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/2AF26192-4B3A-324D-B14C-CFFFB1F69F4C.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/2AF26192-4B3A-324D-B14C-CFFFB1F69F4C.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/31BF084F-D414-1542-B61D-0F58520A17E8.root", - "nevts": 3297029, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/31BF084F-D414-1542-B61D-0F58520A17E8.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/388AB3E1-8708-7D42-91BA-83E52373E808.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/388AB3E1-8708-7D42-91BA-83E52373E808.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3BCDC9CF-57F5-104F-8C20-2BA300439111.root", - "nevts": 3288666, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3BCDC9CF-57F5-104F-8C20-2BA300439111.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3E76909B-34D1-DE46-8355-51C2ADD587D5.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3E76909B-34D1-DE46-8355-51C2ADD587D5.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4AD09F91-D53E-E345-817A-BBC670875478.root", - "nevts": 1648169, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4AD09F91-D53E-E345-817A-BBC670875478.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4B985344-7CD7-6142-BCB6-B95E47279B9A.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4B985344-7CD7-6142-BCB6-B95E47279B9A.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/594F3D70-ED17-3D42-A322-269D0A074F9A.root", - "nevts": 1925213, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/594F3D70-ED17-3D42-A322-269D0A074F9A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/626C68F8-9DBD-194B-993E-8672B8E73BAE.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/626C68F8-9DBD-194B-993E-8672B8E73BAE.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6322429F-B620-854D-B4AC-6892359CAB2C.root", - "nevts": 2307023, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6322429F-B620-854D-B4AC-6892359CAB2C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6C8BBA90-79DC-CA45-9E0F-4AB683E91D8F.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6C8BBA90-79DC-CA45-9E0F-4AB683E91D8F.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7BA44B30-9EBA-6E4A-8DD6-2A239BDDBA50.root", - "nevts": 1971689, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7BA44B30-9EBA-6E4A-8DD6-2A239BDDBA50.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/84E83B69-73A2-BF4C-A59C-C3C10F71C76E.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/84E83B69-73A2-BF4C-A59C-C3C10F71C76E.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/874B6634-10CD-4541-97E6-7A97BA44F4C6.root", - "nevts": 1089353, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/874B6634-10CD-4541-97E6-7A97BA44F4C6.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8E33310F-1983-EE41-A97A-7D6853AF1BAD.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8E33310F-1983-EE41-A97A-7D6853AF1BAD.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8F897B77-7EDA-B54B-812C-2185345CE97F.root", - "nevts": 2071064, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8F897B77-7EDA-B54B-812C-2185345CE97F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9C99B9F7-7F24-FE4A-A28D-E31D70DBDF66.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9C99B9F7-7F24-FE4A-A28D-E31D70DBDF66.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A5B416ED-2D1C-4846-92FF-CA7E5C6DBA61.root", - "nevts": 1765176, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A5B416ED-2D1C-4846-92FF-CA7E5C6DBA61.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B0CFD000-E84C-344D-BED7-8AB35F3DBA36.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B0CFD000-E84C-344D-BED7-8AB35F3DBA36.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B4E0C1C3-E86E-3F4B-9B1A-D17E3ADB0908.root", - "nevts": 300967, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B4E0C1C3-E86E-3F4B-9B1A-D17E3ADB0908.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C250DA77-36D8-2440-8F71-4A913F18EA6C.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C250DA77-36D8-2440-8F71-4A913F18EA6C.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C2A7D179-B263-704C-A8EB-B75F4D82F7B5.root", - "nevts": 887639, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C2A7D179-B263-704C-A8EB-B75F4D82F7B5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C8653579-E6F0-5D44-ACEA-154A482DF4AD.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C8653579-E6F0-5D44-ACEA-154A482DF4AD.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CD1172F5-A00E-0041-9A9C-5E1862026357.root", - "nevts": 34372, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CD1172F5-A00E-0041-9A9C-5E1862026357.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E037AB14-FEA9-4D40-AA30-9ADF56BD6270.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E037AB14-FEA9-4D40-AA30-9ADF56BD6270.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F250A551-A8DC-BC47-895C-3BE19459F5DC.root", - "nevts": 2753751, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F250A551-A8DC-BC47-895C-3BE19459F5DC.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F773638E-CE20-944A-A120-755C3E071B2F.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F773638E-CE20-944A-A120-755C3E071B2F.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/FBD685D1-F6C9-8946-BA61-14F8DB0B1B82.root", - "nevts": 1728490, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/FBD685D1-F6C9-8946-BA61-14F8DB0B1B82.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/1210000/576759DA-4A35-534B-B926-2A9E4A5A7268.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/1210000/576759DA-4A35-534B-B926-2A9E4A5A7268.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/044B8A93-571B-0F46-BBC4-FFEDD253984D.root", - "nevts": 2271351, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/044B8A93-571B-0F46-BBC4-FFEDD253984D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/070EC05A-1BD0-B940-A8D2-AD6650144A72.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/070EC05A-1BD0-B940-A8D2-AD6650144A72.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/08BEF135-37C0-F145-88E9-63F7A10D3BC7.root", - "nevts": 1567009, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/08BEF135-37C0-F145-88E9-63F7A10D3BC7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/0FE0804D-33EA-7C41-A968-132B08494EA6.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/0FE0804D-33EA-7C41-A968-132B08494EA6.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/10573E58-8061-F349-B708-275CD2609AF7.root", - "nevts": 1657975, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/10573E58-8061-F349-B708-275CD2609AF7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/16CB6056-D4D5-2046-9D30-82D8985F831F.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/16CB6056-D4D5-2046-9D30-82D8985F831F.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1BE80946-8275-7A46-842F-6DBDB9193FAD.root", - "nevts": 1356171, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1BE80946-8275-7A46-842F-6DBDB9193FAD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1D772C99-43DE-2749-9EFF-0A5DFFC5EFD8.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1D772C99-43DE-2749-9EFF-0A5DFFC5EFD8.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1E594251-5C49-3649-9413-14663553AE7D.root", - "nevts": 1473621, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1E594251-5C49-3649-9413-14663553AE7D.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/20CCC9D4-0AD5-9E42-B642-DE86F25153ED.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/20CCC9D4-0AD5-9E42-B642-DE86F25153ED.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23734531-415C-BD43-83DE-94E787D3F57C.root", - "nevts": 2074751, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23734531-415C-BD43-83DE-94E787D3F57C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/247E64DA-FE25-DB4E-ACFE-034455CFD3EB.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/247E64DA-FE25-DB4E-ACFE-034455CFD3EB.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/25DEFBD5-45E9-544B-9E88-B1D3ED80EFFA.root", - "nevts": 1781996, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/25DEFBD5-45E9-544B-9E88-B1D3ED80EFFA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/261B08A0-22B5-5149-B00E-F9A774477005.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/261B08A0-22B5-5149-B00E-F9A774477005.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/266B2CD6-17D4-C04F-B1FD-445C371464E4.root", - "nevts": 1681525, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/266B2CD6-17D4-C04F-B1FD-445C371464E4.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/37B993E8-7A11-6141-B42F-C20F3F6BB2D0.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/37B993E8-7A11-6141-B42F-C20F3F6BB2D0.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3ADD6FD9-5B2A-1441-BC2E-D68FDA486B4B.root", - "nevts": 2533806, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3ADD6FD9-5B2A-1441-BC2E-D68FDA486B4B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/473F6C9A-F7AF-2640-886D-D814F98886D8.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/473F6C9A-F7AF-2640-886D-D814F98886D8.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/51E1A1D8-FBF4-0E45-9F37-FBFD4B5A7A09.root", - "nevts": 2015833, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/51E1A1D8-FBF4-0E45-9F37-FBFD4B5A7A09.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5553FFE8-D1DF-9842-9F49-16BB8EFFD4A3.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5553FFE8-D1DF-9842-9F49-16BB8EFFD4A3.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5709DEB4-AAE5-7949-975C-119CF30ABA70.root", - "nevts": 3315798, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5709DEB4-AAE5-7949-975C-119CF30ABA70.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/59905258-7CCF-BB41-AF01-D9FCBBECC03D.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/59905258-7CCF-BB41-AF01-D9FCBBECC03D.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5BF83F4E-336D-1641-9576-53FC198765B5.root", - "nevts": 1663133, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5BF83F4E-336D-1641-9576-53FC198765B5.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5F5E0726-4074-DA46-9AD9-C39389E885EC.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5F5E0726-4074-DA46-9AD9-C39389E885EC.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/66A58A5A-4A7F-0546-B370-BABDDE02ADFD.root", - "nevts": 2098366, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/66A58A5A-4A7F-0546-B370-BABDDE02ADFD.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6789206B-7C28-5C44-B975-A5EF9D7BC6A0.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6789206B-7C28-5C44-B975-A5EF9D7BC6A0.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/710A09CB-D2D9-0948-B4EC-6D94FD9F612B.root", - "nevts": 1755402, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/710A09CB-D2D9-0948-B4EC-6D94FD9F612B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/78995FCF-4A0B-364B-8875-9207B74685CF.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/78995FCF-4A0B-364B-8875-9207B74685CF.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7EC9A11A-ACD9-4A46-8770-B7A48670CBBF.root", - "nevts": 1224865, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7EC9A11A-ACD9-4A46-8770-B7A48670CBBF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/809D6534-33BF-244B-B689-8C63F763959A.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/809D6534-33BF-244B-B689-8C63F763959A.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8531DBAE-434E-FF45-9647-1FFA5B964660.root", - "nevts": 806021, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8531DBAE-434E-FF45-9647-1FFA5B964660.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9110E45A-9003-CB4F-9220-18B2EBFA2B42.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9110E45A-9003-CB4F-9220-18B2EBFA2B42.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/92238EFF-D3BC-B745-B707-BB7096790F83.root", - "nevts": 2289816, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/92238EFF-D3BC-B745-B707-BB7096790F83.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/95AF7A2E-F973-5642-96C6-B37EA7C96FF7.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/95AF7A2E-F973-5642-96C6-B37EA7C96FF7.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A3664F2C-DE66-C64E-8471-88F341DBC4BF.root", - "nevts": 3008904, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A3664F2C-DE66-C64E-8471-88F341DBC4BF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ABF5CD64-0947-964E-8104-84D880B737CD.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ABF5CD64-0947-964E-8104-84D880B737CD.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ACF68248-100D-D345-80C9-AECE7BCB73AF.root", - "nevts": 2161719, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ACF68248-100D-D345-80C9-AECE7BCB73AF.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/AD99EB27-9D69-B74E-981C-F1869AED6582.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/AD99EB27-9D69-B74E-981C-F1869AED6582.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B02F3578-EDAA-D649-BF16-B0090E99B34A.root", - "nevts": 2189002, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B02F3578-EDAA-D649-BF16-B0090E99B34A.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B61CB2F3-3F7B-C143-B349-C9FE421103AC.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B61CB2F3-3F7B-C143-B349-C9FE421103AC.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/BD979CEA-AA60-104B-B656-A2A7ACE54A4B.root", - "nevts": 1930658, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/BD979CEA-AA60-104B-B656-A2A7ACE54A4B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C08430A5-EB2C-EB4D-A653-7CA621B11BFC.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C08430A5-EB2C-EB4D-A653-7CA621B11BFC.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CC55E1DA-ADBB-0342-A53C-C7B7CFA6AD85.root", - "nevts": 2492709, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CC55E1DA-ADBB-0342-A53C-C7B7CFA6AD85.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CE1F1724-2933-C44F-829E-0FA4CB49D49A.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CE1F1724-2933-C44F-829E-0FA4CB49D49A.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/D5642602-6BA0-E843-B8CC-03B0072E1796.root", - "nevts": 1497216, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/D5642602-6BA0-E843-B8CC-03B0072E1796.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/DCA6F24D-0006-634B-9964-65CE4B8E70D5.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/DCA6F24D-0006-634B-9964-65CE4B8E70D5.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E5B3AF0A-A0F0-594B-9E72-B9EA1859D549.root", - "nevts": 3071321, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E5B3AF0A-A0F0-594B-9E72-B9EA1859D549.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E801FC2F-0877-9F4C-978D-FE9C94B92CAF.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E801FC2F-0877-9F4C-978D-FE9C94B92CAF.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EAABF77C-A79B-FB4E-B307-7B2F9CFC6C9E.root", - "nevts": 2289979, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EAABF77C-A79B-FB4E-B307-7B2F9CFC6C9E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EE1BAEDB-88FC-674E-A969-707818596CA4.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EE1BAEDB-88FC-674E-A969-707818596CA4.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F24742D6-8BF8-F640-AD2F-063EE84A759F.root", - "nevts": 1946746, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F24742D6-8BF8-F640-AD2F-063EE84A759F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F3F7C96C-CF45-EB45-918C-9E5A05F8D899.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F3F7C96C-CF45-EB45-918C-9E5A05F8D899.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F4BB5330-5236-5940-BA0B-F13088D94F5E.root", - "nevts": 2116950, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F4BB5330-5236-5940-BA0B-F13088D94F5E.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/120000/61FC1E38-F75C-6B44-AD19-A9894155874E.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/120000/61FC1E38-F75C-6B44-AD19-A9894155874E.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0107961B-4308-F845-8F96-E14622BBA484.root", - "nevts": 289101, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0107961B-4308-F845-8F96-E14622BBA484.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0DEE1709-0416-F24B-ACB2-C68997CB6465.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0DEE1709-0416-F24B-ACB2-C68997CB6465.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F03FF10-7F20-8A4E-A19A-418C090A3F97.root", - "nevts": 56141, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F03FF10-7F20-8A4E-A19A-418C090A3F97.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F6506E1-94CC-E14B-AE40-F72BD37BF8D4.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F6506E1-94CC-E14B-AE40-F72BD37BF8D4.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/120B99EA-7A22-094A-889D-E9049DB1A21C.root", - "nevts": 1504715, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/120B99EA-7A22-094A-889D-E9049DB1A21C.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/136621ED-C32B-B347-9FC1-1BE4AF4F8EF3.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/136621ED-C32B-B347-9FC1-1BE4AF4F8EF3.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/13EF306B-E9EA-B24F-8094-DAC8A7BC4AE0.root", - "nevts": 2051700, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/13EF306B-E9EA-B24F-8094-DAC8A7BC4AE0.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/148777C2-F638-714C-AF76-00A32CD6F32A.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/148777C2-F638-714C-AF76-00A32CD6F32A.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/14EA6AFB-593D-074F-AF31-BF588987BE99.root", - "nevts": 1936884, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/14EA6AFB-593D-074F-AF31-BF588987BE99.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/17F6E03B-6B69-4341-863B-538EED26B89B.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/17F6E03B-6B69-4341-863B-538EED26B89B.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1C08614E-0C0E-6044-966A-CAF630CAEF8F.root", - "nevts": 3390670, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1C08614E-0C0E-6044-966A-CAF630CAEF8F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D87B4FB-E31C-9F43-AC21-C32469DE9FC6.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D87B4FB-E31C-9F43-AC21-C32469DE9FC6.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1EB443F2-1230-8042-B8AE-FD50329CA59B.root", - "nevts": 1713097, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1EB443F2-1230-8042-B8AE-FD50329CA59B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/2045F967-9F0A-7C46-9946-787B27D56E88.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/2045F967-9F0A-7C46-9946-787B27D56E88.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/236A04EE-C105-D947-8A2E-F8CC6731644F.root", - "nevts": 1874233, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/236A04EE-C105-D947-8A2E-F8CC6731644F.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/370BE877-DA24-DB41-A875-07A86EAB6852.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/370BE877-DA24-DB41-A875-07A86EAB6852.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/39B0B7DF-2C71-9E4E-952F-833475062880.root", - "nevts": 3174648, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/39B0B7DF-2C71-9E4E-952F-833475062880.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/3A8A8FD7-1FB0-FC49-93FD-20378419A49A.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/3A8A8FD7-1FB0-FC49-93FD-20378419A49A.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/4C688018-90E1-5847-AEA3-D5F5DEB330EA.root", - "nevts": 2010546, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/4C688018-90E1-5847-AEA3-D5F5DEB330EA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/50ADF677-F507-D044-BCF2-40392F4A89DB.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/50ADF677-F507-D044-BCF2-40392F4A89DB.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5CA4CE73-629C-2F48-939C-4274B369F112.root", - "nevts": 1420132, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5CA4CE73-629C-2F48-939C-4274B369F112.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/60E957CB-2729-5D4C-B261-43406A639E8F.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/60E957CB-2729-5D4C-B261-43406A639E8F.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/6CBB587F-1366-6F40-973C-7F98EA9C8335.root", - "nevts": 2694638, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/6CBB587F-1366-6F40-973C-7F98EA9C8335.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/715BF52A-7FE3-D848-A45F-99A0DDA80205.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/715BF52A-7FE3-D848-A45F-99A0DDA80205.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/788CA5CB-13E0-544A-8427-33E4591CF20B.root", - "nevts": 1754861, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/788CA5CB-13E0-544A-8427-33E4591CF20B.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/791500CE-B4AB-7C46-91D7-4E689B94F55A.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/791500CE-B4AB-7C46-91D7-4E689B94F55A.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8F3012A6-72CA-6C4F-81AA-64EEB640EA84.root", - "nevts": 2247927, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8F3012A6-72CA-6C4F-81AA-64EEB640EA84.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8FB46D51-A84B-8043-A86B-25743CE20170.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8FB46D51-A84B-8043-A86B-25743CE20170.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BE433087-4E55-6F44-8EBF-EDD13E745BAE.root", - "nevts": 1752855, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BE433087-4E55-6F44-8EBF-EDD13E745BAE.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CBFBEA23-7C46-624E-98B1-2CAEE35458C8.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CBFBEA23-7C46-624E-98B1-2CAEE35458C8.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEB3C22E-30A5-704F-BD07-BD6D0838DAFA.root", - "nevts": 1308929, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEB3C22E-30A5-704F-BD07-BD6D0838DAFA.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEE8B116-DBE4-E54F-B038-A81090B2A147.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEE8B116-DBE4-E54F-B038-A81090B2A147.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2F76766-1F43-264A-A39F-2DE68BF68752.root", - "nevts": 2221579, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2F76766-1F43-264A-A39F-2DE68BF68752.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/DBA71BF9-1B93-EC42-A96C-BD2B35E3538E.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/DBA71BF9-1B93-EC42-A96C-BD2B35E3538E.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E6C5C5AA-946B-A34C-ABB5-4B14AA0E9ED7.root", - "nevts": 1271581, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E6C5C5AA-946B-A34C-ABB5-4B14AA0E9ED7.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E8E0A6FB-E2D7-BE40-B098-7FEABFB340FF.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E8E0A6FB-E2D7-BE40-B098-7FEABFB340FF.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EC4283CE-BB96-B845-8012-6ED0CC0FA7A2.root", - "nevts": 1791443, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EC4283CE-BB96-B845-8012-6ED0CC0FA7A2.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F4101B00-7984-C54F-98E9-2EF72AD66F43.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F4101B00-7984-C54F-98E9-2EF72AD66F43.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FE81EE6E-0E21-1847-9105-D700F2E762DB.root", - "nevts": 2378028, - "nevts_wt": 0 + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FE81EE6E-0E21-1847-9105-D700F2E762DB.root", + "nevts": 0, + "nevts_wt": 0.0 }, { - "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FFED1DB7-3626-A04C-8438-BF055BD16672.root", + "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FFED1DB7-3626-A04C-8438-BF055BD16672.root", "nevts": 0, - "nevts_wt": 0 + "nevts_wt": 0.0 } ], - "nevts_total": 323952013, - "nevts_wt_total": 0 + "nevts_total": 0, + "nevts_wt_total": 0.0 } } -} +} \ No newline at end of file diff --git a/environment.yml b/environment.yml index 1da87cd..cca1cdb 100644 --- a/environment.yml +++ b/environment.yml @@ -1,295 +1,39 @@ -name: zprime_diff_analysis +name: zprime_env channels: - - defaults - conda-forge + - defaults dependencies: - - bzip2=1.0.8=h80987f9_6 - - ca-certificates=2025.2.25=hca03da5_0 - - libffi=3.4.4=hca03da5_1 - - ncurses=6.4=h313beb8_0 - - openssl=3.0.16=h02f6b3c_0 - - pip=25.1=pyhc872135_2 - - python=3.11.11=hb885b13_0 - - readline=8.2=h1a28f6b_0 - - setuptools=78.1.1=py311hca03da5_0 - - sqlite=3.45.3=h80987f9_0 - - tk=8.6.14=h6ba3021_0 - - wheel=0.45.1=py311hca03da5_0 - - xz=5.6.4=h80987f9_1 - - zlib=1.2.13=h18a0788_1 + - python=3.11 + - xrootd + - openssl>=3.5 + - jax + - jaxlib + - numpy + - scipy + - pandas + - matplotlib + - uproot + - vector + - coffea + - tensorflow + - scikit-learn + - pip - pip: - - absl-py==2.2.2 - - aiofile==3.9.0 - - aiohappyeyeballs==2.4.0 - - aiohttp==3.10.5 - - aiohttp-retry==2.9.0 - - aiosignal==1.3.1 - - annotated-types==0.7.0 - - antlr4-python3-runtime==4.9.3 - - anyio==4.4.0 - - appnope==0.1.4 - - argon2-cffi==23.1.0 - - argon2-cffi-bindings==21.2.0 - - arrow==1.3.0 - - asttokens==2.4.1 - - astunparse==1.6.3 - - async-lru==2.0.4 - - async-timeout==4.0.3 - - attrs==24.2.0 - - awkward==2.8.2 - - awkward-cpp==45 - - babel==2.16.0 - - beautifulsoup4==4.12.3 - - black==25.1.0 - - bleach==6.1.0 - - bokeh==3.6.0 - - boost-histogram==1.5.0 - - cabinetry==0.6.0 - - cachetools==5.5.0 - - caio==0.9.17 - - ccorp-yaml-include-relative-path==0.0.4 - - celluloid==0.2.0 - - certifi==2024.8.30 - - cffi==1.17.0 - - cfgv==3.4.0 - - charset-normalizer==3.3.2 - - chex==0.1.89 - - click==8.1.7 - - cloudpickle==3.0.0 - - coffea==2024.8.2 - - colorama==0.4.6 - - comm==0.2.2 - - contourpy==1.3.0 - - correctionlib==2.7.0 - - cramjam==2.8.3 - - cycler==0.12.1 - - dask==2024.8.1 - - dask-awkward==2025.5.0 - - dask-histogram==2025.2.0 - - debugpy==1.8.5 - - decorator==5.1.1 - - defusedxml==0.7.1 - - distlib==0.3.9 - - distributed==2024.8.1 - - docdantic==0.3.1 - - equinox==0.12.2 - - etils==1.12.2 - - evermore==0.2.10 - - exceptiongroup==1.2.2 - - executing==2.0.1 - - fastjsonschema==2.20.0 - - filelock==3.16.1 - - flake8==7.3.0 - - flatbuffers==25.2.10 - - fonttools==4.53.1 - - fqdn==1.5.1 - - frozenlist==1.4.1 - - fsspec==2024.6.1 - - fsspec-xrootd==0.3.0 - - func-adl==3.3.3 - - func-adl-servicex==2.2 - - gast==0.6.0 - - gitdb==4.0.11 - - gitpython==3.1.43 - - google-api-core==2.24.2 - - google-auth==2.35.0 - - google-auth-oauthlib==1.2.1 - - google-cloud-core==2.4.3 - - google-cloud-storage==3.1.0 - - google-crc32c==1.7.1 - - google-pasta==0.2.0 - - google-resumable-media==2.7.2 - - googleapis-common-protos==1.69.2 - - griffe==1.8.0 - - griffe-pydantic==1.1.4 - - grpcio==1.71.0 - - h11==0.14.0 - - h5py==3.13.0 - - hist==2.8.0 - - histoprint==2.4.0 - - httpcore==1.0.5 - - httpx==0.27.2 - - identify==2.6.1 - - idna==3.8 - - iminuit==2.30.1 - - importlib-metadata==8.4.0 - - iniconfig==2.0.0 - - ipykernel==6.29.5 - - ipython==8.27.0 - - ipywidgets==8.1.5 - - isoduration==20.11.0 - - jax==0.6.0 - - jaxlib==0.6.0 - - jaxopt==0.8.5 - - jaxtyping==0.3.2 - - jedi==0.19.1 - - jinja2==3.1.4 - - joblib==1.5.0 - - json5==0.9.25 - - jsonpatch==1.33 - - jsonpointer==3.0.0 - - jsonschema==4.23.0 - - jsonschema-specifications==2023.12.1 - - jupyter==1.1.1 - - jupyter-client==8.6.2 - - jupyter-console==6.6.3 - - jupyter-core==5.7.2 - - jupyter-events==0.10.0 - - jupyter-lsp==2.2.5 - - jupyter-server==2.14.2 - - jupyter-server-mathjax==0.2.6 - - jupyter-server-terminals==0.5.3 - - jupyterlab==4.2.5 - - jupyterlab-pygments==0.3.0 - - jupyterlab-server==2.27.3 - - jupyterlab-widgets==3.0.13 - - keras==3.9.2 - - kiwisolver==1.4.5 - - lark==1.2.2 - - libclang==18.1.1 - - llvmlite==0.43.0 - - locket==1.0.0 - - lz4==4.3.3 - - make-it-sync==2.0.0 - - markdown==3.8 - - markdown-it-py==3.0.0 - - markupsafe==2.1.5 - - matplotlib==3.9.2 - - matplotlib-inline==0.1.7 - - mccabe==0.7.0 - - mdurl==0.1.2 - - miniopy-async==1.21.1 - - mistune==3.0.2 - - ml-dtypes==0.5.1 - - mplhep==0.3.51 - - mplhep-data==0.0.3 - - msgpack==1.1.0 - - multidict==6.0.5 - - mypy==1.13.0 - - mypy-extensions==1.0.0 - - namex==0.0.9 - - nbclient==0.10.0 - - nbconvert==7.16.4 - - nbdime==4.0.2 - - nbformat==5.10.4 - - neos==0.1.dev203+gfd52e3f.d20250515 - - nest-asyncio==1.6.0 - - nodeenv==1.9.1 - - notebook==7.2.2 - - notebook-shim==0.2.4 - - numba==0.60.0 - - numpy==1.26.0 - - oauthlib==3.2.2 - - omegaconf==2.3.0 - - opt-einsum==3.3.0 - - optax==0.2.4 - - optree==0.15.0 - - overrides==7.7.0 - - packaging==24.1 - - pandas==2.2.2 - - pandocfilters==1.5.1 - - parso==0.8.4 - - partd==1.4.2 - - pathspec==0.12.1 - - pexpect==4.9.0 - - pillow==10.4.0 - - platformdirs==4.2.2 - - pluggy==1.5.0 - - pre-commit==4.0.1 - - prometheus-client==0.20.0 - - prompt-toolkit==3.0.47 - - propcache==0.3.1 - - proto-plus==1.26.1 - - protobuf==5.29.4 - - psutil==6.0.0 - - ptyprocess==0.7.0 - - pure-eval==0.2.3 - - pyarrow==17.0.0 - - pyarrow-hotfix==0.6 - - pyasn1==0.6.1 - - pyasn1-modules==0.4.1 - - pycodestyle==2.14.0 - - pycparser==2.22 - - pydantic==2.8.2 - - pydantic-core==2.20.1 - - pyflakes==3.4.0 - - pygments==2.18.0 - - pyhf==0.7.6 - - pyparsing==3.1.4 - - pytest==8.3.3 - - python-dateutil==2.9.0.post0 - - python-json-logger==2.0.7 - - pytz==2024.1 - - pyyaml==6.0.2 - - pyzmq==26.2.0 - - qastle==0.18.0 - - referencing==0.35.1 - - relaxed==0.4.0 - - requests==2.32.3 - - requests-oauthlib==2.0.0 - - rfc3339-validator==0.1.4 - - rfc3986-validator==0.1.1 - - rich==13.8.0 - - rpds-py==0.20.0 - - rsa==4.9 - - ruamel-yaml==0.18.6 - - ruamel-yaml-clib==0.2.12 - - scikit-learn==1.6.1 - - scipy==1.14.1 - - send2trash==1.8.3 - - servicex==3.0.0 - - shellingham==1.5.4 - - six==1.16.0 - - smmap==5.0.1 - - sniffio==1.3.1 - - sortedcontainers==2.4.0 - - soupsieve==2.6 - - stack-data==0.6.3 - - tabulate==0.9.0 - - tblib==3.0.0 - - tenacity==9.0.0 - - tensorboard==2.19.0 - - tensorboard-data-server==0.7.2 - - tensorflow==2.19.0 - - tensorflow-io-gcs-filesystem==0.37.1 - - tensorflow-metal==1.2.0 - - termcolor==3.1.0 - - terminado==0.18.1 - - threadpoolctl==3.6.0 - - tinycss2==1.3.0 - - tinydb==4.8.2 - - toml==0.10.2 - - tomli==2.0.1 - - toolz==0.12.1 - - tornado==6.4.1 - - tqdm==4.66.5 - - traitlets==5.14.3 - - treescope==0.1.9 - - typer==0.12.5 - - types-python-dateutil==2.9.0.20240821 - - types-pyyaml==6.0.12.20240917 - - typing-extensions==4.12.2 - - typing-inspection==0.4.0 - - tzdata==2024.1 - - uhi==0.4.0 - - uproot==5.3.12 - - uri-template==1.3.0 - - urllib3==2.2.2 - - vector==1.5.1 - - virtualenv==20.27.1 - - wadler-lindig==0.1.6 - - wcwidth==0.2.13 - - webcolors==24.8.0 - - webencodings==0.5.1 - - websocket-client==1.8.0 - - werkzeug==3.1.3 - - widgetsnbextension==4.0.13 - - wrapt==1.17.2 - - xgboost==2.1.2 - - xrootd==5.8.2 - - xxhash==3.5.0 - - xyzservices==2024.9.0 - - yarl==1.9.4 - - zict==3.0.0 - - zipp==3.20.1 -prefix: /Users/moaly/miniforge3/envs/lino_zprime_jax + - wadler-lindig + - tensorflow-metal + - tensorflow-io-gcs-filesystem + - stack-data + - relaxed + - pydantic-core + - pyasn1-modules + - notebook-shim + - mypy-extensions + - msgpack + - mplhep-data + - jupyter-events + - jupyter-console + - func-adl-servicex + - fsspec-xrootd + - fastjsonschema + - docdantic + - awkward-cpp diff --git a/user/configuration.py b/user/configuration.py index 337365d..d3a2c54 100644 --- a/user/configuration.py +++ b/user/configuration.py @@ -9,6 +9,7 @@ ) from user.observables import get_mtt, get_mva_vars from user.systematics import jet_pt_resolution, jet_pt_scale +from user.skim import dataset_manager_config, skimming_config # ============================================================================== @@ -36,6 +37,7 @@ # ============================================================================== general_config = { +<<<<<<< HEAD "lumi": 16400, "weights_branch": "genWeight", "max_files": -1, @@ -53,6 +55,26 @@ "lumifile": "./corrections/Cert_271036-284044_13TeV_Legacy2016_"\ "Collisions16_JSON.txt", "cache_dir": "/tmp/gradients_analysis/", +======= + "lumi": 16400, + "weights_branch": "genWeight", + "max_files": -1, + "analysis": "diff", + "run_skimming": False, + "run_histogramming": False, + "run_statistics": False, + "run_systematics": False, + "run_plots_only": False, + "run_mva_training": True, + "run_metadata_generation": True, + "read_from_cache": True, + "output_dir": "outputs/traced_zprime_with_jax_nn/", + "processor": "uproot", + "lumifile": "./corrections/Cert_271036-284044_13TeV_Legacy2016_"\ + "Collisions16_JSON.txt", + "cache_dir": "/tmp/gradients_analysis/", + "processes": ["signal"] +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) } # ============================================================================== @@ -60,6 +82,7 @@ # ============================================================================== preprocess_config = { +<<<<<<< HEAD "branches": { "Muon": ["pt", "eta", "phi", "mass", "miniIsoId", "tightId", "charge"], "FatJet": ["particleNet_TvsQCD", "pt", "eta", "phi", "mass"], @@ -74,6 +97,23 @@ "event": ["genWeight", "luminosityBlock"], "Pileup": ["nTrueInt"], }, +======= + "branches": { + "Muon": ["pt", "eta", "phi", "mass", "miniIsoId", "tightId", "charge"], + "FatJet": ["particleNet_TvsQCD", "pt", "eta", "phi", "mass"], + "Jet": ["btagDeepB", "jetId", "pt", "eta", "phi", "mass"], + "PuppiMET": ["pt", "phi"], + "HLT": ["TkMu50"], + "Pileup": ["nTrueInt"], + "event": ["genWeight", "run", "luminosityBlock", "event"], + }, + "ignore_missing": False, # is this implemented? + "mc_branches": { + "event": ["genWeight", "luminosityBlock"], + "Pileup": ["nTrueInt"], + }, + "skimming": skimming_config, +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) } # ============================================================================== @@ -439,4 +479,5 @@ "systematics": systematics_config, "statistics": statistics_config, "plotting": plotting_config, + "datasets": dataset_manager_config, } diff --git a/user/cuts.py b/user/cuts.py index dc0bb77..52e3c5e 100644 --- a/user/cuts.py +++ b/user/cuts.py @@ -585,3 +585,61 @@ def Zprime_softcuts_CR2( ) return selections + + +#==================== +# Skimming selection for preprocessing +#==================== +def default_skim_selection( + muons: ak.Array, + jets: ak.Array, + met: ak.Array, + hlt: ak.Array +) -> PackedSelection: + """ + Default skimming selection matching the hardcoded behavior in utils/preproc.py. + + This replicates the current hardcoded selections: + - Exactly 1 muon with pT > 55 GeV, |eta| < 2.4, tight ID, mini-isolation + - HLT_TkMu50 trigger + - MET > 50 GeV + + Parameters + ---------- + muons : ak.Array + Muon collection + jets : ak.Array + Jet collection (not used in this selection) + met : ak.Array + Missing transverse energy + hlt : ak.Array + HLT trigger collection + + Returns + ------- + PackedSelection + Selection object with skimming cuts + """ + selections = PackedSelection(dtype="uint64") + + # Muon selection (matching hardcoded behavior in preproc.py) + mu_sel = ( + (muons.pt > 55) + & (abs(muons.eta) < 2.4) + & muons.tightId + & (muons.miniIsoId > 1) + ) + muon_count = ak.sum(mu_sel, axis=1) + + # Individual cuts + selections.add("trigger", hlt.TkMu50) + selections.add("exactly_1_good_muon", muon_count == 1) + selections.add("met_cut", met.pt > 50) + + # Combined skimming selection + selections.add( + "skim_selection", + selections.all("trigger", "exactly_1_good_muon", "met_cut") + ) + + return selections diff --git a/utils/build_fileset_json.py b/utils/build_fileset_json.py index be3b7d6..b5e5710 100644 --- a/utils/build_fileset_json.py +++ b/utils/build_fileset_json.py @@ -23,23 +23,14 @@ import awkward as ak import uproot +from utils.datasets import ConfigurableDatasetManager, create_default_dataset_config + # Configure module-level logger logger = logging.getLogger(__name__) logger.addHandler(logging.NullHandler()) -# Default directory mapping for each physics process -DEFAULT_DATASET_DIRECTORIES: Dict[str, Path] = { - "signal": Path("datasets/signal/m400_w40/"), - "ttbar_semilep": Path("datasets/ttbar_semilep/"), - "ttbar_had": Path("datasets/ttbar_had/"), - "ttbar_lep": Path("datasets/ttbar_lep/"), - "wjets": Path("datasets/wjets/"), - "data": Path("datasets/data/"), -} - - def get_root_file_paths( directory: Union[str, Path], identifiers: Optional[Union[int, List[int]]] = None, @@ -88,29 +79,41 @@ def get_root_file_paths( for line in txt_file.read_text().splitlines(): path_str = line.strip() if path_str: - root_paths.append(Path(path_str)) + root_paths.append(path_str) return root_paths +<<<<<<< HEAD def count_events_in_files(files: List[Path]) -> Tuple[List[int], List[float]]: +======= +def count_events_in_files( + files: List[Path], + tree_name: str = "Events", + weight_branch: str = "genWeight" +) -> Tuple[List[int], List[float]]: +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) """ Query ROOT files for event counts and sum of generator weights. - Opens each file with uproot, reads the "Events" TTree, - and accumulates the number of entries and sum of "genWeight". + Opens each file with uproot, reads the specified TTree, + and accumulates the number of entries and sum of weight branch. Parameters ---------- files : list of Path Paths to ROOT files to inspect. + tree_name : str, optional + Name of the ROOT tree to read. Default is "Events". + weight_branch : str, optional + Name of the weight branch. Default is "genWeight". Returns ------- num_entries : list of int - Number of events in each file's "Events" tree. + Number of events in each file's tree. sum_weights : list of float - Total of `genWeight` values per file. + Total of weight values per file. """ num_entries: List[int] = [] sum_weights: List[float] = [] @@ -125,9 +128,9 @@ def count_events_in_files(files: List[Path]) -> Tuple[List[int], List[float]]: ) try: with uproot.open(file_path) as root_file: - tree = root_file["Events"] + tree = root_file[tree_name] num_entries.append(tree.num_entries) - weights = tree["genWeight"].array(library="ak") + weights = tree[weight_branch].array(library="ak") sum_weights.append(float(ak.sum(weights))) except Exception as err: logger.warning(f"Error reading {file_path}: {err}") @@ -143,8 +146,8 @@ class NanoAODMetadataGenerator: Attributes ---------- - process_directories : Dict[str, Path] - Map from process name to directory of `.txt` listings. + dataset_manager : ConfigurableDatasetManager + Dataset manager containing all configuration. output_directory : Path Directory where individual JSON files and master index will be written. @@ -158,16 +161,27 @@ class NanoAODMetadataGenerator: def __init__( self, +<<<<<<< HEAD process_directories: Optional[Dict[str, Union[str, Path]]] = None, output_directory: Union[ str, Path ] = "datasets/nanoaods_jsons_per_process", +======= + dataset_manager: Optional[ConfigurableDatasetManager] = None, + output_directory: Optional[Union[str, Path]] = None +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) ): - # Initialize mapping from process to directory path - raw_map = process_directories or DEFAULT_DATASET_DIRECTORIES - self.process_directories: Dict[str, Path] = { - name: Path(path) for name, path in raw_map.items() - } + # Use provided dataset manager or create default + if dataset_manager is None: + dataset_config = create_default_dataset_config() + self.dataset_manager = ConfigurableDatasetManager(dataset_config) + else: + self.dataset_manager = dataset_manager + + # Use provided output directory or get from dataset manager config + if output_directory is None: + output_directory = self.dataset_manager.config.metadata_output_dir + # Ensure output directory exists self.output_directory = Path(output_directory) self.output_directory.mkdir(parents=True, exist_ok=True) @@ -194,15 +208,23 @@ def get_metadata( """ results: Dict[str, Dict[str, Any]] = defaultdict(dict) - for process_name, listing_dir in self.process_directories.items(): + for process_name in self.dataset_manager.list_processes(): logger.info(f"Processing process: {process_name}") + + # Get process configuration + listing_dir = self.dataset_manager.get_dataset_directory(process_name) + tree_name = self.dataset_manager.get_tree_name(process_name) + weight_branch = self.dataset_manager.get_weight_branch(process_name) + try: file_paths = get_root_file_paths(listing_dir, identifiers) except FileNotFoundError as fnf: logger.error(fnf) continue - entries_count, weight_sums = count_events_in_files(file_paths) + entries_count, weight_sums = count_events_in_files( + file_paths, tree_name=tree_name, weight_branch=weight_branch + ) variation_label = "nominal" file_records = [ {"path": str(fp), "nevts": cnt, "nevts_wt": wt} @@ -243,8 +265,8 @@ def run(self, identifiers: Optional[Union[int, List[int]]] = None) -> None: ) logger.debug(f"Wrote file: {output_file}") - # Write master metadata index - master_file = Path("datasets/nanoaods.json") + # Write master metadata index using configured path + master_file = Path(self.dataset_manager.config.metadata_output_dir) / "nanoaods.json" master_file.parent.mkdir(parents=True, exist_ok=True) with master_file.open("w") as mfile: json.dump(metadata, mfile, indent=4) diff --git a/utils/input_files.py b/utils/input_files.py index b4bfad6..2c5caa4 100644 --- a/utils/input_files.py +++ b/utils/input_files.py @@ -1,11 +1,11 @@ import json import logging from pathlib import Path -from typing import Any, Dict, Union +from typing import Any, Dict, Optional, Union from tabulate import tabulate -defaul_dataset_json = Path("datasets/nanoaods.json") +from utils.datasets import ConfigurableDatasetManager, create_default_dataset_config # Configure module-level logger logger = logging.getLogger(__name__) @@ -14,7 +14,8 @@ def construct_fileset( max_files_per_sample: int, preprocessor: str = "uproot", - json_path: Union[str, Path] = defaul_dataset_json, + json_path: Optional[Union[str, Path]] = None, + dataset_manager: Optional[ConfigurableDatasetManager] = None, ) -> Dict[str, Dict[str, Any]]: """ Build a structured fileset mapping for physics analyses including @@ -35,15 +36,23 @@ def construct_fileset( - other: list each file individually Default is "uproot". json_path : str or Path, optional +<<<<<<< HEAD Path to the JSON configuration file specifying samples variations and file lists. Defaults to 'datasets/nanoaods.json'. +======= + Path to the JSON configuration file specifying samples, variations, and file lists. + If None, uses dataset_manager.config.metadata_output_dir. + dataset_manager : ConfigurableDatasetManager, optional + Dataset manager containing all configuration for cross-sections, paths, etc. + If None, creates a default dataset manager. +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) Returns ------- fileset : dict Nested mapping where each key "__" maps to: - - files (dict): {file_path_or_pattern: "Events"} + - files (dict): {file_path_or_pattern: tree_name} - metadata (dict): { "process": str, "variation": str, @@ -54,10 +63,12 @@ def construct_fileset( Raises ------ + ValueError + If max_files_per_sample is invalid. FileNotFoundError If the JSON configuration file does not exist. - ValueError - If `max_files_per_sample` is less than -1. + KeyError + If a process is not found in the dataset manager configuration. JSONDecodeError If the JSON file cannot be parsed. """ @@ -68,7 +79,17 @@ def construct_fileset( f"got {max_files_per_sample}" ) - json_file = Path(json_path) + print(dataset_manager.datasets) + # Use provided dataset manager or create default + if dataset_manager is None: + dataset_config = create_default_dataset_config() + dataset_manager = ConfigurableDatasetManager(dataset_config) + + # Use provided json_path or get from dataset manager config + if json_path is None: + json_path = dataset_manager.config.metadata_output_dir + + json_file = Path(json_path) / "nanoaods.json" if not json_file.is_file(): raise FileNotFoundError(f"Dataset JSON file not found: {json_file}") @@ -76,20 +97,14 @@ def construct_fileset( with json_file.open("r") as f: dataset_info = json.load(f) - # Cross-section lookup (in picobarns) - cross_section_map: Dict[str, float] = { - "signal": 1.0, - "ttbar_semilep": 831.76 * 0.438, - "ttbar_had": 831.76 * 0.457, - "ttbar_lep": 831.76 * 0.105, - "wjets": 61526.7, - "data": 1.0, - } - fileset: Dict[str, Dict[str, Any]] = {} # Iterate over each process and its systematic variations for process_name, variations in dataset_info.items(): + # Validate that process is configured in dataset manager + if not dataset_manager.validate_process(process_name): + raise KeyError(f"Process '{process_name}' not found in dataset manager configuration") + for variation_name, info in variations.items(): # Extract raw file entries raw_entries = info.get("files", []) @@ -104,16 +119,21 @@ def construct_fileset( entry.get("nevts_wt", 0.0) for entry in raw_entries ) + # Get cross-section and tree name from dataset manager + xsec = dataset_manager.get_cross_section(process_name) + tree_name = dataset_manager.get_tree_name(process_name) + # Prepare metadata dict metadata = { "process": process_name, "variation": variation_name, "nevts": total_events, "nevts_wt": total_weighted, - "xsec": cross_section_map.get(process_name, 0.0), + "xsec": xsec, } # Determine file path patterns or explicit paths +<<<<<<< HEAD if preprocessor == "uproot": # Use glob pattern for directory-based access if process_name == "data": @@ -134,6 +154,32 @@ def construct_fileset( file_map = { entry.get("path", ""): "Events" for entry in raw_entries } +======= + # if preprocessor == "uproot": + # # Use glob pattern for directory-based access + # remote_config = dataset_manager.get_remote_access_config(process_name) + # if remote_config and remote_config.get("protocol") == "xrootd": + # # Use configured remote access + # base_pattern = ( + # f"{remote_config['base_url']}/" + # f"{remote_config.get('path_pattern', '')}" + # ) + # file_pattern = dataset_manager.get_file_pattern(process_name) + # file_map = {f"{base_pattern}/{file_pattern}": tree_name} + # else: + # # Use local directory pattern - deduce from first file path + # if raw_entries: + # first_path = raw_entries[0].get("path", "") + # base_pattern = str(Path(first_path).parents[1]) + # file_map = {f"{base_pattern}/*/*.root": tree_name} + # else: + # # No files available, create empty file map + # file_map = {} + # else: + # Explicit file listings for other preprocessors + file_map = {entry.get("path", ""): tree_name for entry in raw_entries} + print(file_map) +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) key = f"{process_name}__{variation_name}" fileset[key] = {"files": file_map, "metadata": metadata} @@ -146,12 +192,13 @@ def construct_fileset( # --- Add summary table --- summary_data = [] - headers = ["Key", "Process", "Variation", "# Files"] + headers = ["Key", "Process", "Variation", "# Files", "Cross-section"] for key, content in fileset.items(): process = content["metadata"]["process"] variation = content["metadata"]["variation"] num_files = len(content["files"]) - summary_data.append([key, process, variation, num_files]) + xsec = content["metadata"]["xsec"] + summary_data.append([key, process, variation, num_files, f"{xsec:.2f} pb"]) # Sort by key for consistent output summary_data.sort(key=lambda x: x[0]) diff --git a/utils/logging.py b/utils/logging.py index f2294d2..1780921 100644 --- a/utils/logging.py +++ b/utils/logging.py @@ -1,4 +1,7 @@ import logging +from typing import Any, Dict, List, Optional, Tuple + +from tabulate import tabulate # ANSI escape codes for colors BLUE = "\033[0;34m" diff --git a/utils/preproc.py b/utils/preproc.py index fa39d4d..50ce573 100644 --- a/utils/preproc.py +++ b/utils/preproc.py @@ -7,6 +7,8 @@ from tqdm import tqdm import uproot +from utils.skimming import ConfigurableSkimmingManager, create_default_skimming_config + logger = logging.getLogger(__name__) @@ -64,6 +66,7 @@ def pre_process_dak( configuration, step_size=100_000, is_mc=True, + skimming_manager=None, ): """ Preprocess input ROOT file by applying basic filtering and reducing branches. @@ -74,16 +77,27 @@ def pre_process_dak( Path to the input ROOT file. tree : str Name of the TTree inside the file. - output_path : str + output_dir : str Destination directory for filtered output. + configuration : object + Configuration object containing branch selection and other settings. step_size : int Chunk size to load events incrementally. + is_mc : bool + Whether input files are Monte Carlo. + skimming_manager : ConfigurableSkimmingManager, optional + Skimming manager for configurable selections. If None, creates default. Returns ------- int Total number of input events before filtering. """ + # Use provided skimming manager or create default + if skimming_manager is None: + skimming_config = create_default_skimming_config() + skimming_manager = ConfigurableSkimmingManager(skimming_config) + with uproot.open(f"{input_path}:{tree}") as f: total_events = f.num_entries @@ -93,6 +107,7 @@ def pre_process_dak( ) branches = build_branches_to_keep(configuration, mode="dak", is_mc=is_mc) + step_size = skimming_manager.get_chunk_size() selected = None for start in range(0, total_events, step_size): @@ -107,15 +122,11 @@ def pre_process_dak( # xrootd_handler= uproot.source.xrootd.MultithreadedXRootDSource, ).events() - mu_sel = ( - (events.Muon.pt > 55) - & (abs(events.Muon.eta) < 2.4) - & events.Muon.tightId - & (events.Muon.miniIsoId > 1) - ) - muon_count = ak.sum(mu_sel, axis=1) - mask = ( - events.HLT.TkMu50 & (muon_count == 1) & (events.PuppiMET.pt > 50) + # Apply configurable selection + from analysis.base import Analysis # Import here to avoid circular imports + temp_analysis = Analysis(configuration) # Create temporary analysis instance + mask = skimming_manager.apply_nanoaod_selection( + events, temp_analysis._get_function_arguments ) filtered = events[mask] @@ -146,9 +157,11 @@ def pre_process_dak( else ak.concatenate([selected, compact]) ) + output_tree_name = skimming_manager.get_tree_name() + logger.info(f"💾 Writing skimmed output to: {output_dir}") uproot.dask_write( - selected, destination=output_dir, compute=True, tree_name=tree + selected, destination=output_dir, compute=True, tree_name=output_tree_name ) return total_events @@ -163,6 +176,7 @@ def pre_process_uproot( configuration, step_size=100_000, is_mc=True, + skimming_manager=None, ): """ Process a ROOT file by applying a selection function on chunks of data @@ -182,13 +196,22 @@ def pre_process_uproot( Number of entries to process in each chunk. is_mc : bool Flag indicating whether the input data is from MC or not. + skimming_manager : ConfigurableSkimmingManager, optional + Skimming manager for configurable selections. If None, creates default. + Returns ------- bool True if the output file was created successfully, False otherwise. """ + # Use provided skimming manager or create default + if skimming_manager is None: + skimming_config = create_default_skimming_config() + skimming_manager = ConfigurableSkimmingManager(skimming_config) + + cut_str = skimming_manager.get_uproot_cut_string() + step_size = skimming_manager.get_chunk_size() - cut_str = "HLT_TkMu50*(PuppiMET_pt>50)" branches = build_branches_to_keep( configuration, mode="uproot", is_mc=is_mc ) @@ -217,6 +240,8 @@ def pre_process_uproot( n_chunks = (total_events + step_size - 1) // step_size # Ceiling division pbar = tqdm(iterable, total=n_chunks, desc="Processing events") + output_tree_name = skimming_manager.get_tree_name() + # Initialize output file and tree output = None output_tree = None @@ -237,7 +262,7 @@ def pre_process_uproot( branch_types[branch] = np.dtype(arrays[branch].dtype) # Create the output tree with proper types - output_tree = output.mktree(tree, branch_types) + output_tree = output.mktree(output_tree_name, branch_types) # Make sure we only write available branches that match the output tree # This handles the case where some branches might be missing in later chunks diff --git a/utils/schema.py b/utils/schema.py index 6dd757e..7db9566 100644 --- a/utils/schema.py +++ b/utils/schema.py @@ -119,11 +119,16 @@ class GeneralConfig(SubscriptableModel): ] analysis: Annotated[ Optional[str], +<<<<<<< HEAD Field( default="nondiff", description="The analysis mode to run: 'diff' (differentiable) " "'nondiff' or 'both'.", ), +======= + Field(default="nondiff", + description="The analysis mode to run: 'diff' (differentiable), 'nondiff', 'both', or 'skip' (skim-only mode)."), +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) ] max_files: Annotated[ Optional[int], @@ -133,7 +138,7 @@ class GeneralConfig(SubscriptableModel): "Use -1 for no limit.", ), ] - run_preprocessing: Annotated[ + run_skimming: Annotated[ bool, Field( default=False, @@ -178,6 +183,13 @@ class GeneralConfig(SubscriptableModel): description="If True, run the MVA model pre-training step.", ), ] + run_metadata_generation: Annotated[ + bool, + Field( + default=True, + description="If True, run the JSON metadata generation step before constructing fileset.", + ), + ] read_from_cache: Annotated[ bool, Field( @@ -203,6 +215,7 @@ class GeneralConfig(SubscriptableModel): "'dask-awkward'.", ), ] +<<<<<<< HEAD preprocessed_dir: Annotated[ Optional[str], Field( @@ -210,6 +223,8 @@ class GeneralConfig(SubscriptableModel): description="Directory containing pre-processed (skimmed) ROOT files.", ), ] +======= +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) cache_dir: Annotated[ Optional[str], Field( @@ -237,9 +252,9 @@ class GeneralConfig(SubscriptableModel): @model_validator(mode="after") def validate_general(self) -> "GeneralConfig": """Validate the general configuration settings.""" - if self.analysis not in ["diff", "nondiff", "both"]: + if self.analysis not in ["diff", "nondiff", "both", "skip"]: raise ValueError( - f"Invalid analysis mode '{self.analysis}'. Must be 'diff' or 'nondiff'." + f"Invalid analysis mode '{self.analysis}'. Must be 'diff', 'nondiff', 'both', or 'skip'." ) return self @@ -315,6 +330,79 @@ class JaxConfig(SubscriptableModel): ] +# ------------------------ +# Dataset configuration +# ------------------------ +class DatasetConfig(SubscriptableModel): + """Configuration for individual dataset paths, cross-sections, and metadata""" + name: Annotated[str, Field(description="Dataset name/identifier")] + directory: Annotated[str, Field(description="Directory containing dataset files")] + cross_section: Annotated[float, Field(description="Cross-section in picobarns")] + file_pattern: Annotated[str, Field(default="*.root", description="File pattern for dataset files")] + tree_name: Annotated[str, Field(default="Events", description="ROOT tree name")] + weight_branch: Annotated[str, Field(default="genWeight", description="Branch name for event weights")] + remote_access: Annotated[ + Optional[dict[str, str]], + Field(default=None, description="Configuration for remote access (EOS, XRootD, etc.)") + ] + +class DatasetManagerConfig(SubscriptableModel): + """Top-level dataset management configuration""" + datasets: Annotated[List[DatasetConfig], Field(description="List of dataset configurations")] + metadata_output_dir: Annotated[ + str, + Field(default="datasets/nanoaods_jsons/", description="Directory for metadata JSON files") + ] + +# ------------------------ +# Skimming configuration +# ------------------------ +class SkimmingConfig(SubscriptableModel): + """Configuration for skimming selections and output""" + # For NanoAOD/DAK mode - uses functor pattern + nanoaod_selection: Annotated[ + Optional[FunctorConfig], + Field(default=None, description="Selection function for NanoAOD/DAK preprocessing mode") + ] + + # For pure uproot mode - string-based cuts + uproot_cut_string: Annotated[ + Optional[str], + Field(default=None, description="Cut string for pure uproot preprocessing mode") + ] + + # Output directory configuration + output_dir: Annotated[ + Optional[str], + Field( + default=None, + description="Base directory for skimmed files. When run_skimming=True, this is where " + "skimmed files will be written. When run_skimming=False, this is where " + "existing skimmed files will be read from. Files follow the fixed structure: " + "{output_dir}/{dataset}/file__{idx}/part_X.root where X is the chunk number. " + "If None, uses {general.output_dir}/skimmed/" + ) + ] + + # File handling configuration + chunk_size: Annotated[ + int, + Field(default=100_000, description="Number of events to process per chunk") + ] + tree_name: Annotated[ + str, + Field(default="Events", description="ROOT tree name for input and output files") + ] + + @model_validator(mode="after") + def validate_selection_config(self) -> "SkimmingConfig": + """Validate that at least one selection method is provided.""" + if not self.nanoaod_selection and not self.uproot_cut_string: + raise ValueError( + "Either 'nanoaod_selection' or 'uproot_cut_string' must be provided for skimming." + ) + return self + # ------------------------ # Preprocessing configuration # ------------------------ @@ -338,6 +426,12 @@ class PreprocessConfig(SubscriptableModel): ), ] + # Enhanced skimming configuration + skimming: Annotated[ + Optional[SkimmingConfig], + Field(default=None, description="Configuration for skimming selections and output") + ] + @model_validator(mode="after") def validate_branches(self) -> "PreprocessConfig": """Validate the branch configuration for duplicates and consistency.""" @@ -370,6 +464,11 @@ def validate_branches(self) -> "PreprocessConfig": f"'{br}' is not present in branches for '{obj}'." ) + # Create default skimming configuration if none provided + if self.skimming is None: + from utils.skimming import create_default_skimming_config + self.skimming = create_default_skimming_config() + return self @@ -1140,6 +1239,12 @@ class Config(SubscriptableModel): ), ] + # Enhanced dataset management + datasets: Annotated[ + Optional[DatasetManagerConfig], + Field(default=None, description="Dataset management configuration") + ] + @model_validator(mode="after") def validate_config(self) -> "Config": # Check for duplicate channel names @@ -1161,11 +1266,17 @@ def validate_config(self) -> "Config": "Duplicate systematic names found in configuration." ) - if self.general.run_preprocessing and not self.preprocess: + if self.general.run_skimming and not self.preprocess: raise ValueError( - "Preprocessing is enabled but no preprocess configuration provided." + "Skimming is enabled but no preprocess configuration provided." ) + # Handle skimming output directory defaults + if self.preprocess and self.preprocess.skimming: + # Set default skimming output directory if not specified + if self.preprocess.skimming.output_dir is None: + self.preprocess.skimming.output_dir = f"{self.general.output_dir}/skimmed" + if self.statistics is not None: if ( self.general.run_statistics @@ -1220,15 +1331,16 @@ def validate_config(self) -> "Config": seen_objects.add(object_mask.object) # check for duplicate mva parameter names - all_mva_params: List[str] = [] - for net in self.mva: - for layer in net.layers: - all_mva_params += [layer.weights, layer.bias] - duplicates = {p for p in all_mva_params if all_mva_params.count(p) > 1} - if duplicates: - raise ValueError( - f"Duplicate NN parameter names across MVAs: {sorted(duplicates)}" - ) + if self.mva is not None: + all_mva_params: List[str] = [] + for net in self.mva: + for layer in net.layers: + all_mva_params += [layer.weights, layer.bias] + duplicates = {p for p in all_mva_params if all_mva_params.count(p) > 1} + if duplicates: + raise ValueError( + f"Duplicate NN parameter names across MVAs: {sorted(duplicates)}" + ) return self diff --git a/utils/tools.py b/utils/tools.py index 761f9e6..67ba343 100644 --- a/utils/tools.py +++ b/utils/tools.py @@ -1,8 +1,13 @@ +import logging from collections import defaultdict -from typing import Any, Mapping, Sequence +from typing import Any, Dict, List, Mapping, Optional, Sequence, Tuple import awkward as ak +<<<<<<< HEAD +======= +logger = logging.getLogger(__name__) +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) def nested_defaultdict_to_dict(nested_structure: Any) -> dict: """ @@ -70,3 +75,59 @@ def recursive_to_backend(data_structure: Any, backend: str = "jax") -> Any: else: # Leave unchanged if not an Awkward structure return data_structure +<<<<<<< HEAD +======= + + +def get_function_arguments( + arg_spec: List[Tuple[str, Optional[str]]], + objects: Dict[str, ak.Array], + function_name: Optional[str] = "generic_function" +) -> List[ak.Array]: + """ + Prepare function arguments from object dictionary. + + Parameters + ---------- + arg_spec : List[Tuple[str, Optional[str]]] + List of (object, field) specifications + objects : Dict[str, ak.Array] + Object dictionary + function_name : Optional[str] + Name of function for error reporting + + Returns + ------- + List[ak.Array] + Prepared arguments + """ + def raise_error(field_name: str) -> None: + """ + Raise KeyError if object is missing in objects dictionary. + + Parameters + ---------- + field_name : str + Missing field name + """ + logger.error( + f"Field '{field_name}' needed for {function_name} " + f"is not found in objects dictionary" + ) + raise KeyError(f"Missing field: {field_name}, function: {function_name}") + + args = [] + for obj_name, field_name in arg_spec: + if field_name: + try: + args.append(objects[obj_name][field_name]) + except KeyError: + raise_error(f"{obj_name}.{field_name}") + else: + try: + args.append(objects[obj_name]) + except KeyError: + raise_error(obj_name) + + return args +>>>>>>> bfd419e (first go at improving skimming setup to work out of box) From 179819e0446013d97d5bfba7b07364460fef2a7a Mon Sep 17 00:00:00 2001 From: maly Date: Fri, 8 Aug 2025 08:24:19 +0400 Subject: [PATCH 02/24] update readme --- README.md | 271 +++++++++--------------------------------------------- 1 file changed, 41 insertions(+), 230 deletions(-) diff --git a/README.md b/README.md index d1f9137..fec0dfb 100644 --- a/README.md +++ b/README.md @@ -320,278 +320,89 @@ The allowed top-level keys for CLI overrides are: Attempting to override other keys (e.g., `jax.params`) will result in an error. To change these, you must edit the `user/configuration.py` file directly. -## Config-Driven Skimming Framework +## Skimming Integration -The framework provides a configuration-driven approach to data skimming. This section explains how to configure and use the skimming system for your analysis. +The framework provides an integrated skimming system that handles data preprocessing before analysis. -### Core Components +### Usage Modes -The skimming framework has three main parts: +The skimming system operates in three modes: -1. **Dataset Configuration**: Define where your data lives and its properties -2. **Skimming Configuration**: Define how to filter and process your data -3. **Selection Functions**: Define the physics logic for event selection - ---- +1. **Skim-only**: `general.analysis=skip` - Only performs skimming, no analysis +2. **Skim-and-analyse**: `general.run_skimming=True` - Skims data then runs analysis +3. **Analysis-only**: `general.run_skimming=False` - Uses existing skimmed files ### Dataset Configuration -Dataset configuration centralizes information about your data samples, including file locations, cross-sections, and metadata. - -#### Basic Dataset Setup - -Create a dataset configuration in `user/skim.py`: - -```python -# user/skim.py -datasets_config = [ - { - "name": "signal", - "directory": "datasets/signal/", - "cross_section": 1.0, # pb - "tree_name": "Events", - "weight_branch": "genWeight" - }, - { - "name": "ttbar_semilep", - "directory": "datasets/ttbar_semilep/", - "cross_section": 831.76, # pb - "tree_name": "Events", - "weight_branch": "genWeight" - }, - { - "name": "wjets", - "directory": "datasets/wjets/", - "cross_section": 61526.7, # pb - "tree_name": "Events", - "weight_branch": "genWeight" - }, - { - "name": "data", - "directory": "datasets/data/", - "cross_section": 1.0, # Not used for data - "tree_name": "Events", - "weight_branch": "genWeight" # Not used for data - } -] -``` - -#### Advanced Dataset Configuration - -For more complex setups, you can specify additional properties: - -```python -datasets_config = [ - { - "name": "zprime_2000", - "directory": "/eos/cms/store/user/myuser/zprime_M2000/", - "cross_section": 0.123, - "tree_name": "Events", - "weight_branch": "genWeight", - "metadata": { - "mass": 2000, - "campaign": "RunIISummer20UL16", - "generator": "MadGraph" - } - }, - { - "name": "ttbar_powheg", - "directory": "/eos/cms/store/user/myuser/ttbar_powheg/", - "cross_section": 831.76, - "tree_name": "Events", - "weight_branch": "genWeight", - "metadata": { - "generator": "Powheg+Pythia8", - "tune": "CP5" - } - } -] -``` - -#### Using Different Storage Systems - -The framework supports various file storage patterns: +The dataset manager expects text files containing lists of ROOT file paths. Configure datasets in `user/skim.py` by pointing to these text files: ```python -# Local files -{ - "name": "local_sample", - "directory": "/home/user/data/sample/", - "cross_section": 100.0 -} - -# EOS storage -{ - "name": "eos_sample", - "directory": "/eos/cms/store/user/username/sample/", - "cross_section": 50.0 -} - -# XRootD URLs (will be auto-detected) -{ - "name": "remote_sample", - "directory": "root://cms-xrd-global.cern.ch//store/mc/sample/", - "cross_section": 25.0 +# user/skim.py - See existing implementation for details +dataset_manager_config = { + "datasets": [ + { + "name": "signal", + "directory": "datasets/signal/", # Directory containing .txt files with ROOT file lists + "cross_section": 1.0, + }, + # ... other datasets + ] } ``` ---- +Each dataset directory should contain `.txt` files where each line is a path to a ROOT file. ### Skimming Configuration -Skimming configuration defines how events are filtered and processed. The framework supports two modes: - -- **NanoAOD Mode**: Uses Python functions with `PackedSelection` (more flexible) -- **Uproot Mode**: Uses string-based cuts (faster for simple selections) - -#### Basic Skimming Setup +Define your skimming selection in `user/cuts.py` (see `default_skim_selection` for reference) and configure it in `user/skim.py`: ```python -# user/skim.py -from user.cuts import default_skim_selection - +# user/skim.py - See existing implementation for details skimming_config = { - # NanoAOD mode selection "nanoaod_selection": { "function": default_skim_selection, "use": [("Muon", None), ("Jet", None), ("PuppiMET", None), ("HLT", None)] }, - - # Uproot mode selection (alternative/complementary) - "uproot_cut_string": "HLT_TkMu50*(PuppiMET_pt>50)*(nMuon>=1)", - - # Output settings - "output_pattern": "part{idx}.root", - "chunk_size": 100_000, - "tree_name": "Events", - "weight_branch": "genWeight" + "uproot_cut_string": "HLT_TkMu50*(PuppiMET_pt>50)", + # ... other settings } ``` -#### Skimming Configuration Options +### Integration -| Parameter | Type | Description | Example | -|-----------|------|-------------|---------| -| `nanoaod_selection` | `dict` | Python function-based selection | See below | -| `uproot_cut_string` | `str` | String-based cut for uproot | `"pt>50*(eta<2.4)"` | -| `output_dir` | `str` | Output directory (auto-set if None) | `"skimmed_data/"` | -| `output_pattern` | `str` | Filename pattern with `{idx}` placeholder | `"skim_{idx}.root"` | -| `chunk_size` | `int` | Events per processing chunk | `50000` | -| `tree_name` | `str` | ROOT tree name | `"Events"` | -| `weight_branch` | `str` | Event weight branch name | `"genWeight"` | - ---- - -### Selection Functions - -Selection functions define the physics logic for event filtering. They use the same functor pattern as the main analysis. - -#### Basic Selection Function - -```python -# user/cuts.py -import awkward as ak -from coffea.analysis_tools import PackedSelection - -def default_skim_selection(muons, jets, met, hlt): - """ - Basic skimming selection for Z' → tt analysis. - - Parameters - ---------- - muons : ak.Array - Muon collection - jets : ak.Array - Jet collection - met : ak.Array - MET collection - hlt : ak.Array - HLT trigger collection - - Returns - ------- - PackedSelection - Selection object with named cuts - """ - selection = PackedSelection() - - # Muon selection: exactly one tight muon - mu_sel = ( - (muons.pt > 55) - & (abs(muons.eta) < 2.4) - & muons.tightId - & (muons.miniIsoId > 1) - ) - muon_count = ak.sum(mu_sel, axis=1) - selection.add("single_muon", muon_count == 1) - - # MET selection - selection.add("met", met.pt > 50) - - # HLT selection - selection.add("trigger", hlt.TkMu50) - - # Jet selection: at least 4 jets - jet_sel = (jets.pt > 30) & (abs(jets.eta) < 2.4) & (jets.jetId >= 4) - jet_count = ak.sum(jet_sel, axis=1) - selection.add("jets", jet_count >= 4) - - return selection -``` ---- - -### 4. Integration with Main Configuration - -Once you've defined your datasets and skimming configuration, integrate them with your main analysis configuration: +Connect the configurations in `user/configuration.py`: ```python -# user/configuration.py -from user.skim import datasets_config, skimming_config - -# ... other configuration blocks ... +# user/configuration.py - See existing implementation for details +from user.skim import dataset_manager_config, skimming_config config = { "general": { - "lumi": 16400, - "analysis": "diff", - "run_preprocessing": True, # Enable skimming - "output_dir": "outputs/my_analysis/", - # preprocessed_dir will automatically default to output_dir/skimmed/ + "run_skimming": False, # Set to True to enable }, - "preprocess": { - "branches": { - "Muon": ["pt", "eta", "phi", "mass", "miniIsoId", "tightId", "charge"], - "Jet": ["btagDeepB", "jetId", "pt", "eta", "phi", "mass"], - "PuppiMET": ["pt", "phi"], - "HLT": ["TkMu50"], - "event": ["genWeight", "run", "luminosityBlock"], - }, - "mc_branches": { - "event": ["genWeight"], - }, - "skimming": skimming_config # Add your skimming config + "skimming": skimming_config }, - - "datasets": datasets_config, # Add your dataset config - - # ... rest of your configuration ... + "datasets": dataset_manager_config, + # ... rest of configuration } ``` ---- - -### 5. Running with Config-Driven Skimming +### Running -#### Basic Usage +```bash +# Skim and analyze +python analysis.py general.run_skimming=True -You can simply use the framework without any changes: +# Skim only +python analysis.py general.run_skimming=True general.analysis=skip -```python -# This automatically uses your configured datasets and skimming -python run.py +# Analyze with existing skimmed files +python analysis.py ``` +The framework automatically manages file paths, creates output directories (`{output_dir}/skimmed/`), and handles the transition from skimming to analysis. + --- ## Configuration Reference From 4e0d957a12a8767684f4e9880231e188858b7bc1 Mon Sep 17 00:00:00 2001 From: maly Date: Fri, 8 Aug 2025 08:25:08 +0400 Subject: [PATCH 03/24] missing files --- utils/datasets.py | 273 +++++++++++++++++++ utils/skimming.py | 672 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 945 insertions(+) create mode 100644 utils/datasets.py create mode 100644 utils/skimming.py diff --git a/utils/datasets.py b/utils/datasets.py new file mode 100644 index 0000000..5896b45 --- /dev/null +++ b/utils/datasets.py @@ -0,0 +1,273 @@ +""" +Centralized dataset management with configurable paths, cross-sections, and metadata. + +This module provides a configurable dataset manager that replaces hardcoded paths +and cross-sections throughout the codebase, making the framework more flexible +and maintainable. +""" + +import json +import logging +from pathlib import Path +from typing import Any, Dict, List, Optional, Union + +from utils.schema import DatasetConfig, DatasetManagerConfig + +logger = logging.getLogger(__name__) + + +class ConfigurableDatasetManager: + """ + Manages dataset paths, cross-sections, and metadata from configuration. + + This class replaces hardcoded dataset directories and cross-section maps + with a flexible, configuration-driven approach. + """ + + def __init__(self, config: DatasetManagerConfig): + """ + Initialize the dataset manager with configuration. + + Parameters + ---------- + config : DatasetManagerConfig + Configuration containing dataset definitions and paths. + """ + self.config = config + self.datasets = {ds.name: ds for ds in config.datasets} + logger.info(f"Initialized dataset manager with {len(self.datasets)} datasets") + + def get_cross_section(self, process: str) -> float: + """ + Get cross-section from config instead of hardcoded map. + + Parameters + ---------- + process : str + Process name (e.g., 'signal', 'ttbar_semilep', etc.) + + Returns + ------- + float + Cross-section in picobarns + + Raises + ------ + KeyError + If process is not found in configuration + """ + if process not in self.datasets: + raise KeyError(f"Process '{process}' not found in dataset configuration") + return self.datasets[process].cross_section + + def get_dataset_directory(self, process: str) -> Path: + """ + Get dataset directory containing text files with file lists. + + Parameters + ---------- + process : str + Process name + + Returns + ------- + Path + Path to directory containing .txt files with file lists + """ + if process not in self.datasets: + raise KeyError(f"Process '{process}' not found in dataset configuration") + return Path(self.datasets[process].directory) + + def get_file_pattern(self, process: str) -> str: + """ + Get file pattern from config (typically '*.txt' for listing files). + + Parameters + ---------- + process : str + Process name + + Returns + ------- + str + File pattern for listing files + """ + if process not in self.datasets: + raise KeyError(f"Process '{process}' not found in dataset configuration") + return self.datasets[process].file_pattern + + def get_tree_name(self, process: str) -> str: + """ + Get ROOT tree name from config. + + Parameters + ---------- + process : str + Process name + + Returns + ------- + str + ROOT tree name + """ + if process not in self.datasets: + raise KeyError(f"Process '{process}' not found in dataset configuration") + return self.datasets[process].tree_name + + def get_weight_branch(self, process: str) -> str: + """ + Get weight branch name from config. + + Parameters + ---------- + process : str + Process name + + Returns + ------- + str + Weight branch name + """ + if process not in self.datasets: + raise KeyError(f"Process '{process}' not found in dataset configuration") + return self.datasets[process].weight_branch + + def get_remote_access_config(self, process: str) -> Optional[Dict[str, str]]: + """ + Get remote access configuration (EOS, XRootD, etc.). + + Parameters + ---------- + process : str + Process name + + Returns + ------- + dict or None + Remote access configuration or None if not configured + """ + if process not in self.datasets: + raise KeyError(f"Process '{process}' not found in dataset configuration") + return self.datasets[process].remote_access + + def get_cross_section_map(self) -> Dict[str, float]: + """ + Get a dictionary mapping all process names to their cross-sections. + + This provides backward compatibility with code expecting a cross-section map. + + Returns + ------- + dict + Mapping of process names to cross-sections + """ + return {name: ds.cross_section for name, ds in self.datasets.items()} + + def get_dataset_directories_map(self) -> Dict[str, Path]: + """ + Get a dictionary mapping all process names to their directories. + + This provides backward compatibility with code expecting a directory map. + + Returns + ------- + dict + Mapping of process names to directory paths containing .txt files + """ + return {name: Path(ds.directory) for name, ds in self.datasets.items()} + + def list_processes(self) -> List[str]: + """ + Get list of all configured process names. + + Returns + ------- + list + List of process names + """ + return list(self.datasets.keys()) + + def validate_process(self, process: str) -> bool: + """ + Check if a process is configured. + + Parameters + ---------- + process : str + Process name to check + + Returns + ------- + bool + True if process is configured, False otherwise + """ + return process in self.datasets + + +def create_default_dataset_config() -> DatasetManagerConfig: + """ + Create a default dataset configuration that matches current hardcoded values. + + This provides backward compatibility and a starting point for configuration. + The directories contain .txt files with lists of EOS paths to actual ROOT files. + + Returns + ------- + DatasetManagerConfig + Default dataset configuration + """ + datasets = [ + DatasetConfig( + name="signal", + directory="datasets/signal/", + cross_section=1.0, + file_pattern="*.txt", # Text files containing EOS paths + tree_name="Events", + weight_branch="genWeight" + ), + DatasetConfig( + name="ttbar_semilep", + directory="datasets/ttbar_semilep/", + cross_section=831.76 * 0.438, # 364.35 + file_pattern="*.txt", + tree_name="Events", + weight_branch="genWeight" + ), + DatasetConfig( + name="ttbar_had", + directory="datasets/ttbar_had/", + cross_section=831.76 * 0.457, # 380.11 + file_pattern="*.txt", + tree_name="Events", + weight_branch="genWeight" + ), + DatasetConfig( + name="ttbar_lep", + directory="datasets/ttbar_lep/", + cross_section=831.76 * 0.105, # 87.33 + file_pattern="*.txt", + tree_name="Events", + weight_branch="genWeight" + ), + DatasetConfig( + name="wjets", + directory="datasets/wjets/", + cross_section=61526.7, + file_pattern="*.txt", + tree_name="Events", + weight_branch="genWeight" + ), + DatasetConfig( + name="data", + directory="datasets/data/", + cross_section=1.0, + file_pattern="*.txt", + tree_name="Events", + weight_branch="genWeight" + ) + ] + + return DatasetManagerConfig( + datasets=datasets, + metadata_output_dir="datasets/nanoaods_jsons/" + ) diff --git a/utils/skimming.py b/utils/skimming.py new file mode 100644 index 0000000..f73d80f --- /dev/null +++ b/utils/skimming.py @@ -0,0 +1,672 @@ +""" +Centralized skimming manager with configurable selections and dual-mode support. + +This module provides a unified interface for skimming that supports both: +1. NanoAOD/DAK mode with PackedSelection functions +2. Pure uproot mode with string-based cuts + +The skimming logic uses the same functor pattern as other selections in the codebase. +""" + +import glob +import hashlib +import logging +import os +from pathlib import Path +from typing import Any, Dict, Optional, Union + +import awkward as ak +import cloudpickle +import dask_awkward as dak +import numpy as np +import uproot +from coffea.analysis_tools import PackedSelection +from coffea.nanoevents import NanoAODSchema, NanoEventsFactory +from tqdm import tqdm + +from utils.schema import SkimmingConfig +from utils.tools import get_function_arguments + +logger = logging.getLogger(__name__) + +# Fixed output pattern for simplicity +SKIMMING_OUTPUT_PATTERN = "part_{chunk}.root" # chunk number will be filled in + + +class ConfigurableSkimmingManager: + """ + Centralized skimming with config-driven selections and paths. + + This class handles both NanoAOD (with PackedSelection) and uproot (with cut strings) + preprocessing modes, using configuration to define selections. + """ + + def __init__(self, config: SkimmingConfig): + """ + Initialize the skimming manager with configuration. + + Parameters + ---------- + config : SkimmingConfig + Configuration containing selection functions and parameters + """ + self.config = config + logger.info("Initialized configurable skimming manager") + + # Validate configuration + if not config.nanoaod_selection and not config.uproot_cut_string: + raise ValueError("Either nanoaod_selection or uproot_cut_string must be provided") + + + def get_uproot_cut_string(self) -> Optional[str]: + """ + Get the uproot cut string. + + Returns + ------- + str or None + Cut string for uproot mode, or None if not configured + """ + return self.config.uproot_cut_string + + def apply_nanoaod_selection( + self, + events: ak.Array, + function_args_getter: callable + ) -> ak.Array: + """ + Apply NanoAOD selection using the configured functor. + + Parameters + ---------- + events : ak.Arrayƒ√ + NanoAOD events array + function_args_getter : callable + Function to get arguments for the selection function + (typically from analysis base class) + + Returns + ------- + ak.Array + Boolean mask for selected events + """ + if not self.config.nanoaod_selection: + raise ValueError("No NanoAOD selection configured") + + # Get the selection function and its arguments + selection_func = self.config.nanoaod_selection.function + selection_use = self.config.nanoaod_selection.use + + # Get function arguments (this delegates to the analysis class method) + selection_args = function_args_getter( + selection_use, + events, + function_name=selection_func.__name__ + ) + + # Apply the selection function + packed_selection = selection_func(*selection_args) + + if not isinstance(packed_selection, PackedSelection): + raise ValueError(f"Selection function must return PackedSelection, got {type(packed_selection)}") + + # Get the final selection mask + # Assume the last selection name is the final one, or use 'all' if available + selection_names = packed_selection.names + if selection_names: + final_selection = selection_names[-1] + mask = ak.Array(packed_selection.all(final_selection)) + else: + # Fallback: create a mask that selects all events + mask = ak.ones_like(events.run, dtype=bool) + + return mask + + def get_chunk_size(self) -> int: + """ + Get the configured chunk size for processing. + + Returns + ------- + int + Number of events to process per chunk + """ + return self.config.chunk_size + + def get_tree_name(self) -> str: + """ + Get the configured tree name. + + Returns + ------- + str + ROOT tree name + """ + return self.config.tree_name + + def get_output_dir(self) -> str: + """ + Get the configured output directory. + + Returns + ------- + str + Output directory path + """ + return self.config.output_dir + + def get_dataset_output_dir(self, dataset: str, file_idx: int) -> Path: + """ + Get the output directory for a specific dataset and file index. + + Parameters + ---------- + dataset : str + Dataset name + file_idx : int + File index + + Returns + ------- + Path + Output directory path following: {output_dir}/{dataset}/file__{idx}/ + """ + base_dir = Path(self.config.output_dir) + return base_dir / dataset / f"file__{file_idx}" + + def get_glob_pattern(self, dataset: str, file_idx: int) -> str: + """ + Get a glob pattern for finding output files for a specific dataset and file index. + + Parameters + ---------- + dataset : str + Dataset name + file_idx : int + File index + + Returns + ------- + str + Glob pattern for finding output files + """ + # Build the pattern based on the expected directory structure + # Structure: {output_dir}/{dataset}/file__{idx}/part_*.root + return f"{self.config.output_dir}/{dataset}/file__{file_idx}/part_*.root" + + def supports_nanoaod_mode(self) -> bool: + """ + Check if NanoAOD mode is supported. + + Returns + ------- + bool + True if NanoAOD selection is configured + """ + return self.config.nanoaod_selection is not None + + def supports_uproot_mode(self) -> bool: + """ + Check if uproot mode is supported. + + Returns + ------- + bool + True if uproot cut string is configured + """ + return self.config.uproot_cut_string is not None + + + def discover_skimmed_files(self, dataset: str, file_idx: int) -> list[str]: + """ + Discover existing skimmed files for a specific dataset and file index. + + Parameters + ---------- + dataset : str + Dataset name to search for + file_idx : int + File index to search for + + Returns + ------- + list[str] + List of skimmed file paths with tree names + """ + glob_pattern = self.get_glob_pattern(dataset, file_idx) + logger.debug(f"Searching for skimmed files with pattern: {glob_pattern}") + found_files = glob.glob(glob_pattern) + + # Add tree name for uproot + files_with_tree = [f"{file_path}:{self.config.tree_name}" for file_path in found_files] + + logger.info(f"Discovered {len(files_with_tree)} skimmed files for {dataset}/file__{file_idx}") + return files_with_tree + + def validate_user_skimmed_files(self, user_files: dict[str, list[str]]) -> bool: + """ + Validate that user-provided skimmed files follow the expected structure. + + Parameters + ---------- + user_files : dict[str, list[str]] + Dictionary mapping dataset names to lists of file paths + + Returns + ------- + bool + True if files are valid and accessible + """ + for dataset, files in user_files.items(): + for file_path in files: + # Remove tree name if present + clean_path = file_path.split(':')[0] if ':' in file_path else file_path + + if not os.path.exists(clean_path): + logger.error(f"Skimmed file not found: {clean_path}") + return False + + # Check if it's a ROOT file + if not clean_path.endswith('.root'): + logger.warning(f"File {clean_path} does not appear to be a ROOT file") + + logger.info(f"Validated {sum(len(files) for files in user_files.values())} user-provided skimmed files") + return True + + def build_branches_to_keep(self, config, mode="uproot", is_mc=False): + """ + Build list or dict of branches to keep for preprocessing. + + Parameters + ---------- + config : Config + Configuration object with a preprocess block. + mode : str + 'uproot' returns a flat list; 'dask' returns a dict. + is_mc : bool + Whether input files are Monte Carlo. + + Returns + ------- + dict or list + Branches to retain depending on mode. + """ + branches = config.preprocess.branches + mc_branches = config.preprocess.mc_branches + filtered = {} + + for obj, obj_branches in branches.items(): + if not is_mc: + filtered[obj] = [ + br for br in obj_branches if br not in mc_branches.get(obj, []) + ] + else: + filtered[obj] = obj_branches + + if mode == "dask": + return filtered + + if mode == "uproot": + flat = [] + for obj, brs in filtered.items(): + flat.extend( + brs if obj == "event" else [f"{obj}_{br}" for br in brs] + ) + return flat + + raise ValueError("Invalid mode: use 'dask' or 'uproot'.") + + def skim( + self, + input_path: str, + tree: str, + dataset: str, + file_idx: int, + configuration, + processor: str = "uproot", + is_mc: bool = True, + ) -> Union[int, bool]: + """ + Skim input ROOT file using the specified processor. + + Parameters + ---------- + input_path : str + Path to the input ROOT file. + tree : str + Name of the TTree inside the file. + dataset : str + Dataset name for organizing output files. + file_idx : int + File index for organizing output files. + configuration : object + Configuration object containing branch selection and other settings. + processor : str + Processor to use: "uproot" or "dask" + is_mc : bool + Whether input files are Monte Carlo. + + Returns + ------- + Union[int, bool] + For dask: Total number of input events before filtering. + For uproot: True if successful, False otherwise. + """ + # Common setup - create output directory + output_dir = self.get_dataset_output_dir(dataset, file_idx) + os.makedirs(output_dir, exist_ok=True) + + # Get total events for logging + with uproot.open(f"{input_path}:{tree}") as f: + total_events = f.num_entries + + logger.info("========================================") + logger.info(f"📂 Preprocessing file: {input_path} with {total_events:,} events") + + # Get common parameters + step_size = self.get_chunk_size() + output_tree_name = self.get_tree_name() + + # Dispatch to processor-specific implementation + if processor == "dask": + return self._skim_with_dask( + input_path, tree, output_dir, configuration, is_mc, + total_events, step_size, output_tree_name + ) + elif processor == "uproot": + return self._skim_with_uproot( + input_path, tree, output_dir, configuration, is_mc, + total_events, step_size, output_tree_name + ) + else: + raise ValueError(f"Unknown processor: {processor}. Use 'uproot' or 'dask'.") + + def _skim_with_dask( + self, + input_path: str, + tree: str, + output_dir: Path, + configuration, + is_mc: bool, + total_events: int, + step_size: int, + output_tree_name: str, + ) -> int: + """ + Dask-specific skimming implementation. + """ + branches = self.build_branches_to_keep(configuration, mode="dak", is_mc=is_mc) + chunk_num = 0 + + for start in range(0, total_events, step_size): + stop = min(start + step_size, total_events) + + events = NanoEventsFactory.from_root( + {input_path: tree}, + schemaclass=NanoAODSchema, + entry_start=start, + entry_stop=stop, + mode="dask", + ).events() + + # Apply configurable selection + selection_func = self.config.nanoaod_selection["function"] + selection_use = self.config.nanoaod_selection["use"] + + selection_args = get_function_arguments( + selection_use, events, function_name=selection_func.__name__ + ) + packed_selection = selection_func(*selection_args) + + # Get final selection mask + selection_names = packed_selection.names + if selection_names: + final_selection = selection_names[-1] + mask = ak.Array(packed_selection.all(final_selection)) + else: + mask = ak.ones_like(events.run, dtype=bool) + + filtered = events[mask] + + # Skip empty chunks + if len(filtered) == 0: + logger.debug(f"Chunk {chunk_num} is empty after selection, skipping") + continue + + subset = {} + for obj, obj_branches in branches.items(): + if obj == "event": + subset.update( + { + br: filtered[br] + for br in obj_branches + if br in filtered.fields + } + ) + elif obj in filtered.fields: + subset.update( + { + f"{obj}_{br}": filtered[obj][br] + for br in obj_branches + if br in filtered[obj].fields + } + ) + + compact = dak.zip(subset, depth_limit=1) + + # Write chunk to file + output_file = output_dir / SKIMMING_OUTPUT_PATTERN.format(chunk=chunk_num) + uproot.dask_write( + compact, destination=str(output_file), compute=True, tree_name=output_tree_name + ) + chunk_num += 1 + + logger.info(f"💾 Wrote {chunk_num} skimmed chunks to: {output_dir}") + return total_events + + def _skim_with_uproot( + self, + input_path: str, + tree: str, + output_dir: Path, + configuration, + is_mc: bool, + total_events: int, + step_size: int, + output_tree_name: str, + ) -> bool: + """ + Uproot-specific skimming implementation. + """ + cut_str = self.get_uproot_cut_string() + branches = self.build_branches_to_keep(configuration, mode="uproot", is_mc=is_mc) + + iterable = uproot.iterate( + f"{input_path}:{tree}", + branches, + step_size=step_size, + cut=cut_str, + library="ak", + num_workers=1, + ) + + n_chunks = (total_events + step_size - 1) // step_size + pbar = tqdm(iterable, total=n_chunks, desc="Processing events", unit="chunk") + + chunk_num = 0 + files_created = 0 + + for arrays in pbar: + # Skip empty chunks + if len(arrays) == 0: + logger.debug(f"Chunk {chunk_num} is empty after selection, skipping") + continue + + # Create output file for this chunk + output_file = output_dir / SKIMMING_OUTPUT_PATTERN.format(chunk=chunk_num) + + with uproot.recreate(str(output_file)) as output: + # Get branch types from first chunk + branch_types = {} + for branch in arrays.fields: + if isinstance(arrays[branch], ak.Array): + branch_types[branch] = arrays[branch].type + else: + branch_types[branch] = np.dtype(arrays[branch].dtype) + + # Create output tree + output_tree = output.mktree(output_tree_name, branch_types) + + # Write data + filtered_data = {branch: arrays[branch] for branch in arrays.fields} + output_tree.extend(filtered_data) + + files_created += 1 + chunk_num += 1 + + pbar.close() + + if files_created > 0: + logger.info(f"💾 Wrote {files_created} skimmed chunks to: {output_dir}") + return True + else: + logger.info(f"💾 No events passed selection for {input_path}") + return False + + +def create_default_skimming_config(output_dir: str = "skimmed/") -> SkimmingConfig: + """ + Create a default skimming configuration that matches current hardcoded behavior. + + This provides backward compatibility by replicating the current hardcoded + selections in configurable form. + + Parameters + ---------- + output_dir : str + Base output directory for skimmed files + + Returns + ------- + SkimmingConfig + Default skimming configuration + """ + from user.cuts import default_skim_selection # Import here to avoid circular imports + + # Default uproot cut string matching current hardcoded behavior + default_uproot_cut = "HLT_TkMu50*(PuppiMET_pt>50)" + + return SkimmingConfig( + nanoaod_selection={ + "function": default_skim_selection, + "use": [("Muon", None), ("Jet", None), ("PuppiMET", None), ("HLT", None)] + }, + uproot_cut_string=default_uproot_cut, + output_dir=output_dir, + chunk_size=100_000, + tree_name="Events" + ) + + +def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_analysis/"): + """ + Process entire fileset with skimming and return processed events for analysis. + + This is the main entry point for skimming that handles the complete workflow: + - Loop over datasets in fileset + - Run skimming if enabled + - Discover and load skimmed files + - Handle caching of processed events + - Return events ready for analysis + + Parameters + ---------- + config : Config + Analysis configuration + fileset : dict + Dictionary mapping dataset names to file and metadata + cache_dir : str, optional + Directory for caching processed events + + Returns + ------- + dict + Dictionary mapping dataset names to list of (events, metadata) tuples + """ + processed_datasets = {} + + # Loop over datasets in the fileset + for dataset, content in fileset.items(): + metadata = content["metadata"] + metadata["dataset"] = dataset + process_name = metadata["process"] + + # Skip datasets not explicitly requested in config + if (req := config.general.processes) and process_name not in req: + logger.info(f"Skipping {dataset} (process {process_name} not in requested)") + continue + + processed_events = [] + + # Create skimming manager - always available + skimming_manager = ConfigurableSkimmingManager(config.preprocess.skimming) + + # Log which mode is being used + if skimming_manager.supports_nanoaod_mode(): + logger.debug(f"Using NanoAOD/DAK skimming mode for {dataset}") + elif skimming_manager.supports_uproot_mode(): + logger.debug(f"Using uproot skimming mode for {dataset}") + + logger.info(f"🚀 Processing dataset: {dataset}") + + # Loop over ROOT files associated with the dataset + for idx, (file_path, tree) in enumerate(content["files"].items()): + # Honour file limit if set in configuration + if config.general.max_files != -1 and idx >= config.general.max_files: + logger.info(f"Reached max files limit ({config.general.max_files})") + break + + # Run skimming if enabled + if config.general.run_skimming: + logger.info(f"🔍 Skimming input file: {file_path}") + skimming_manager.skim( + input_path=file_path, + tree=tree, + dataset=dataset, + file_idx=idx, + configuration=config, + is_mc=(dataset != "data") + ) + + # Discover skimmed files using skimming manager + skimmed_files = skimming_manager.discover_skimmed_files(dataset, idx) + + # Process each skimmed file + tree_name = skimming_manager.get_tree_name() + for skimmed_file in skimmed_files: + cache_key = hashlib.md5(skimmed_file.encode()).hexdigest() + cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") + + # Handle caching: process and cache, read from cache, or skip + if config.general.read_from_cache and os.path.exists(cache_file): + logger.info(f"Reading cached events for {skimmed_file}") + with open(cache_file, "rb") as f: + events = cloudpickle.load(f) + else: + logger.info(f"Processing {skimmed_file}") + events = NanoEventsFactory.from_root( + skimmed_file, schemaclass=NanoAODSchema + ).events() + events = ak.materialize(events) + + # Cache the events if not reading from cache + if not config.general.read_from_cache: + os.makedirs(cache_dir, exist_ok=True) + with open(cache_file, "wb") as f: + cloudpickle.dump(events, f) + + processed_events.append((events, metadata.copy())) + + processed_datasets[dataset] = processed_events + + return processed_datasets From 24eacdba4d093815ee5ccaf8e4e9fa3ed8d69f23 Mon Sep 17 00:00:00 2001 From: maly Date: Wed, 20 Aug 2025 15:52:06 +0100 Subject: [PATCH 04/24] fix rebase issues --- analysis/diff.py | 242 +----------------------------------- analysis/nondiff.py | 45 ------- user/configuration.py | 37 ------ utils/build_fileset_json.py | 11 -- utils/input_files.py | 29 ----- utils/schema.py | 18 --- utils/tools.py | 6 - 7 files changed, 1 insertion(+), 387 deletions(-) diff --git a/analysis/diff.py b/analysis/diff.py index 8c67207..2cda8e2 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -39,7 +39,6 @@ from utils.evm_stats import build_channel_data_scalar, compute_discovery_pvalue, fit_params from utils.logging import BLUE, GREEN, RED, RESET, _banner from utils.mva import JAXNetwork, TFNetwork -<<<<<<< HEAD from utils.plot import ( create_cms_histogram, plot_mva_feature_distributions, @@ -48,13 +47,6 @@ plot_pvalue_vs_parameters, ) from utils.preproc import pre_process_dak, pre_process_uproot -======= -from utils.plot import (create_cms_histogram, - plot_mva_feature_distributions, - plot_mva_scores, - plot_parameters_over_iterations, - plot_pvalue_vs_parameters) ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) from utils.tools import nested_defaultdict_to_dict, recursive_to_backend @@ -777,7 +769,6 @@ def _prepare_dirs(self) -> None: mva_plots.mkdir(parents=True, exist_ok=True) # Register the created paths in the analysis directory registry -<<<<<<< HEAD self.dirs.update( { "cache": cache, @@ -788,15 +779,6 @@ def _prepare_dirs(self) -> None: "mva_plots": mva_plots, } ) -======= - self.dirs.update({ - "cache": cache, - "mva_models": mva, - "optimisation_plots": optimisation_plots, - "fit_plots": fit_plots, - "mva_plots": mva_plots, - }) ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) def _log_config_summary(self) -> None: """Logs a structured summary of the key analysis configuration options.""" @@ -806,7 +788,6 @@ def _log_config_summary(self) -> None: general_cfg = self.config.general general_data = [ ["Output Directory", general_cfg.output_dir], -<<<<<<< HEAD [ "Max Files per Sample", ( @@ -815,11 +796,7 @@ def _log_config_summary(self) -> None: else general_cfg.max_files ), ], - ["Run Preprocessing", general_cfg.run_preprocessing], -======= - ["Max Files per Sample", "All" if general_cfg.max_files == -1 else general_cfg.max_files], ["Run Skimming", general_cfg.run_skimming], ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) ["Run MVA Pre-training", general_cfg.run_mva_training], ["Run Systematics", general_cfg.run_systematics], ["Run Plots Only", general_cfg.run_plots_only], @@ -846,25 +823,6 @@ def _log_config_summary(self) -> None: ) # --- Processes --- -<<<<<<< HEAD - processes = sorted( - list( - { - content["metadata"]["process"] - for content in fileset.values() - } - ) - ) - if self.config.general.processes: - processes = [ - p for p in processes if p in self.config.general.processes - ] - processes_data = [[p] for p in processes] - logger.info( - "Processes Included:\n" - + tabulate(processes_data, headers=["Process"], tablefmt="grid") - ) -======= if self.processed_datasets: processes = sorted(list({ metadata["process"] @@ -875,7 +833,6 @@ def _log_config_summary(self) -> None: processes = [p for p in processes if p in self.config.general.processes] processes_data = [[p] for p in processes] logger.info("Processes Included:\n" + tabulate(processes_data, headers=["Process"], tablefmt="grid")) ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) # --- Systematics --- if self.config.general.run_systematics: @@ -1901,189 +1858,6 @@ def _prepare_data( processed_data, stats = self._prepare_data_for_tracing(events, process_name) all_events[f"{dataset}___{process_name}"][f"file__{idx}"][f"events_{idx}"] = (processed_data, file_metadata) -<<<<<<< HEAD - # Discover skimmed files and summarise retained events - skimmed_files = glob.glob(f"{output_dir}/part*.root") - skimmed_files = [f"{f}:{tree}" for f in skimmed_files] - remaining = sum( - uproot.open(f).num_entries for f in skimmed_files - ) - dataset_stats["Skimmed"] += remaining - - # Loop over skimmed files for further processing and caching - for skimmed in skimmed_files: - cache_key = hashlib.md5(skimmed.encode()).hexdigest() - cache_file = os.path.join( - cache_dir, f"{dataset}__{cache_key}.pkl" - ) - - # Handle caching: process and cache, read from cache, or skip - if run_and_cache: - logger.info( - f"Processing {skimmed} and caching results" - ) - events = NanoEventsFactory.from_root( - skimmed, schemaclass=NanoAODSchema, delayed=False - ).events() - with open(cache_file, "wb") as f: - cloudpickle.dump(events, f) - elif read_from_cache: - logger.info(f"Reading cached events for {skimmed}") - if os.path.exists(cache_file): - with open(cache_file, "rb") as f: - events = cloudpickle.load(f) - else: - logger.warning( - f"Cache file not found: {cache_file}" - ) - logger.info( - f"Processing {skimmed} and caching results" - ) - events = NanoEventsFactory.from_root( - skimmed, - schemaclass=NanoAODSchema, - delayed=False, - ).events() - with open(cache_file, "wb") as f: - cloudpickle.dump(events, f) - else: - logger.info( - f"Processing {skimmed} but *not* caching results" - ) - events = NanoEventsFactory.from_root( - skimmed, schemaclass=NanoAODSchema, delayed=False - ).events() - - # Run preprocessing pipeline and store processed results - processed_data, stats = self._prepare_data_for_tracing( - events, process_name - ) - all_events[f"{dataset}___{process_name}"][f"file__{idx}"][ - skimmed - ] = (processed_data, metadata) - - dataset_stats["Baseline (Analysis)"] += stats[ - "baseline_analysis" - ] - dataset_stats["Baseline (MVA)"] += stats["baseline_mva"] - for ch, count in stats["channels"].items(): - ch_name = f"Channel: {ch}" - dataset_stats[ch_name] += count - - # ------------------------------------------------------ - # If MVA training is enabled, collect data for MVA models - # ------------------------------------------------------ - # Helper to extract class name and associated process names - def parse_class_entry( - entry: Union[str, dict[str, list[str]]], - ) -> tuple[str, list[str]]: - """ - Parse MVA class entry to extract class name and associated - process names. - - Parameters - ---------- - entry : Union[str, dict[str, list[str]]] - MVA class entry, either a string (process name) or a - dictionary mapping class name to list of process names. - - Returns - ------- - tuple[str, list[str]] - A tuple containing: - - class_name: Name of the MVA class - - process_names: List of process names associated with this - class - - Raises - ------ - ValueError - If entry is neither a string nor a dictionary. - """ - if isinstance(entry, str): - return entry, [entry] - if isinstance(entry, dict): - return next(iter(entry.items())) - raise ValueError( - f"Invalid MVA class type: {type(entry)}. \ - Allowed types are str or dict." - ) - - # Helper to record MVA data - def record_mva_entry( - mva_data: dict[str, dict[str, list[tuple[dict, int]]]], - cfg_name: str, - class_label: str, - presel_ch: dict[str, Any], - process_name: str, - ) -> None: - """ - Record MVA training data for a specific class and process. - - Parameters - ---------- - mva_data : dict[str, dict[str, list[tuple[dict, int]]]] - Nested dictionary storing MVA training data, structured as: - mva_data[config_name][class_name] - = [(objects_dict, event_count), ...] - cfg_name : str - Name of the MVA configuration. - class_label : str - Label for the MVA class (e.g., 'signal', 'background'). - presel_ch : dict[str, Any] - Preselection channel data containing 'mva_objects' and - 'mva_nevents'. - process_name : str - Name of the physics process being recorded. - - Returns - ------- - None - Modifies mva_data in place by appending new training data. - """ - nevents = presel_ch["mva_nevents"] - logger.debug( - f"Adding {nevents} events from process '{process_name}' " - f"to MVA class '{class_label}'." - ) - mva_data[cfg_name][class_label].append( - (presel_ch["mva_objects"], nevents) - ) - - # Collect training data for MVA, if enabled - if config.mva and config.general.run_mva_training: - nominal = processed_data.get("nominal", {}) - presel_ch = nominal.get("__presel") - if presel_ch: - for mva_cfg in config.mva: - seen = ( - set() - ) # track classes to avoid duplicates - # iterate training and plot classes in order - for entry in chain( - mva_cfg.classes, mva_cfg.plot_classes - ): - class_name, proc_names = parse_class_entry( - entry - ) - # fallback default - if not class_name or not proc_names: - class_name = process_name - proc_names = [process_name] - # skip duplicates - if class_name in seen: - continue - seen.add(class_name) - # record only if this process applies - if process_name in proc_names: - record_mva_entry( - mva_data, - mva_cfg.name, - class_name, - presel_ch, - process_name, - ) -======= dataset_stats["Baseline (Analysis)"] += stats["baseline_analysis"] dataset_stats["Baseline (MVA)"] += stats["baseline_mva"] for ch, count in stats["channels"].items(): @@ -2183,7 +1957,6 @@ def record_mva_entry( if process_name in proc_names: record_mva_entry(mva_data, mva_cfg.name, class_name, presel_ch, process_name) ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) row = {"Dataset": dataset, "Process": process_name} row.update(dataset_stats) @@ -2230,17 +2003,13 @@ def record_mva_entry( ] table_data.append(formatted_row) -<<<<<<< HEAD logger.info( - "📊 Data Preparation Summary\n" + "📊 Data Processing Summary\n" + tabulate( table_data, headers=headers, tablefmt="grid", stralign="right" ) + "\n" ) -======= - logger.info("📊 Data Processing Summary\n" + tabulate(table_data, headers=headers, tablefmt="grid", stralign="right") + "\n") ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) # Run MVA training after all datasets are processed models = {} @@ -2337,22 +2106,13 @@ def run_analysis_optimisation( # --------------------------------------------------------------------- # 2. Preprocess events and extract MVA models (if any) # --------------------------------------------------------------------- -<<<<<<< HEAD processed_data, mva_models, mva_nets, mva_data = ( self._prepare_data( all_parameters, - fileset, read_from_cache=read_from_cache, run_and_cache=run_and_cache, cache_dir=cache_dir, ) -======= - processed_data, mva_models, mva_nets, mva_data = self._prepare_data( - all_parameters, - read_from_cache=read_from_cache, - run_and_cache=run_and_cache, - cache_dir=cache_dir, ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) ) # Add MVA model parameters to aux tree (flattened by name) diff --git a/analysis/nondiff.py b/analysis/nondiff.py index 31d81b6..d761e19 100644 --- a/analysis/nondiff.py +++ b/analysis/nondiff.py @@ -3,13 +3,7 @@ import os import warnings from collections import defaultdict -<<<<<<< HEAD from typing import Any, Literal, Optional -======= -from functools import reduce -from pathlib import Path -from typing import Any, Dict, List, Literal, Optional, Tuple ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) import awkward as ak import cabinetry @@ -22,17 +16,10 @@ from analysis.base import Analysis from user.cuts import lumi_mask -<<<<<<< HEAD from utils.output_files import ( save_histograms_to_pickle, save_histograms_to_root, ) -from utils.preproc import pre_process_dak, pre_process_uproot -======= -from utils.output_files import (load_histograms_from_pickle, - save_histograms_to_pickle, - save_histograms_to_root) ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) from utils.stats import get_cabinetry_rebinning_router # ----------------------------- @@ -401,14 +388,8 @@ def run_analysis_chain(self): """ config = self.config -<<<<<<< HEAD - os.makedirs( - f"{config.general.output_dir}/{dataset}", exist_ok=True - ) -======= if not self.processed_datasets: raise ValueError("No processed datasets provided to analysis") ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) # Loop over processed datasets for dataset_name, events_list in self.processed_datasets.items(): @@ -424,33 +405,7 @@ def run_analysis_chain(self): self.process(events, metadata) logger.info("📈 Non-differentiable histogram-filling complete.") -<<<<<<< HEAD - skimmed_files = glob.glob(f"{output_dir}/part*.root") - skimmed_files = [f"{f}:{tree}" for f in skimmed_files] - remaining = sum( - uproot.open(f).num_entries for f in skimmed_files - ) - logger.info( - f"✅ Events retained after filtering: {remaining:,}" - ) - if config.general.run_histogramming: - for skimmed in skimmed_files: - logger.info(f"📘 Processing skimmed file: {skimmed}") - logger.info( - "📈 Processing for non-differentiable analysis" - ) - events = NanoEventsFactory.from_root( - skimmed, schemaclass=NanoAODSchema, delayed=False - ).events() - self.process(events, metadata) - logger.info( - "📈 Non-differentiable histogram-filling complete." - ) - - logger.info(f"🏁 Finished dataset: {dataset}\n") -======= logger.info(f"🏁 Finished dataset: {dataset_name}\n") ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) # Report end of processing logger.info("✅ All datasets processed.") diff --git a/user/configuration.py b/user/configuration.py index d3a2c54..e996db9 100644 --- a/user/configuration.py +++ b/user/configuration.py @@ -37,25 +37,6 @@ # ============================================================================== general_config = { -<<<<<<< HEAD - "lumi": 16400, - "weights_branch": "genWeight", - "max_files": -1, - "analysis": "diff", - "run_preprocessing": False, - "run_histogramming": False, - "run_statistics": False, - "run_systematics": False, - "run_plots_only": False, - "run_mva_training": True, - "read_from_cache": True, - "output_dir": "outputs/traced_zprime_with_jax_nn/", - "preprocessed_dir": "./preproc_uproot/z-prime-ttbar-data/", - "processor": "uproot", - "lumifile": "./corrections/Cert_271036-284044_13TeV_Legacy2016_"\ - "Collisions16_JSON.txt", - "cache_dir": "/tmp/gradients_analysis/", -======= "lumi": 16400, "weights_branch": "genWeight", "max_files": -1, @@ -74,7 +55,6 @@ "Collisions16_JSON.txt", "cache_dir": "/tmp/gradients_analysis/", "processes": ["signal"] ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) } # ============================================================================== @@ -82,22 +62,6 @@ # ============================================================================== preprocess_config = { -<<<<<<< HEAD - "branches": { - "Muon": ["pt", "eta", "phi", "mass", "miniIsoId", "tightId", "charge"], - "FatJet": ["particleNet_TvsQCD", "pt", "eta", "phi", "mass"], - "Jet": ["btagDeepB", "jetId", "pt", "eta", "phi", "mass"], - "PuppiMET": ["pt", "phi"], - "HLT": ["TkMu50"], - "Pileup": ["nTrueInt"], - "event": ["genWeight", "run", "luminosityBlock"], - }, - "ignore_missing": False, # is this implemented? - "mc_branches": { - "event": ["genWeight", "luminosityBlock"], - "Pileup": ["nTrueInt"], - }, -======= "branches": { "Muon": ["pt", "eta", "phi", "mass", "miniIsoId", "tightId", "charge"], "FatJet": ["particleNet_TvsQCD", "pt", "eta", "phi", "mass"], @@ -113,7 +77,6 @@ "Pileup": ["nTrueInt"], }, "skimming": skimming_config, ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) } # ============================================================================== diff --git a/utils/build_fileset_json.py b/utils/build_fileset_json.py index b5e5710..51b8bbd 100644 --- a/utils/build_fileset_json.py +++ b/utils/build_fileset_json.py @@ -84,15 +84,11 @@ def get_root_file_paths( return root_paths -<<<<<<< HEAD -def count_events_in_files(files: List[Path]) -> Tuple[List[int], List[float]]: -======= def count_events_in_files( files: List[Path], tree_name: str = "Events", weight_branch: str = "genWeight" ) -> Tuple[List[int], List[float]]: ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) """ Query ROOT files for event counts and sum of generator weights. @@ -161,15 +157,8 @@ class NanoAODMetadataGenerator: def __init__( self, -<<<<<<< HEAD - process_directories: Optional[Dict[str, Union[str, Path]]] = None, - output_directory: Union[ - str, Path - ] = "datasets/nanoaods_jsons_per_process", -======= dataset_manager: Optional[ConfigurableDatasetManager] = None, output_directory: Optional[Union[str, Path]] = None ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) ): # Use provided dataset manager or create default if dataset_manager is None: diff --git a/utils/input_files.py b/utils/input_files.py index 2c5caa4..aaf4f3c 100644 --- a/utils/input_files.py +++ b/utils/input_files.py @@ -36,17 +36,11 @@ def construct_fileset( - other: list each file individually Default is "uproot". json_path : str or Path, optional -<<<<<<< HEAD - Path to the JSON configuration file specifying samples - variations and file lists. - Defaults to 'datasets/nanoaods.json'. -======= Path to the JSON configuration file specifying samples, variations, and file lists. If None, uses dataset_manager.config.metadata_output_dir. dataset_manager : ConfigurableDatasetManager, optional Dataset manager containing all configuration for cross-sections, paths, etc. If None, creates a default dataset manager. ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) Returns ------- @@ -133,28 +127,6 @@ def construct_fileset( } # Determine file path patterns or explicit paths -<<<<<<< HEAD - if preprocessor == "uproot": - # Use glob pattern for directory-based access - if process_name == "data": - # CMS public EOS path for collision data - base_pattern = ( - "root://eospublic.cern.ch//eos/opendata/cms/" - "Run2016*/SingleMuon/NANOAOD/" - "UL2016_MiniAODv2_NanoAODv9-v1" - ) - else: - # Deduce directory from first file path - first_path = raw_entries[0].get("path", "") - base_pattern = str(Path(first_path).parents[1]) - - file_map = {f"{base_pattern}/*/*.root": "Events"} - else: - # Explicit file listings for other preprocessors - file_map = { - entry.get("path", ""): "Events" for entry in raw_entries - } -======= # if preprocessor == "uproot": # # Use glob pattern for directory-based access # remote_config = dataset_manager.get_remote_access_config(process_name) @@ -179,7 +151,6 @@ def construct_fileset( # Explicit file listings for other preprocessors file_map = {entry.get("path", ""): tree_name for entry in raw_entries} print(file_map) ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) key = f"{process_name}__{variation_name}" fileset[key] = {"files": file_map, "metadata": metadata} diff --git a/utils/schema.py b/utils/schema.py index 7db9566..f614d2f 100644 --- a/utils/schema.py +++ b/utils/schema.py @@ -119,16 +119,8 @@ class GeneralConfig(SubscriptableModel): ] analysis: Annotated[ Optional[str], -<<<<<<< HEAD - Field( - default="nondiff", - description="The analysis mode to run: 'diff' (differentiable) " - "'nondiff' or 'both'.", - ), -======= Field(default="nondiff", description="The analysis mode to run: 'diff' (differentiable), 'nondiff', 'both', or 'skip' (skim-only mode)."), ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) ] max_files: Annotated[ Optional[int], @@ -215,16 +207,6 @@ class GeneralConfig(SubscriptableModel): "'dask-awkward'.", ), ] -<<<<<<< HEAD - preprocessed_dir: Annotated[ - Optional[str], - Field( - default=None, - description="Directory containing pre-processed (skimmed) ROOT files.", - ), - ] -======= ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) cache_dir: Annotated[ Optional[str], Field( diff --git a/utils/tools.py b/utils/tools.py index 67ba343..46332fd 100644 --- a/utils/tools.py +++ b/utils/tools.py @@ -4,10 +4,7 @@ import awkward as ak -<<<<<<< HEAD -======= logger = logging.getLogger(__name__) ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) def nested_defaultdict_to_dict(nested_structure: Any) -> dict: """ @@ -75,8 +72,6 @@ def recursive_to_backend(data_structure: Any, backend: str = "jax") -> Any: else: # Leave unchanged if not an Awkward structure return data_structure -<<<<<<< HEAD -======= def get_function_arguments( @@ -130,4 +125,3 @@ def raise_error(field_name: str) -> None: raise_error(obj_name) return args ->>>>>>> bfd419e (first go at improving skimming setup to work out of box) From 07d1c00c3bdb697cdff86bb7703b845eee18fd67 Mon Sep 17 00:00:00 2001 From: maly Date: Wed, 20 Aug 2025 15:54:18 +0100 Subject: [PATCH 05/24] add skimming config file --- user/skim.py | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 user/skim.py diff --git a/user/skim.py b/user/skim.py new file mode 100644 index 0000000..ef1bcac --- /dev/null +++ b/user/skim.py @@ -0,0 +1,89 @@ +""" +Skimming configuration and selection functions for the Z-prime ttbar analysis. + +This module contains all skimming-related configuration including: +- Dataset definitions with cross-sections and paths +- Skimming selection functions +- Skimming configuration parameters +""" + +from user.cuts import default_skim_selection + +# ============================================================================== +# Dataset Configuration +# ============================================================================== + +datasets_config = [ + { + "name": "signal", + "directory": "datasets/signal/m2000_w20/", + "cross_section": 1.0, + "file_pattern": "*.txt", + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "ttbar_semilep", + "directory": "datasets/ttbar_semilep/", + "cross_section": 831.76 * 0.438, # 364.35 + "file_pattern": "*.txt", + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "ttbar_had", + "directory": "datasets/ttbar_had/", + "cross_section": 831.76 * 0.457, # 380.11 + "file_pattern": "*.txt", + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "ttbar_lep", + "directory": "datasets/ttbar_lep/", + "cross_section": 831.76 * 0.105, # 87.33 + "file_pattern": "*.txt", + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "wjets", + "directory": "datasets/wjets/", + "cross_section": 61526.7, + "file_pattern": "*.txt", + "tree_name": "Events", + "weight_branch": "genWeight" + }, + { + "name": "data", + "directory": "datasets/data/", + "cross_section": 1.0, + "file_pattern": "*.txt", + "tree_name": "Events", + "weight_branch": "genWeight" + } +] + +# ============================================================================== +# Dataset Manager Configuration +# ============================================================================== + +dataset_manager_config = { + "datasets": datasets_config, + "metadata_output_dir": "output_jax_nn_standalone/skimmed/nanoaods_jsons/" +} + +# ============================================================================== +# Skimming Configuration +# ============================================================================== + +skimming_config = { + "nanoaod_selection": { + "function": default_skim_selection, + "use": [("Muon", None), ("Jet", None), ("PuppiMET", None), ("HLT", None)] + }, + "uproot_cut_string": "HLT_TkMu50*(PuppiMET_pt>50)", + "output_dir": None, # Will default to {general.output_dir}/skimmed/ + "chunk_size": 100_000, + "tree_name": "Events", +} From 7db2e3fc662159844f841ba20cff1bfc0aff65ac Mon Sep 17 00:00:00 2001 From: maly Date: Wed, 20 Aug 2025 15:56:32 +0100 Subject: [PATCH 06/24] some cleanup --- .gitignore | 11 +- .../cabinetry}/cabinetry_config.yaml | 0 .../CMS_WORKSHOP_data.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_data_modified.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_signal.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_signal_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...WORKSHOP_signal_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_signal_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...S_WORKSHOP_signal_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_signal_PU_weight_Down.npz | Bin 0 -> 1332 bytes ...ORKSHOP_signal_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_signal_PU_weight_Up.npz | Bin 0 -> 1332 bytes ..._WORKSHOP_signal_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_signal_modified.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_ttbar_had.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...KSHOP_ttbar_had_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_had_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...ORKSHOP_ttbar_had_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_had_PU_weight_Down.npz | Bin 0 -> 1332 bytes ...SHOP_ttbar_had_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...RKSHOP_ttbar_had_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_had_modified.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_ttbar_lep.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...KSHOP_ttbar_lep_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...ORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz | Bin 0 -> 1332 bytes ...SHOP_ttbar_lep_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_lep_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...RKSHOP_ttbar_lep_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_lep_modified.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_ttbar_semilep.npz | Bin 0 -> 996 bytes ...S_WORKSHOP_ttbar_semilep_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...P_ttbar_semilep_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes ...CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...HOP_ttbar_semilep_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes ..._WORKSHOP_ttbar_semilep_PU_weight_Down.npz | Bin 0 -> 1332 bytes ..._ttbar_semilep_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes ...MS_WORKSHOP_ttbar_semilep_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...OP_ttbar_semilep_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_ttbar_semilep_modified.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_wjets.npz | Bin 0 -> 996 bytes .../CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ..._WORKSHOP_wjets_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_wjets_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...MS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_wjets_PU_weight_Down.npz | Bin 0 -> 1332 bytes ...WORKSHOP_wjets_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_wjets_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...S_WORKSHOP_wjets_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../CMS_WORKSHOP_wjets_modified.npz | Bin 0 -> 996 bytes .../Zprime_channel_data.npz | Bin 0 -> 1332 bytes .../Zprime_channel_data_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_signal.npz | Bin 0 -> 1332 bytes .../Zprime_channel_signal_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ..._channel_signal_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_signal_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...me_channel_signal_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_signal_PU_weight_Down.npz | Bin 0 -> 1332 bytes ...channel_signal_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_signal_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...e_channel_signal_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_signal_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_had.npz | Bin 0 -> 1332 bytes ...Zprime_channel_ttbar_had_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...annel_ttbar_had_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_had_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...channel_ttbar_had_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes ...prime_channel_ttbar_had_PU_weight_Down.npz | Bin 0 -> 1332 bytes ...nnel_ttbar_had_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_had_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...hannel_ttbar_had_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_had_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_lep.npz | Bin 0 -> 1332 bytes ...Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...annel_ttbar_lep_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_lep_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...channel_ttbar_lep_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes ...prime_channel_ttbar_lep_PU_weight_Down.npz | Bin 0 -> 1332 bytes ...nnel_ttbar_lep_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_lep_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...hannel_ttbar_lep_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_lep_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_semilep.npz | Bin 0 -> 1332 bytes ...me_channel_ttbar_semilep_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...l_ttbar_semilep_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes ...rime_channel_ttbar_semilep_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...nel_ttbar_semilep_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes ...e_channel_ttbar_semilep_PU_weight_Down.npz | Bin 0 -> 1332 bytes ..._ttbar_semilep_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes ...ime_channel_ttbar_semilep_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...el_ttbar_semilep_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_ttbar_semilep_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_wjets.npz | Bin 0 -> 1332 bytes .../Zprime_channel_wjets_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...e_channel_wjets_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_wjets_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...ime_channel_wjets_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_wjets_PU_weight_Down.npz | Bin 0 -> 1332 bytes ..._channel_wjets_PU_weight_Down_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_wjets_PU_weight_Up.npz | Bin 0 -> 1332 bytes ...me_channel_wjets_PU_weight_Up_modified.npz | Bin 0 -> 1332 bytes .../Zprime_channel_wjets_modified.npz | Bin 0 -> 1332 bytes .../cabinetry_histograms/channel_data.npz | Bin 0 -> 1332 bytes .../channel_data_modified.npz | Bin 0 -> 1332 bytes .../cabinetry_histograms/channel_signal.npz | Bin 0 -> 1332 bytes .../channel_signal_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes .../channel_signal_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../channel_signal_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes .../channel_signal_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../channel_signal_modified.npz | Bin 0 -> 1332 bytes .../channel_ttbar_had.npz | Bin 0 -> 1332 bytes .../channel_ttbar_had_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...annel_ttbar_had_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../channel_ttbar_had_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...channel_ttbar_had_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../channel_ttbar_had_modified.npz | Bin 0 -> 1332 bytes .../channel_ttbar_semilep.npz | Bin 0 -> 1332 bytes .../channel_ttbar_semilep_MU_ID_SF_Down.npz | Bin 0 -> 1332 bytes ...l_ttbar_semilep_MU_ID_SF_Down_modified.npz | Bin 0 -> 1332 bytes .../channel_ttbar_semilep_MU_ID_SF_Up.npz | Bin 0 -> 1332 bytes ...nel_ttbar_semilep_MU_ID_SF_Up_modified.npz | Bin 0 -> 1332 bytes .../channel_ttbar_semilep_modified.npz | Bin 0 -> 1332 bytes nondiff_stats/workspace.json | 703 ++++++++++++++++++ 127 files changed, 709 insertions(+), 5 deletions(-) rename {cabinetry => nondiff_stats/cabinetry}/cabinetry_config.yaml (100%) create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_data.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_data_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up_modified.npz create mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_modified.npz create mode 100644 nondiff_stats/workspace.json diff --git a/.gitignore b/.gitignore index a26c3e3..111942a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,9 @@ docs/_build # pixi environments .pixi/* !.pixi/config.toml - - -# data files -outputs/ -preproc_uproot/ \ No newline at end of file +# others +preproc_uproot/ +skimmed/ +test* +output* +_* diff --git a/cabinetry/cabinetry_config.yaml b/nondiff_stats/cabinetry/cabinetry_config.yaml similarity index 100% rename from cabinetry/cabinetry_config.yaml rename to nondiff_stats/cabinetry/cabinetry_config.yaml diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data.npz new file mode 100644 index 0000000000000000000000000000000000000000..517f0d60cde00fd47f37e21bb063e7b15acb5f1f GIT binary patch literal 996 zcmWIWW@gc4fB;2?0Gr*8|Dk}3L4=_)Gc_lrSTC=jl954x;Q~}0jGpWl>KhQr$WX>m zt)7xvoLr=CrJ!z;W}&X5pq`drR8o|f7oT60k_r-cOUx-w1&SAEBo?Fs`5J}>I+{8P zwF=||F0gYBWIKTA3l$JLp$0-bbV29^Z4mkcRK6ht!aooJp&Ps)G=s5207_U?Pd=>% z3kyzQSQM9}q?QfVpy2p&`oe-Ux(>d%b9)ZIF?QhZS~Gv8pQ!`SnYp{C{6g jpdbce4wxPw-M}c$!~l%pe{B6$RQa literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..517f0d60cde00fd47f37e21bb063e7b15acb5f1f GIT binary patch literal 996 zcmWIWW@gc4fB;2?0Gr*8|Dk}3L4=_)Gc_lrSTC=jl954x;Q~}0jGpWl>KhQr$WX>m zt)7xvoLr=CrJ!z;W}&X5pq`drR8o|f7oT60k_r-cOUx-w1&SAEBo?Fs`5J}>I+{8P zwF=||F0gYBWIKTA3l$JLp$0-bbV29^Z4mkcRK6ht!aooJp&Ps)G=s5207_U?Pd=>% z3kyzQSQM9}q?QfVpy2p&`oe-Ux(>d%b9)ZIF?QhZS~Gv8pQ!`SnYp{C{6g jpdbce4wxPw-M}c$!~l%pe{B6$RQa literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal.npz new file mode 100644 index 0000000000000000000000000000000000000000..388efe696d551b59adfaca91d3c487e5e912b800 GIT binary patch literal 996 zcmWIWW@gc4fB;1X)-w-h{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0YukywxlcGJ8VCtgJdO&&u-_0wQK)PfK*H%9uz0WSCF&;>NfBJGp7LXRL z{@0ohq!}0gcS-@$yH5Sx9RQ>wjG1Q|I0T@CMbyo`ov^Ur1cpU%NlI$jU=4~;txDTP z>mJ(MoIja&I`XOg$3H6s`li0N-}hO5r>4tSdv+K3_QhrY?9CDyx(=RVcG%B;SCzYm z)nO%nrK7(aql3P$?92_u-|Xj{jCU=Nd1j9q6x>IxOJPC50St(s^oN!$X3=NDtK%MYJhOP}11)v}XVGa~+;!F(i V2nq0JWdlhv1L0C2t;r1H0RS~Q?TG*Y literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..9e381f907d1fd16db8c36e2bb04365191609a9db GIT binary patch literal 1332 zcmWIWW@gc4fB;2?#fdYD{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku849jMluvzp*}f(3t#gGxr$gQe$w~cjVh$cVGQINjgdF7i|E~ISg4=;Z z`1+eZLtzJlE)HM+=h6-}#eV|!m*MkMy1Pw#%&@8lIYa zO` zt}FHxHUi(b^j^0=kXxP>lX1u17P>wCK+AV~=U1zw7`K17 zzppZ{GG*R3`^_BrGP`TP+CO{p+f1?ii#@x*{IuyopX_@doMxM<_rd;hhV#7qZ!hgp zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-m*MkMy1Pw#%&@8lIYa zO` zt}FHxHUi(b^j^0=kXxP>lX1u17P>wCK+AV~=U1zw7`K17 zzppZ{GG*R3`^_BrGP`TP+CO{p+f1?ii#@x*{IuyopX_@doMxM<_rd;hhV#7qZ!hgp zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-2|3hEN!_{P9k&CE zDbubMKEe)%*6rty3*r7N@D@VvD{$JL|T z7VLF)=zG%@CHc(5A))o&AE9-=4*zy6c5!G6bU1m>yV1ld*rBQGoMw7Yume+EOwfiC zfev~L^PcqZ1vs=vIbWI}=j-4xbyw1pFn5RAYT1QPjGY{oO_Qp!$~AWgKneR8o<~No zu;&DZeQ`-jYS~~9dezJOZ@-b=Vc)WrxBiFKWqXEv)~o*~+_c|$BmYAe_jUW3X;Zre z)vnm{HRKN)zwc8!k*<(|PBC{p`Qi|3rPB+Lvi8RVw)O!ak_r=@s_E zH}NdW*7Vf3^R*RH`|0@)vuauDeX#*`Mq^S02vZ>hi&UHebC^r{pVp z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O2|3hEN!_{P9k&CE zDbubMKEe)%*6rty3*r7N@D@VvD{$JL|T z7VLF)=zG%@CHc(5A))o&AE9-=4*zy6c5!G6bU1m>yV1ld*rBQGoMw7Yume+EOwfiC zfev~L^PcqZ1vs=vIbWI}=j-4xbyw1pFn5RAYT1QPjGY{oO_Qp!$~AWgKneR8o<~No zu;&DZeQ`-jYS~~9dezJOZ@-b=Vc)WrxBiFKWqXEv)~o*~+_c|$BmYAe_jUW3X;Zre z)vnm{HRKN)zwc8!k*<(|PBC{p`Qi|3rPB+Lvi8RVw)O!ak_r=@s_E zH}NdW*7Vf3^R*RH`|0@)vuauDeX#*`Mq^S02vZ>hi&UHebC^r{pVp z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&OP5YdBiRhT!*X^Z! zTn~Qfx?;b+>fBqinj7|}E9Lrg9^bJqW3fCQR{qfb%8|kYzUt5H6TUI-lt@>_1fkphl|DJF5S~ZC_N)=!24MnPhSGs<-53S3aYWnSieUpBq(=Vpi z_NYO>?%(Teu%PDv27OXy9z4-|KodQTrYzB$QYq2gyvWVp?@p`CVoaHU1rpx2UM_tFg#~7FfcTL!yi!)q3Z)>8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYuiI?W literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..fe6974f86fba2d6b0e2e531b00c69671c8390de0 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?+3GL-{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8I%iMyXS4bVxPDE318T04u@F_W$Zge#2nI0U!A#TC**K~r~U`eb8ZKd z?I|}lW(Yf&g-%KOy;<7fSNLt6?Z=fJdYzVT(qFCb5T;rqwd$^^LqXNe1@#ZC9d13i zA6KvD;xK*H%P5YdBiRhT!*X^Z! zTn~Qfx?;b+>fBqinj7|}E9Lrg9^bJqW3fCQR{qfb%8|kYzUt5H6TUI-lt@>_1fkphl|DJF5S~ZC_N)=!24MnPhSGs<-53S3aYWnSieUpBq(=Vpi z_NYO>?%(Teu%PDv27OXy9z4-|KodQTrYzB$QYq2gyvWVp?@p`CVoaHU1rpx2UM_tFg#~7FfcTL!yi!)q3Z)>8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYuiI?W literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..5450614b957d6c3631f21657e9e30f152aae590c GIT binary patch literal 1332 zcmWIWW@gc4fB;1X3*k)Z|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*A_78haa1#7Me`+b#O3bIa#|U&_T@aKmWbM!44(1WeuTIf*rOQ1!#t} z2092`{OMhn9^h~-`uDG0B7P3LExxX2f93A*cH;6YXgDnk_Sn~ZddQ?7yJoMf``78T^DTQePbcZ`#Hz%L`^^V z+ummKv+LWh{Ip;6!dQ|0)ld6BHw!*!efwem^kHa;$Ct16Mki9#uh05yA9m{Znijx__^?!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=KxOp4QUYiKoNv?sDjWB8X)w7 z76_ft0ihLopz{3?`ocsAyJgsu;iZD9I1 zf$CwPfw2at6P}6CwSl4>6r~`{0n-Dd8yLScF~Ac*fHx}}NRk-{mjdZZ77z~ra?5IP literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..5450614b957d6c3631f21657e9e30f152aae590c GIT binary patch literal 1332 zcmWIWW@gc4fB;1X3*k)Z|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*A_78haa1#7Me`+b#O3bIa#|U&_T@aKmWbM!44(1WeuTIf*rOQ1!#t} z2092`{OMhn9^h~-`uDG0B7P3LExxX2f93A*cH;6YXgDnk_Sn~ZddQ?7yJoMf``78T^DTQePbcZ`#Hz%L`^^V z+ummKv+LWh{Ip;6!dQ|0)ld6BHw!*!efwem^kHa;$Ct16Mki9#uh05yA9m{Znijx__^?!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=KxOp4QUYiKoNv?sDjWB8X)w7 z76_ft0ihLopz{3?`ocsAyJgsu;iZD9I1 zf$CwPfw2at6P}6CwSl4>6r~`{0n-Dd8yLScF~Ac*fHx}}NRk-{mjdZZ77z~ra?5IP literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..388efe696d551b59adfaca91d3c487e5e912b800 GIT binary patch literal 996 zcmWIWW@gc4fB;1X)-w-h{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0YukywxlcGJ8VCtgJdO&&u-_0wQK)PfK*H%9uz0WSCF&;>NfBJGp7LXRL z{@0ohq!}0gcS-@$yH5Sx9RQ>wjG1Q|I0T@CMbyo`ov^Ur1cpU%NlI$jU=4~;txDTP z>mJ(MoIja&I`XOg$3H6s`li0N-}hO5r>4tSdv+K3_QhrY?9CDyx(=RVcG%B;SCzYm z)nO%nrK7(aql3P$?92_u-|Xj{jCU=Nd1j9q6x>IxOJPC50St(s^oN!$X3=NDtK%MYJhOP}11)v}XVGa~+;!F(i V2nq0JWdlhv1L0C2t;r1H0RS~Q?TG*Y literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had.npz new file mode 100644 index 0000000000000000000000000000000000000000..4002dd70c7a021a2d73dd51563ce20ae0280f020 GIT binary patch literal 996 zcmWIWW@gc4fB;2?1vgWc|AzuD1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl0c3@y|(B5h<4WhZi?kWN4gvUB^ia`3ntX4j8Ak8q_YBM8 z%^pbanJIb;L@RWkzYC?;+6SP71&0XN6h%XBqgJ;_ZI0eT()0wyl&yC z?T77eGu(a~AaWE(P;ei$E`$WmmM9FVkSIW|$#ejb3=DM+ zVCq0Sgm#z!p%+Yn&goUh literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..2c28af2f27932931ca9be56436e15432f879099e GIT binary patch literal 1332 zcmWIWW@gc4fB;1XR<`8C|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*@bRE9PY;%>-Va?yzT{1_Q9E@)-cqi8V%ibaE zqZQY!Z}zv0RCjKYes5p1@sm`h>U(?poKuS~s6VlnUzsrVy8c=F(yBDmw7k9chH5j` zehWBjUw1#vw*B<6xhM&4Wbp9W;4?qd~J?}DS!or>t z81}^_DXC?HJ?MW~{(JH_YN!46#`%jm9j@8iMF;Hpa`~FQfPhTypW^HG`r*eMQZ`<) z7dcR{(_-31`?x-_0;B!c?f?D0@;yQQy8Uy#-8}9$uGxRNFmcU3rW^Jl|MvKcq+GG* zdvIv6tj8sLZSf=>8NGA%fq%95V$ILlU$psrkJ0~xebRb^ClB=Z+Uv2)f1ZDSi~TF( zg|mJK?6sez(sryR@qqoqlCL_yYj)bJZN5<)wQ&nP=#MjrB!s8!L<{WOA+*OL2yL+#LTfC6&=N}_ zG{-Us{bQL!fHxzPE;DM;11eZR7@o5k7#JGB;g2YY(Di|`4NM;=P(2JZFxCKd!ZQ)N nHc*s@bRE9PY;%>-Va?yzT{1_Q9E@)-cqi8V%ibaE zqZQY!Z}zv0RCjKYes5p1@sm`h>U(?poKuS~s6VlnUzsrVy8c=F(yBDmw7k9chH5j` zehWBjUw1#vw*B<6xhM&4Wbp9W;4?qd~J?}DS!or>t z81}^_DXC?HJ?MW~{(JH_YN!46#`%jm9j@8iMF;Hpa`~FQfPhTypW^HG`r*eMQZ`<) z7dcR{(_-31`?x-_0;B!c?f?D0@;yQQy8Uy#-8}9$uGxRNFmcU3rW^Jl|MvKcq+GG* zdvIv6tj8sLZSf=>8NGA%fq%95V$ILlU$psrkJ0~xebRb^ClB=Z+Uv2)f1ZDSi~TF( zg|mJK?6sez(sryR@qqoqlCL_yYj)bJZN5<)wQ&nP=#MjrB!s8!L<{WOA+*OL2yL+#LTfC6&=N}_ zG{-Us{bQL!fHxzPE;DM;11eZR7@o5k7#JGB;g2YY(Di|`4NM;=P(2JZFxCKd!ZQ)N nHc*s*HL=zJGEX3r6PJLEP4qr;v3Cs{r=>|&gdZO`nyD5;hR0% z1FI!FO}^T1Vo-_Fk7jmw&b+@bBa6vF^;_bFz7LEJ)8b8g{@!JB=#2?Yy|w=o24HZ9HFYY%hpiEf1j-Ezn515m<#;s-4jSlDv{ z!@jsACADm@2mMvOqE#$4JMAYdnfu~q%r*N5kK@XT_{AJaFcc z{TU&?KhM@*w6B=@b@JUO*X_@&S~n}&`?~#X@8CTSzpvSEm1zt)p?t&seAavR?G0D# z4;^(|IxFRpeeAcNlbiWmK>IAA|*HL=zJGEX3r6PJLEP4qr;v3Cs{r=>|&gdZO`nyD5;hR0% z1FI!FO}^T1Vo-_Fk7jmw&b+@bBa6vF^;_bFz7LEJ)8b8g{@!JB=#2?Yy|w=o24HZ9HFYY%hpiEf1j-Ezn515m<#;s-4jSlDv{ z!@jsACADm@2mMvOqE#$4JMAYdnfu~q%r*N5kK@XT_{AJaFcc z{TU&?KhM@*w6B=@b@JUO*X_@&S~n}&`?~#X@8CTSzpvSEm1zt)p?t&seAavR?G0D# z4;^(|IxFRpeeAcNlbiWmK>IAA| z=Dttg@y$No=VIgEh!6HwMh}l_Xur2FlwZVo(eR1AuEp%{ox3mCPnfMz^Yqw3`%QY+ zb3>k-wtv@u=)OMB75kp0S$E&C9kFLS@@RQ?(*b*!d-dNtm4;qBZXbXW_Teu)&%nZ- z6BzczB`K+8gFWb3UKcIzTyVhtK@dmE!Ob`91#CAO*ZSSC|KyrJJ$BCx`>kgu?YS>^ z#r|&0y1fc&m+kk$-_c)vnuz9Bg}f%KwJ_j-VAuhkx9(_lS-Y*Gsu( z|I*$fxn{y8`#&km&MlX?U|;9ls&=77Cj;Q}io+nx3~ z*D5l4x%SvA#ItVM<#Nb=uF0xDPYDk072Z|uHLluO6&;X$qv_R;D4hXH#1C{TG z&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI`u>e9xEQHV=iy*YcVhF9V1VT$J zh0q+!AoP!A4gubbOuEddMGvT80bzK~W?*1w0Ea)KAVSv%$~G{4oIv$3(7;#&)Ctc- o=-NP04vJC`=78w|(hZE?nHb;+Ai$fI4J647giC>RB@2iL0F3i)uK)l5 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..8eeeac7fb06f30122cd22e03f036f3d197f1740a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?KW;mh{f7cB1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGnihN5pLgi#=c~J52r#nlf%6W7aIa+GC0IMJ8|G;I-|qM-76-pIsDE3 zo#@O5R&&1D|2wi`(o!`RhbN!<(#z&EI=D{dtE=*5a^Tpl^ubPr#bNJ_PXe~Qf9<&> z=Dttg@y$No=VIgEh!6HwMh}l_Xur2FlwZVo(eR1AuEp%{ox3mCPnfMz^Yqw3`%QY+ zb3>k-wtv@u=)OMB75kp0S$E&C9kFLS@@RQ?(*b*!d-dNtm4;qBZXbXW_Teu)&%nZ- z6BzczB`K+8gFWb3UKcIzTyVhtK@dmE!Ob`91#CAO*ZSSC|KyrJJ$BCx`>kgu?YS>^ z#r|&0y1fc&m+kk$-_c)vnuz9Bg}f%KwJ_j-VAuhkx9(_lS-Y*Gsu( z|I*$fxn{y8`#&km&MlX?U|;9ls&=77Cj;Q}io+nx3~ z*D5l4x%SvA#ItVM<#Nb=uF0xDPYDk072Z|uHLluO6&;X$qv_R;D4hXH#1C{TG z&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI`u>e9xEQHV=iy*YcVhF9V1VT$J zh0q+!AoP!A4gubbOuEddMGvT80bzK~W?*1w0Ea)KAVSv%$~G{4oIv$3(7;#&)Ctc- o=-NP04vJC`=78w|(hZE?nHb;+Ai$fI4J647giC>RB@2iL0F3i)uK)l5 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..4cfb5490f5b6cf350380516687b931db5897d864 GIT binary patch literal 1332 zcmWIWW@gc4fB;1Xfx6?$|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TKUW9!Blc--VXiwx@7OCxJP(`geb>IHBwjx7z&-n2(evHe-dwSN zGq-4qK-)F@h(=~kH>Df)9~pQ(#vi!$!2a}stDh{+-?N|3 zpeQRf|C0TdbcY@FeAn&wDootD{qF_)sQ4uTJJuby@6$^z>fL|Hp5^JC*)r32+0V{M z{Kne4-TwcZ10hGHkJ!5!-Zpdlx5@s~5LR&0`&>Bl1w8T;f z&9MwZ|5)Y_;LXUS%Zys|fC?56hUaVs28IT3_#+A;bbX*~1JlO|R1X6Uj5R==@JxiR m4HV^|CwYA!1$es0iFN?yjj^mlFUH36i8RHfOr7XwPo%A literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..4cfb5490f5b6cf350380516687b931db5897d864 GIT binary patch literal 1332 zcmWIWW@gc4fB;1Xfx6?$|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TKUW9!Blc--VXiwx@7OCxJP(`geb>IHBwjx7z&-n2(evHe-dwSN zGq-4qK-)F@h(=~kH>Df)9~pQ(#vi!$!2a}stDh{+-?N|3 zpeQRf|C0TdbcY@FeAn&wDootD{qF_)sQ4uTJJuby@6$^z>fL|Hp5^JC*)r32+0V{M z{Kne4-TwcZ10hGHkJ!5!-Zpdlx5@s~5LR&0`&>Bl1w8T;f z&9MwZ|5)Y_;LXUS%Zys|fC?56hUaVs28IT3_#+A;bbX*~1JlO|R1X6Uj5R==@JxiR m4HV^|CwYA!1$es0iFN?yjj^mlFUH36i8RHfOr7XwPo%A literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..4002dd70c7a021a2d73dd51563ce20ae0280f020 GIT binary patch literal 996 zcmWIWW@gc4fB;2?1vgWc|AzuD1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl0c3@y|(B5h<4WhZi?kWN4gvUB^ia`3ntX4j8Ak8q_YBM8 z%^pbanJIb;L@RWkzYC?;+6SP71&0XN6h%XBqgJ;_ZI0eT()0wyl&yC z?T77eGu(a~AaWE(P;ei$E`$WmmM9FVkSIW|$#ejb3=DM+ zVCq0Sgm#z!p%+Yn&goUh literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep.npz new file mode 100644 index 0000000000000000000000000000000000000000..149176edc41de5058e8604db5bd7de6001d7fb3f GIT binary patch literal 996 zcmWIWW@gc4fB;1X0o(gW|3d*6g9t-qW@=7Kv0h$5B_o3X!v&~17(Ll9)HfiKk)e#C zT0JGTIJrpONQ_5*u%K5j9_|2ORW!2AnnLBW00x)c@^9KfJR%FKf&iW|Vt0|6LKS)wqcMxp?^ zCes1rCI*H&2QYP@9YQ-yfY1x3Kxl@U5ISKlgnqC9LJKU0&<;x>bis0m0B=SnU1rp* z0?G&=3`&VG(7*^{AuEncH0@4kPJV2fBM24;n6a}Cl24M~qZQ@J}@CXU; SW@Q6OG6UgKAg##^;sF3R`0G#r literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..9980e61de5ce9ce1b70763a6c19f317057f465c1 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?8OIDW{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8MY-`UUt~})V}aq?wXu#HHWx4@zyo=mJYkFlVR>bLVhK7Wwk%#3V+CGL>nW@tq6~f^2-+>i2)y2cU#KqrGE2 zEbKXfVP9O5l3F&{gFfjs!}=qi4%zqYw7C>m`Pe>Q@cHqhGH>le^^b|J(0*&*B$1ao z>BuYlZrSPEH(q>he}qwPlBMAb`&UojY;*B>X&<}g+V%x@FYWbC@IGnid1b%w@&CDn z7hl<%PwIYTtoYLYtDmRTnn};>6L(5!ZS8tuZ?Q-J+l}K7?FCMJ4V#zwz&_r30i(Fi zJ^Rq}KH4Gtx9nf|XGyBgzh)oMBD6|~^NM}B6dOx3&qaHIWV^o9&I|VOY()!CoIi^e z^y~h;-UbVL4q(tHW#+*Xy$3YW!)VG9y(yIvy`KX(@i(MF=mSL%+MxVR>bLVhK7Wwk%#3V+CGL>nW@tq6~f^2-+>i2)y2cU#KqrGE2 zEbKXfVP9O5l3F&{gFfjs!}=qi4%zqYw7C>m`Pe>Q@cHqhGH>le^^b|J(0*&*B$1ao z>BuYlZrSPEH(q>he}qwPlBMAb`&UojY;*B>X&<}g+V%x@FYWbC@IGnid1b%w@&CDn z7hl<%PwIYTtoYLYtDmRTnn};>6L(5!ZS8tuZ?Q-J+l}K7?FCMJ4V#zwz&_r30i(Fi zJ^Rq}KH4Gtx9nf|XGyBgzh)oMBD6|~^NM}B6dOx3&qaHIWV^o9&I|VOY()!CoIi^e z^y~h;-UbVL4q(tHW#+*Xy$3YW!)VG9y(yIvy`KX(@i(MF=mSL%+MxT|@sxFo_T&*w4$*?()6HMH3MUZX`MT7)M}eLh%l&I_pdZ{n9xwD z%y7=gL11O+%)htv99FalGUTt&bhyBmv5`SS*}G=!}|NNKMcQF694?qd~BYgF& zu(0O@hJA5KN^03)5Bg}f2mgz>58Lm}tb1@~(qnsz?upG8o!;6nTAQTW67<%-HFu}s z^_Q>gcm3QDmh|bledk$*{Q|)+>VA9suW_WhVdt literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..3f3580a4c15318a8b8c00dc1bc5d2cdcbcc0531b GIT binary patch literal 1332 zcmWIWW@gc4fB;1XiGxb7{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8H}4-W7{u2wU@4+aq`UyHHXei9w{{mmJaJwH(P2&S~@&1W|ptqVd_wA zyy?+>T|@sxFo_T&*w4$*?()6HMH3MUZX`MT7)M}eLh%l&I_pdZ{n9xwD z%y7=gL11O+%)htv99FalGUTt&bhyBmv5`SS*}G=!}|NNKMcQF694?qd~BYgF& zu(0O@hJA5KN^03)5Bg}f2mgz>58Lm}tb1@~(qnsz?upG8o!;6nTAQTW67<%-HFu}s z^_Q>gcm3QDmh|bledk$*{Q|)+>VA9suW_WhVdt literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..63480a4d6dd42bb85003854e286eb61eff2e3cd3 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?f=jbP{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8Ez#_KI=Z^nf?n(QgfJc##MYLla<4ZHzBtFrdvA5`g*2ZRxoqu z$yh!Aj;Eo+4r|%)kFG`z7jze?v&I-ZFe!h1*4Sa}aNj&lynU{zL&VfbHtBDs4!f)? zY)S=<9d1pZyH2D--(f>k-kFdYS`Gzk7CWx2R(4Q4_{;aboq|Kj22StNAJPsjHSBHQ zHj6lHGl|*ed5z!UB*)BK%(@&72kb9exvyk&h_{uG5d6X5@ah%Qlct2<_5mnipWI-Z z3JZHqVAvOzq@u*x1!0o5@9ML%-Mh&J}Mumy<)%pocI~5Wf$#F=&`&#lXB61Bg5uzufCi^ z3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQviQbe-iQdlvocJ5kAoPJE2<=b>p&v9r=mjkh zI-vtXEA&9+`yup&i4c0jWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ zZLt_aYb=4#5=$X8$1({0W0^yMHzSiSGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O?n(QgfJc##MYLla<4ZHzBtFrdvA5`g*2ZRxoqu z$yh!Aj;Eo+4r|%)kFG`z7jze?v&I-ZFe!h1*4Sa}aNj&lynU{zL&VfbHtBDs4!f)? zY)S=<9d1pZyH2D--(f>k-kFdYS`Gzk7CWx2R(4Q4_{;aboq|Kj22StNAJPsjHSBHQ zHj6lHGl|*ed5z!UB*)BK%(@&72kb9exvyk&h_{uG5d6X5@ah%Qlct2<_5mnipWI-Z z3JZHqVAvOzq@u*x1!0o5@9ML%-Mh&J}Mumy<)%pocI~5Wf$#F=&`&#lXB61Bg5uzufCi^ z3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQviQbe-iQdlvocJ5kAoPJE2<=b>p&v9r=mjkh zI-vtXEA&9+`yup&i4c0jWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ zZLt_aYb=4#5=$X8$1({0W0^yMHzSiSGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&OC{W#u3>IcKT(c}s_i{VQ{qFqt|0 z`@EZLMuMS3-F5G63%46NOcR;bB&=@iaR1o-$GqQ+9cC$6=mZs-I@}QPx}qLv=Ad}G zaebDAvBSH99ZU}x^&K{>>bp4grIy2qO)H{LDk?jyzALqZg-yXBb8+(SgVSXkJd2+% zSF0CuIQQ*=rrbh)2R+H%JgN~K4*w3BMX9`GaCmrXU3VfAqeIn(j=yI&|FRE23H#2L z?gg;0=LCj*aY;&Q*OcDJ&&C z>yiEZ&dJ`>y&l^Cx0OA=!QqxYvw5y=kLC^gwZ|Af{>Zvy|LC3m>8s6`?XzC>H`hM7 zfEM)Y{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5132+Fq(SHdMG)Gd3PL|8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYal~%T literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..146a11d10b6d23a6486cacc676a54770708ce365 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?_!i6O|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TC{W#u3>IcKT(c}s_i{VQ{qFqt|0 z`@EZLMuMS3-F5G63%46NOcR;bB&=@iaR1o-$GqQ+9cC$6=mZs-I@}QPx}qLv=Ad}G zaebDAvBSH99ZU}x^&K{>>bp4grIy2qO)H{LDk?jyzALqZg-yXBb8+(SgVSXkJd2+% zSF0CuIQQ*=rrbh)2R+H%JgN~K4*w3BMX9`GaCmrXU3VfAqeIn(j=yI&|FRE23H#2L z?gg;0=LCj*aY;&Q*OcDJ&&C z>yiEZ&dJ`>y&l^Cx0OA=!QqxYvw5y=kLC^gwZ|Af{>Zvy|LC3m>8s6`?XzC>H`hM7 zfEM)Y{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5132+Fq(SHdMG)Gd3PL|8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYal~%T literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..149176edc41de5058e8604db5bd7de6001d7fb3f GIT binary patch literal 996 zcmWIWW@gc4fB;1X0o(gW|3d*6g9t-qW@=7Kv0h$5B_o3X!v&~17(Ll9)HfiKk)e#C zT0JGTIJrpONQ_5*u%K5j9_|2ORW!2AnnLBW00x)c@^9KfJR%FKf&iW|Vt0|6LKS)wqcMxp?^ zCes1rCI*H&2QYP@9YQ-yfY1x3Kxl@U5ISKlgnqC9LJKU0&<;x>bis0m0B=SnU1rp* z0?G&=3`&VG(7*^{AuEncH0@4kPJV2fBM24;n6a}Cl24M~qZQ@J}@CXU; SW@Q6OG6UgKAg##^;sF3R`0G#r literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep.npz new file mode 100644 index 0000000000000000000000000000000000000000..a03842b622119af155dce10406100e362099832c GIT binary patch literal 996 zcmWIWW@gc4fB;2?na`j0{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl(GT{hLBW00x)c@^9KfJR%FKf&iW>|N0HY~O z6oynt6d?D2A{hkg9Kh6pb_ne-0YWdB0-+gZLg<9K5cU}-50tE6`Z(db7#JEDd4M|Mi40vEC<;J948j~J+QgX{ W;1Lqw&B_LnWCp^eKw6U-!~*~ilGoJK^d5b-alVjO+N0%@)mYaN+G+?#NT9fSTqU&7=t^V28&)b&gb42~Bj zwiPluFx)xW6R?BPL2b>24-1|!ImFFd5h+;1=1_R{>1U7aTn=dpJZiZ?ybkf-lGZM7 z;B{CMyqaNkIJX0rdyUVVr5p}ktOchZY-DvfIF+$OLyp-YYV%e1&z~3^HU+JSexvl) z-r`F^Ko`eP``zECPvP3 zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-GoJK^d5b-alVjO+N0%@)mYaN+G+?#NT9fSTqU&7=t^V28&)b&gb42~Bj zwiPluFx)xW6R?BPL2b>24-1|!ImFFd5h+;1=1_R{>1U7aTn=dpJZiZ?ybkf-lGZM7 z;B{CMyqaNkIJX0rdyUVVr5p}ktOchZY-DvfIF+$OLyp-YYV%e1&z~3^HU+JSexvl) z-r`F^Ko`eP``zECPvP3 zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-uAIwq| z=wfu3W9RUq=OUv+^Us(~$Nw`qZ0D`=vzWu?aA|_%+uS=`4p*iA`s}Xebr9Wjdt%xu zUWXs~&mZU2aXYA4g(;Yx6(Wyu-e>;r8> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-uAIwq| z=wfu3W9RUq=OUv+^Us(~$Nw`qZ0D`=vzWu?aA|_%+uS=`4p*iA`s}Xebr9Wjdt%xu zUWXs~&mZU2aXYA4g(;Yx6(Wyu-e>;r8> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-_{tgIMyh)zyC^!L)A&|t|Y-yhd|Yc zilb^p4qb=cu3LKMI=uK;xz+xEn!}TicOuHJBszS#WwO|ONwmX`=+HBj8$ukEYR&vI zC;K^Eo3T%wPu|19@8%}Ms~pY_b;AGt%bc)sXt=(7;lKZ84m@|AIu+g#8T8n^A2CGS07)A!5%yoaQ$Tn@7XTVSN~?G|Q-3u3d3 z%B-0j)F(Cwvo2tA_`l~vN!A5s2dDe4jcy{Z1e?XZ%2?#Wkk_#A$HagJPb zjL*SQEaTP3E*=M?CG+=n&Ea$~Ysoz~do!DZUJ~nq<*Y0Yl{0t6SFT`m$g5tF7h3br zUY0XqovZIJdl5yJ&b2<@?W0c4J9d8m7yG%JCv9+Y`Dp(rD?P&1=7arf&R^D&{%`D2 zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-_{tgIMyh)zyC^!L)A&|t|Y-yhd|Yc zilb^p4qb=cu3LKMI=uK;xz+xEn!}TicOuHJBszS#WwO|ONwmX`=+HBj8$ukEYR&vI zC;K^Eo3T%wPu|19@8%}Ms~pY_b;AGt%bc)sXt=(7;lKZ84m@|AIu+g#8T8n^A2CGS07)A!5%yoaQ$Tn@7XTVSN~?G|Q-3u3d3 z%B-0j)F(Cwvo2tA_`l~vN!A5s2dDe4jcy{Z1e?XZ%2?#Wkk_#A$HagJPb zjL*SQEaTP3E*=M?CG+=n&Ea$~Ysoz~do!DZUJ~nq<*Y0Yl{0t6SFT`m$g5tF7h3br zUY0XqovZIJdl5yJ&b2<@?W0c4J9d8m7yG%JCv9+Y`Dp(rD?P&1=7arf&R^D&{%`D2 zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-z_AGT&VESKEzBr>tkq31-}hTnC@W_sgfLr8{)FRh!q`Npx6Vq@NRTCECHa&-8qQcBlj2x7yG0 z;{Fc&Yajg7GxTuqF_|P-$L8#?VOtfe!!audiwIw*jn(E3E$4poPr7gD5P%Z)rhSbI zVPVe+4Ey4el+?1p9`u<%LT48Iyl20>_4w5oo`3dtSDgAIw2;-|PQm9@Go9HS3N>Rn z_O4`c&@V43aEV}bXi$FlF=-Z?!x5`z;SBq^99Fd@r_9;F?~p0~zpST9&>`Gts@s$n zL5ClA?>wDnCgAYGOHS>~aUO@JB=IY?YFrNYEjQI~JI&@`xXASOlXw;fwjSNNx6POw zZu?Gp6TA4IefIJNSEjfAvM>A+ylREVcYE1cisvLBezuP({N!-;<0t#0JzLMs?|yHO z8uaV_z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61|@TIPo{6LFfZT5Za*%LO*DL&oFmgw9w1p(7STXpcn@ z+F~(;)>s0eC6+>Hj%5(~$1-5zXJpc4MlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^d xhk*vh8lX;iCPLQ+igHktf-nb650GwP{LaJxPXGbltZX1jW*}S&q$^oKJOD{#W@-Qc literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..aed93a4ec61e032640c663c99131d4a64b7660e9 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?nyA@Z{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8Mu#~tvJ~x;K0Q(Kk}=Bzk|VqwtGrb5**x4GYI+pOK_MrW#PxN@K^_# z+IprrpW+z_AGT&VESKEzBr>tkq31-}hTnC@W_sgfLr8{)FRh!q`Npx6Vq@NRTCECHa&-8qQcBlj2x7yG0 z;{Fc&Yajg7GxTuqF_|P-$L8#?VOtfe!!audiwIw*jn(E3E$4poPr7gD5P%Z)rhSbI zVPVe+4Ey4el+?1p9`u<%LT48Iyl20>_4w5oo`3dtSDgAIw2;-|PQm9@Go9HS3N>Rn z_O4`c&@V43aEV}bXi$FlF=-Z?!x5`z;SBq^99Fd@r_9;F?~p0~zpST9&>`Gts@s$n zL5ClA?>wDnCgAYGOHS>~aUO@JB=IY?YFrNYEjQI~JI&@`xXASOlXw;fwjSNNx6POw zZu?Gp6TA4IefIJNSEjfAvM>A+ylREVcYE1cisvLBezuP({N!-;<0t#0JzLMs?|yHO z8uaV_z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61|@TIPo{6LFfZT5Za*%LO*DL&oFmgw9w1p(7STXpcn@ z+F~(;)>s0eC6+>Hj%5(~$1-5zXJpc4MlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^d xhk*vh8lX;iCPLQ+igHktf-nb650GwP{LaJxPXGbltZX1jW*}S&q$^oKJOD{#W@-Qc literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..a03842b622119af155dce10406100e362099832c GIT binary patch literal 996 zcmWIWW@gc4fB;2?na`j0{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl(GT{hLBW00x)c@^9KfJR%FKf&iW>|N0HY~O z6oynt6d?D2A{hkg9Kh6pb_ne-0YWdB0-+gZLg<9K5cU}-50tE6`Z(db7#JEDd4M|Mi40vEC<;J948j~J+QgX{ W;1Lqw&B_LnWCp^eKw6U-!~*~ilS25^9e@%REU#4O!NP(Q z7#77PDXC>cB`E5@2HY&2X6lf}ld8Y)p0xvvzv0_TrmzKu4oLncA}F|zT9?9tf&&;7 zNtt=@L~#RZ6pW@UQ5aGwQDj1WSO=jGv_oiz2@rb06sY`62%Rt&LO)mlp#>I0XosZ` zx?s6OfHxzPE;DLY0c8XbMox(hj6eaTjDxNZl&oO-I6+FGpn;JGs1u&Z(6xc002IU^ g%mLE_q#GE;nHb;^65!3s29jh3!lgi3lNrPV08;$P0RR91 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..12ffb5f8e17cbe8df72cb51949c018128075d072 GIT binary patch literal 1332 zcmWIWW@gc4fB;1X>%`64|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TDZ|l&{M){G$!wK@a1j)3Bg|iNpBB(!>S*x__^? z!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=Kv0YhBOF$pa?=cR6*zm4G?-k3xrPSfY1s( zQ2BlcePJSm-Y^+LPnZg!3#LQpfSC~5U^avnm%`64|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TDZ|l&{M){G$!wK@a1j)3Bg|iNpBB(!>S*x__^? z!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=Kv0YhBOF$pa?=cR6*zm4G?-k3xrPSfY1s( zQ2BlcePJSm-Y^+LPnZg!3#LQpfSC~5U^avnmH5||-(8Zaa&AjBX!NTEk!uf?kM>QN^d~_OS4on=zCzeLH z7p5-&CF~!3;Apo z1`B!)V9+OJ=D`!a2Q<;cXvz}3DU}kvp944q8qy&2fg%X)Pz9kMG(hMDEf6}P141kG zK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0- zfzT35AvDJ_2>oN3Lx49UlP)uA(E}=2Ko~h^H-N(*Q4pc)17#bSK28P%Xke@X>V#(^ nbZww02Sq6eb0BmvG%$W=Vt^-r0B=?{kR&q@E(Ow+EFc~LyR!13 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..90f09245327af0b6323fe7f4cfcde439bccce6ba GIT binary patch literal 1332 zcmWIWW@gc4fB;2?Kd&$O{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RV^D_KDa`h>H5||-(8Zaa&AjBX!NTEk!uf?kM>QN^d~_OS4on=zCzeLH z7p5-&CF~!3;Apo z1`B!)V9+OJ=D`!a2Q<;cXvz}3DU}kvp944q8qy&2fg%X)Pz9kMG(hMDEf6}P141kG zK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0- zfzT35AvDJ_2>oN3Lx49UlP)uA(E}=2Ko~h^H-N(*Q4pc)17#bSK28P%Xke@X>V#(^ nbZww02Sq6eb0BmvG%$W=Vt^-r0B=?{kR&q@E(Ow+EFc~LyR!13 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..b7aa203538ef68540b4bcfcb43e920d64ae2f248 GIT binary patch literal 1332 zcmWIWW@gc4fB;1Xv$_EN|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*|HkVS(B;5td;X;J9L@CgL-k=yQ2*j#&ABa zphg!bF6h_&d%X=7^c=vTPs+@LCwdQPqKDCxC3;gTC3-(dNHnBD=mSL%+MxQyAY2NhD_KB10LxSRR{#J2 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..b7aa203538ef68540b4bcfcb43e920d64ae2f248 GIT binary patch literal 1332 zcmWIWW@gc4fB;1Xv$_EN|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*|HkVS(B;5td;X;J9L@CgL-k=yQ2*j#&ABa zphg!bF6h_&d%X=7^c=vTPs+@LCwdQPqKDCxC3;gTC3-(dNHnBD=mSL%+MxQyAY2NhD_KB10LxSRR{#J2 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..5d2c8b3123b2cc454c9b30b5b16829cce3b6490e GIT binary patch literal 1332 zcmWIWW@gc4fB;2?^4uja|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_kuF{td@Tw46P5)SARI|FmL58D~R#XHzG%!#}1cK2QXq9jYMog9Zq_ zpanuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~ zSOlRh7DH%_B@kL-DTL-&2BCi}a|rNeWYT3uEqXu&3kW0U>;`c7BMKsPeV}Xu)5pnx w01b>aK%MYRgsu$~<)A19VGe{Yh6cv(ObqY@5a7+q29jh3!lgjEk_E&A0DQFc82|tP literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..5d2c8b3123b2cc454c9b30b5b16829cce3b6490e GIT binary patch literal 1332 zcmWIWW@gc4fB;2?^4uja|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_kuF{td@Tw46P5)SARI|FmL58D~R#XHzG%!#}1cK2QXq9jYMog9Zq_ zpanuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~ zSOlRh7DH%_B@kL-DTL-&2BCi}a|rNeWYT3uEqXu&3kW0U>;`c7BMKsPeV}Xu)5pnx w01b>aK%MYRgsu$~<)A19VGe{Yh6cv(ObqY@5a7+q29jh3!lgjEk_E&A0DQFc82|tP literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..5bc192ae8e83cd591d1f5105d4c27d7117f667d3 GIT binary patch literal 996 zcmWIWW@gc4fB;2?4L0xZ{)YlC1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0YukywxlS25^9e@%REU#4O!NP(Q z7#77PDXC>cB`E5@2HY&2X6lf}ld8Y)p0xvvzv0_TrmzKu4oLncA}F|zT9?9tf&&;7 zNtt=@L~#RZ6pW@UQ5aGwQDj1WSO=jGv_oiz2@rb06sY`62%Rt&LO)mlp#>I0XosZ` zx?s6OfHxzPE;DLY0c8XbMox(hj6eaTjDxNZl&oO-I6+FGpn;JGs1u&Z(6xc002IU^ g%mLE_q#GE;nHb;^65!3s29jh3!lgi3lNrPV08;$P0RR91 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data.npz new file mode 100644 index 0000000000000000000000000000000000000000..019ec185a9e739c9e298665bc480b9971282485f GIT binary patch literal 1332 zcmWIWW@gc4fB;2?=E}9p{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411^Yb3>_eJID}3}fzTI9AoPY#2yHM0Lg!3_&>tp2Xn~0kdO{b3e$WJ=3#uS= z0@R!bxe$IsHiSNq2%#CE_BsSZ`9VjWIcSjtP^=_xx*YW?AQyhGDL`)Sv)etRQ_hh?^_R;;#hNURr9 zd-TK6LG)C8^TiKN4u$)(JhU<#9mHAX^DeYHICS+W1kO{pbvSskdUO9|3x~IQ8eJ+A zO&nG#&hj+oGjh<_VD%~ZwVuO`hpXP}uhMmR$?2h@e^niB@8iqY6i@UhI^4{;f2Qn* zf`jsf0vTyVX$Q+Y$(#3wNI2Z`^WS*yH=n~QpNJP#+qfM}^8ZdQ>fk~P`gQ+aZ-a$B z2QcW9GV|bx-UFKGVKill-jqs--Vc(98qy&2fg%X)08O+H8X)`yEf6}P141kGK7MKg6Kg@&B84DnE#6k$|u?Rw2EQZh;OCYqw zQV7kl3_|}{28;nlCS7LKq6bv4fG{*?Gk`z?IQ$U>5xPE5wt?y61nYnh4U9EFo$ySA kt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>RB@2iL0JCBzA^-pY literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..019ec185a9e739c9e298665bc480b9971282485f GIT binary patch literal 1332 zcmWIWW@gc4fB;2?=E}9p{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411^Yb3>_eJID}3}fzTI9AoPY#2yHM0Lg!3_&>tp2Xn~0kdO{b3e$WJ=3#uS= z0@R!bxe$IsHiSNq2%#CE_BsSZ`9VjWIcSjtP^=_xx*YW?AQyhGDL`)Sv)etRQ_hh?^_R;;#hNURr9 zd-TK6LG)C8^TiKN4u$)(JhU<#9mHAX^DeYHICS+W1kO{pbvSskdUO9|3x~IQ8eJ+A zO&nG#&hj+oGjh<_VD%~ZwVuO`hpXP}uhMmR$?2h@e^niB@8iqY6i@UhI^4{;f2Qn* zf`jsf0vTyVX$Q+Y$(#3wNI2Z`^WS*yH=n~QpNJP#+qfM}^8ZdQ>fk~P`gQ+aZ-a$B z2QcW9GV|bx-UFKGVKill-jqs--Vc(98qy&2fg%X)08O+H8X)`yEf6}P141kGK7MKg6Kg@&B84DnE#6k$|u?Rw2EQZh;OCYqw zQV7kl3_|}{28;nlCS7LKq6bv4fG{*?Gk`z?IQ$U>5xPE5wt?y61nYnh4U9EFo$ySA kt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>RB@2iL0JCBzA^-pY literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal.npz new file mode 100644 index 0000000000000000000000000000000000000000..00120f6b9ca5c1419404b00a1e7774dc0807544a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?*3{p5|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T zZMh1N-oVjz$Ph%YUuR+qq&XI!UFiy>e*~M&@CDKpOAn+50qKZ27cYeX=_x0&&xHZ$ zBTxOFfoO@VU-iR*bi&rBQ$vCD9&y`c!9e;2^DP08eutY!THJv21csQUHb7e8yg-cs zkY+fh_)^Is043}b4x6rng*_)Q?2AiMQp*N=(C2I~y*MZE`eeVCeg1;3tzYdoEH&-8Ve-RXckSn+#}E9pxBIBc+y42N{dQrtc?%eS z+h;v=;D4j@+kU^WX+yBZFMFFsyY-LZ@qkGulTh5e_PZ;d(@y`_wV&KSkQ9-gFY!U51!~fpotzvQKgV_*T zU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgpqT0 z133H<1rfSFP_}{T<77a92F4noPIx9l*9MAmP?Ul&2SOJ^1LJol26zGp@MdKLNiqZB LQXpN)0^$JxS|?ks literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..c69268279446249137d784fcadd905e7acdaa660 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?1U8k%|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*(IGRXl`oo!)q%IAv*zt)c84c|KR2X3<8(+p z@<{92RB;Ek9@U0zZYmDl$#>=~%QJLXHuK?wk85olH2$gCFL8BsxMy{CkrAJ-!wZh3 z(Fy`V4!1I{-ZCr-aroqL^Ko}-m_rehf6k$rFbCFqlfLF333E`Ix}rqGDAZw@TAPTX zcd)}hZ4Tx9E+2=dfp*{5O1n9<&RcvxThYcLy1Y%xTi?JT-|xn~_5Df?0VrW#dwx4V zEbKXfVP9O5l3F&{gZ`TCtCqzt584;5Sj?tbcENtblI#C>%3reAHRzvk&*8FtnQp)e zeuXRcW?gyb?`z(+Uo7|fm*lyJ_G=iFSUn@2+bin5)l&NW);@bvMg*VjC;NHDu8ZOW zzS>96=-Tdl^Z9oZ%3ngAY{j%k3Q{0ejB%D48*&a`gVsefkQxcy6S1;;~s z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O(IGRXl`oo!)q%IAv*zt)c84c|KR2X3<8(+p z@<{92RB;Ek9@U0zZYmDl$#>=~%QJLXHuK?wk85olH2$gCFL8BsxMy{CkrAJ-!wZh3 z(Fy`V4!1I{-ZCr-aroqL^Ko}-m_rehf6k$rFbCFqlfLF333E`Ix}rqGDAZw@TAPTX zcd)}hZ4Tx9E+2=dfp*{5O1n9<&RcvxThYcLy1Y%xTi?JT-|xn~_5Df?0VrW#dwx4V zEbKXfVP9O5l3F&{gZ`TCtCqzt584;5Sj?tbcENtblI#C>%3reAHRzvk&*8FtnQp)e zeuXRcW?gyb?`z(+Uo7|fm*lyJ_G=iFSUn@2+bin5)l&NW);@bvMg*VjC;NHDu8ZOW zzS>96=-Tdl^Z9oZ%3ngAY{j%k3Q{0ejB%D48*&a`gVsefkQxcy6S1;;~s z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O@2=Z8@bF$c)|~3z39QJ;c=kl5m;?Uyj|KV(Fn1jc~OQLpj!yF6`)v>8P33FKKkf$@vKh!~H-yx0z zslg7mua--f;4gn}(pWQ6f z4GVitVAvOzq@GSXQVY~)meR)6ae})`BaAfW;`w*RTwN0yk**i@-Hc{@%FZ-t8lUu$$ z`f1NmD8Z|~>4$x?fSH|x?N|Gx%!becb0PGHc@R2d0fdfN2%$X| zL1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD4A0pN3=9q6@JAFx==wm}2Bwb_ ys2&Cy7;At!;h6|s8z{;_Q3}EwFg-xJf$=*N13Uo)c(byBB$@2=Z8@bF$c)|~3z39QJ;c=kl5m;?Uyj|KV(Fn1jc~OQLpj!yF6`)v>8P33FKKkf$@vKh!~H-yx0z zslg7mua--f;4gn}(pWQ6f z4GVitVAvOzq@GSXQVY~)meR)6ae})`BaAfW;`w*RTwN0yk**i@-Hc{@%FZ-t8lUu$$ z`f1NmD8Z|~>4$x?fSH|x?N|Gx%!becb0PGHc@R2d0fdfN2%$X| zL1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD4A0pN3=9q6@JAFx==wm}2Bwb_ ys2&Cy7;At!;h6|s8z{;_Q3}EwFg-xJf$=*N13Uo)c(byBB$4V6vC-ynbT$iekGdNsws9C1w#OlEG#qa)XEp~@(0zd0F%W^rS zsN3uMuMl_G#S}8{-U$_lDeO$Ij?OW3XqEYO?U%o;gJw&(K;~puhXBrOsqpE(4(!S2 zS$xBS98P*TO6cAWad0VUJQ;8y%;CN7^IPIq!yGp2p63nF3U@egN=L+aW~f7q;*&4; zjs`nC*t~M?T|r+5w!=1M|F*h09GNv={O<`H2TN{|nA|A_4!1wAJrHi9>=1ww_6d!8 zY_PEB1crTaNlI$jU=R9TpP#?~cKDF}rrd?RqTUzm`7_qI7+1MU%*?Pr|W z(dc>SioLMFl#e@K+_snCbkMtS@R9w@Tj5MAwO-g8vj~=0gU~;g0TVwXlP)uA(E}=2Kp39085kHEz~PT5h|u+cvJFfh zCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{2=HcQ14%Li;Zh)7$pYd50HyA1 ABLDyZ literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..33343e4e92e695d675144d2206f81b9396a83955 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?-KXnL{D%TA1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGu+uZ>4V6vC-ynbT$iekGdNsws9C1w#OlEG#qa)XEp~@(0zd0F%W^rS zsN3uMuMl_G#S}8{-U$_lDeO$Ij?OW3XqEYO?U%o;gJw&(K;~puhXBrOsqpE(4(!S2 zS$xBS98P*TO6cAWad0VUJQ;8y%;CN7^IPIq!yGp2p63nF3U@egN=L+aW~f7q;*&4; zjs`nC*t~M?T|r+5w!=1M|F*h09GNv={O<`H2TN{|nA|A_4!1wAJrHi9>=1ww_6d!8 zY_PEB1crTaNlI$jU=R9TpP#?~cKDF}rrd?RqTUzm`7_qI7+1MU%*?Pr|W z(dc>SioLMFl#e@K+_snCbkMtS@R9w@Tj5MAwO-g8vj~=0gU~;g0TVwXlP)uA(E}=2Kp39085kHEz~PT5h|u+cvJFfh zCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{2=HcQ14%Li;Zh)7$pYd50HyA1 ABLDyZ literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..05886af0187dabd4159decb72fba0b8181394f2c GIT binary patch literal 1332 zcmWIWW@gc4fB;2?wbO#u{f7cB1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGbHpZd7!fInLUe~6^rMS|Mm=WVRyStSRMRq8bYpSvpM{l^7|wt7Z^C~n|R{rhhSxg0Fdf0b8Hs+T)Jv+y_Ti? zZqIFd`M+-O+!F5DE4Jm??@oVW|HQC@>t4!h`;#(ePwa|5+5gct{C)Du7yH+@E*6U~ z`e|Pm9_|n;^v9lm$=3A>_W$gqYD#wh_x*2gCY|DHt^41;^sN8;3wrYHfZ>3f2~PhfvfYUy=GQP-`||C_IZaZ45L&(+0VV$Z?t;;EBm@AR$oQmC-$g8 zzwY1bZLpx{00wWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh z7DH%_B@kL-DTL-&2BCi}115e(CS7LKq6bv4fG|8~GcYhTfWseA5TWY>WgD12PM~@i wXke@X>V#(^bZww02Sq6ebHMZf=?2E{ObqY@5a7+q29jh3!lgjEk_E&A0E+-(*Z=?k literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..05886af0187dabd4159decb72fba0b8181394f2c GIT binary patch literal 1332 zcmWIWW@gc4fB;2?wbO#u{f7cB1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGbHpZd7!fInLUe~6^rMS|Mm=WVRyStSRMRq8bYpSvpM{l^7|wt7Z^C~n|R{rhhSxg0Fdf0b8Hs+T)Jv+y_Ti? zZqIFd`M+-O+!F5DE4Jm??@oVW|HQC@>t4!h`;#(ePwa|5+5gct{C)Du7yH+@E*6U~ z`e|Pm9_|n;^v9lm$=3A>_W$gqYD#wh_x*2gCY|DHt^41;^sN8;3wrYHfZ>3f2~PhfvfYUy=GQP-`||C_IZaZ45L&(+0VV$Z?t;;EBm@AR$oQmC-$g8 zzwY1bZLpx{00wWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh z7DH%_B@kL-DTL-&2BCi}115e(CS7LKq6bv4fG|8~GcYhTfWseA5TWY>WgD12PM~@i wXke@X>V#(^bZww02Sq6ebHMZf=?2E{ObqY@5a7+q29jh3!lgjEk_E&A0E+-(*Z=?k literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..00120f6b9ca5c1419404b00a1e7774dc0807544a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?*3{p5|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T zZMh1N-oVjz$Ph%YUuR+qq&XI!UFiy>e*~M&@CDKpOAn+50qKZ27cYeX=_x0&&xHZ$ zBTxOFfoO@VU-iR*bi&rBQ$vCD9&y`c!9e;2^DP08eutY!THJv21csQUHb7e8yg-cs zkY+fh_)^Is043}b4x6rng*_)Q?2AiMQp*N=(C2I~y*MZE`eeVCeg1;3tzYdoEH&-8Ve-RXckSn+#}E9pxBIBc+y42N{dQrtc?%eS z+h;v=;D4j@+kU^WX+yBZFMFFsyY-LZ@qkGulTh5e_PZ;d(@y`_wV&KSkQ9-gFY!U51!~fpotzvQKgV_*T zU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgpqT0 z133H<1rfSFP_}{T<77a92F4noPIx9l*9MAmP?Ul&2SOJ^1LJol26zGp@MdKLNiqZB LQXpN)0^$JxS|?ks literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had.npz new file mode 100644 index 0000000000000000000000000000000000000000..901d86478351d7590e5950a034661150f74bfaf8 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?i{Fah|AzuD1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V6kc9OrxZ$DVGj+_c&K-xj{^a@ds_^b<=JV2TuZ_+1jDE%8~ zAH#p`+^-a5FN21`WjUH5|n?;J^&@` zZ+o+xfrULMFzkyT_xdziX6?FXf1Ba<+W?WP_MSy-5})r~gwxX% zTd(cie!^Z+|KAzsiO1pelH+v?Pi;SJZ!@j>bcEv}do_#IGc;Enu)h@Z+f(M^PPCw3 z_wV&KSkQ9-gFY!U51!~fpotzvQB-LlNC4Ak8iYPj1fdM zLML=UXoViAd_RP~FcCs;m<*vOOoh+|(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whj zp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJvWkxM}Km`j3gK{ tAl<-N1Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9ecmOqwUef>o literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..7e905acbe401ba2858820adb1cf648df04283d7b GIT binary patch literal 1332 zcmWIWW@gc4fB;2?m<<`1|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_2T-}Bza{INH!crU$ySIS|P$+BDfJ}5XOR_|y!c|^%!7Ta3?s+IZnCawPJ zA?h$k?@ERJLvDwAi6ZyClDQo|y!O{=E&gq9|9YF;1F^66TRtSPJvRJozwx|LSETwA z`+v76?|D*N+ zC}A)0d}bFc>^Xs9UtE%sS~ggNK7{G*!t{hI_Gf16{E^@I*#4oX`OD4j&+KdOO^=>3 z{kgsNrNBdZJ@4$7?Ou_8%>I-8r6-9G1fxFMtH{gs42qKWONf;b(Z362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$nCawPJ zA?h$k?@ERJLvDwAi6ZyClDQo|y!O{=E&gq9|9YF;1F^66TRtSPJvRJozwx|LSETwA z`+v76?|D*N+ zC}A)0d}bFc>^Xs9UtE%sS~ggNK7{G*!t{hI_Gf16{E^@I*#4oX`OD4j&+KdOO^=>3 z{kgsNrNBdZJ@4$7?Ou_8%>I-8r6-9G1fxFMtH{gs42qKWONf;b(Z362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$*CHoWI3JbdBj@bvG zg#D9CPT8=q=LCj*aY;&Q*`mS>Hu)TWXwUjWVDqVUckRRCHdq}AyJtT=uwL!awJY|e%cK9HD&du{}C9kSEhyL$aWs1DI|| zgU|o8*w8dfwt+50`ODu)Z9Lpf|k7W)4-i%DT%&0{Vs9*tME(Qc> z0Ea)KAVSv%$~G{4oCs|U4U9EFo$ySAt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>R IB@2iL0Lq|yi~s-t literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..267ec6c1021570c7e0c25efb4a3d0f1dfa3d70e2 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?xAQn_|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41FnU|N1X3B{;}tHRCs!hzLbN3&w|z8I20W|`B%(#eyHSd*CHoWI3JbdBj@bvG zg#D9CPT8=q=LCj*aY;&Q*`mS>Hu)TWXwUjWVDqVUckRRCHdq}AyJtT=uwL!awJY|e%cK9HD&du{}C9kSEhyL$aWs1DI|| zgU|o8*w8dfwt+50`ODu)Z9Lpf|k7W)4-i%DT%&0{Vs9*tME(Qc> z0Ea)KAVSv%$~G{4oCs|U4U9EFo$ySAt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>R IB@2iL0Lq|yi~s-t literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..60e7d7a80cacf2d98ee54fa009fdd35667e43ece GIT binary patch literal 1332 zcmWIWW@gc4fB;2?vp>bV{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41FqR?YjWmI{9`{&aHq<532BEH>gK82Vig^x?G0L>r>Wv_Ud}_!f180r6Q||& z69MK94Vqt`96Mp+;CJ=3Yx+`shj;E-P9ol#4we#c*L?1kb11Yv$+>NXm_t3{6iBdfTq4}Y_7$y2?RZt%%IjPpxKjl*O6 z)8{U5Z|=BlUnRw%Cs+B%{?lFGrUO#9?H{GaZL7$+VZVueZrQQ0YxW%S`;Lo!JZT?* z680B_zs-Y%Jtr{ii%U{c%LZ%EpWp~wUu1jLes1GqyA^+)*k6-A9^5zYx%~{g@9`SX zUfTcklQnu*_rd;b3-@N%u+R2M9qS+Q<$bc>;KTm5yYPd(vsQke*338d2U~^zntMF6 zXJT!9R>}Ru{<)FG{A!`c_H+LBf9T+SU~kWpkmkaE-@exJNI}ohtM+G)IK;hbzHFc1 zP}-xu>!Q8E^z~ikvya>N?3JhreSX5eJF7~z=jd^JqrZ`F1HT@zFWb2zxmOyBUr4X898HE0^%pt&=kx7>swdesAEFjFqfB+5P z@JAFx==wm}2Bwb_p^c$|u?DCUo{7-4fubA~r6A0KqU}2q13Uo)c(byBB$bV{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41FqR?YjWmI{9`{&aHq<532BEH>gK82Vig^x?G0L>r>Wv_Ud}_!f180r6Q||& z69MK94Vqt`96Mp+;CJ=3Yx+`shj;E-P9ol#4we#c*L?1kb11Yv$+>NXm_t3{6iBdfTq4}Y_7$y2?RZt%%IjPpxKjl*O6 z)8{U5Z|=BlUnRw%Cs+B%{?lFGrUO#9?H{GaZL7$+VZVueZrQQ0YxW%S`;Lo!JZT?* z680B_zs-Y%Jtr{ii%U{c%LZ%EpWp~wUu1jLes1GqyA^+)*k6-A9^5zYx%~{g@9`SX zUfTcklQnu*_rd;b3-@N%u+R2M9qS+Q<$bc>;KTm5yYPd(vsQke*338d2U~^zntMF6 zXJT!9R>}Ru{<)FG{A!`c_H+LBf9T+SU~kWpkmkaE-@exJNI}ohtM+G)IK;hbzHFc1 zP}-xu>!Q8E^z~ikvya>N?3JhreSX5eJF7~z=jd^JqrZ`F1HT@zFWb2zxmOyBUr4X898HE0^%pt&=kx7>swdesAEFjFqfB+5P z@JAFx==wm}2Bwb_p^c$|u?DCUo{7-4fubA~r6A0KqU}2q13Uo)c(byBB$UrJj{EI1sNgi9@3YWUl}`&*5vc)~w>=BcjM{`WuGi(K5W_0<1| z_IDR|JqX=!!~XA`($Fwcb_%vnTEqnP5d(TDbzOt8-)cPT-^~V0qw|imr zH$T|l&K7FSKlH_3x7?PgLA zt^HLk6E5j9&+LO)s{U{scy3?c`^M>B*<<^;^He&+74O;aEuO9~viYig?}x_;k69ns z`_w<&lLZXY-m81l<|>}FKPP7&eIfCjz5UM(d%3w!*mvv|J*#;4sQu@hc?-h}j@k>Z z{nvZp#s&NP-bt34vyY$!{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$UrJj{EI1sNgi9@3YWUl}`&*5vc)~w>=BcjM{`WuGi(K5W_0<1| z_IDR|JqX=!!~XA`($Fwcb_%vnTEqnP5d(TDbzOt8-)cPT-^~V0qw|imr zH$T|l&K7FSKlH_3x7?PgLA zt^HLk6E5j9&+LO)s{U{scy3?c`^M>B*<<^;^He&+74O;aEuO9~viYig?}x_;k69ns z`_w<&lLZXY-m81l<|>}FKPP7&eIfCjz5UM(d%3w!*mvv|J*#;4sQu@hc?-h}j@k>Z z{nvZp#s&NP-bt34vyY$!{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$Gj+_c&K-xj{^a@ds_^b<=JV2TuZ_+1jDE%8~ zAH#p`+^-a5FN21`WjUH5|n?;J^&@` zZ+o+xfrULMFzkyT_xdziX6?FXf1Ba<+W?WP_MSy-5})r~gwxX% zTd(cie!^Z+|KAzsiO1pelH+v?Pi;SJZ!@j>bcEv}do_#IGc;Enu)h@Z+f(M^PPCw3 z_wV&KSkQ9-gFY!U51!~fpotzvQB-LlNC4Ak8iYPj1fdM zLML=UXoViAd_RP~FcCs;m<*vOOoh+|(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whj zp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJvWkxM}Km`j3gK{ tAl<-N1Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9ecmOqwUef>o literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep.npz new file mode 100644 index 0000000000000000000000000000000000000000..3e0e18eec291d21e8cbde0c0f5b5b9e20b59768a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?*=q{w|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_Lz*46xfY|p^Z;HYY<>%hPuA)xl#14yUHZn=;Oq-AZ-eJBOee?)ijR|9GJ ziX}!BKsq>X=I&x3Z4&%*Z!VB_GGRYRDJ9XpsE9?B>sDakQ9n1pMl&EERgo+o_&_G2=?>>vF9pO`51&3^e) zx1BfVeYW?!aBSL^IUnuM*UZ+RZ1&Fn)aPm0IR&rmH?0#nd1~J?`us>0=KuzMQf3}J(R)A> zJ&dL-(VJ2u(F4ObI2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0j zWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0 zV;L~V#(^bZww02Sq6e cbD(JZ&cpyu00G{tY#>QyAY2NhD_KB105;B69RL6T literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..a916a78d7634811440062a41f23f47cae4fe8206 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?6N!?W|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41Fm<+Uv2uk__4j&kCZ!4*XTHGJCh`~v(>}l%KK-s-r1=RyHwUkCv=xOu#|PS zhfS(-c$crZNaj$vL(-;D(|z&94o3n?X8bYEb@+X%I9BR+szcqsv?Gt_COB+~|Mb{R zDAGYo>GjKN48aaky`@u+7kfLr-=D_0Ws<9dT+afFy&aAY1`}7dm>#oqX!7>Ee`uDm zgWgHoFWfac4snJYj$hfd97OJKtKT|V(ZN+(q45E`j6=xVW6h`2L>z9+TH>rHAm|W) z684p!%i3XK&j}3s;*ylqvcVek95tUD7}yTkC;a!DuJhxmJx|@wxVIr+>{s2q8!+)b zlf##f8Ox^K<#M?CUtL%I1+Rl5$LA;AVLT2&_rtYW=5jh*ef0eCQ%^RBNhS6=da=w7 zmO@T%exGA-xD+w-@pPTP_D{KfY@V>_r#*jQHMjhhul6mk`7EwDf41*`V0O5|>!UsA z%G;aSR=>5+v|RrG$JdwkCF+L~-h@1}pY^Sv_C&##=ZLW_w8L$ z-CJ1a-?IM{D4?+D<8^z~pkMdz^)^`0a{z-rDKihA=slo`9!67^=uIh3^pGs*=K!V~ z(jfGKA_(nJ1)(1_KWOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfB}l%KK-s-r1=RyHwUkCv=xOu#|PS zhfS(-c$crZNaj$vL(-;D(|z&94o3n?X8bYEb@+X%I9BR+szcqsv?Gt_COB+~|Mb{R zDAGYo>GjKN48aaky`@u+7kfLr-=D_0Ws<9dT+afFy&aAY1`}7dm>#oqX!7>Ee`uDm zgWgHoFWfac4snJYj$hfd97OJKtKT|V(ZN+(q45E`j6=xVW6h`2L>z9+TH>rHAm|W) z684p!%i3XK&j}3s;*ylqvcVek95tUD7}yTkC;a!DuJhxmJx|@wxVIr+>{s2q8!+)b zlf##f8Ox^K<#M?CUtL%I1+Rl5$LA;AVLT2&_rtYW=5jh*ef0eCQ%^RBNhS6=da=w7 zmO@T%exGA-xD+w-@pPTP_D{KfY@V>_r#*jQHMjhhul6mk`7EwDf41*`V0O5|>!UsA z%G;aSR=>5+v|RrG$JdwkCF+L~-h@1}pY^Sv_C&##=ZLW_w8L$ z-CJ1a-?IM{D4?+D<8^z~pkMdz^)^`0a{z-rDKihA=slo`9!67^=uIh3^pGs*=K!V~ z(jfGKA_(nJ1)(1_KWOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfBKT57!>vdr8M3W%d)pkYyeYT+f>&D>_mgIubIzZ(CXFup}}0 z)zckS4x4RrzlS|7cW?;UH}^tKv4hd2Zcdf>T!)iYg00#zX%5CRKiPI}OK=Fgx%y(F zd8ESv#_F|yWP%+g2sKqo&hd7*f8XTM{7tS7((3C)k1ld_u#ya!{OOIQgGb4WlEQ7q z4o-T#!H1UWIIL`Y`-M?Y%VDD11A)zJ6df*4ST-}`nHz%+VBmX74C1SM(+Si~Xssz58N0 znH?+yz1#AbxgBmOsxRmg=5zS=?)#^<1|EkTh6(R-4s$yEaW1-jFpJIMVDoByrz&QL zdCSGyIbSe1e7(;mxHkN+{hu9(r}QiP#k=WOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfBKT57!>vdr8M3W%d)pkYyeYT+f>&D>_mgIubIzZ(CXFup}}0 z)zckS4x4RrzlS|7cW?;UH}^tKv4hd2Zcdf>T!)iYg00#zX%5CRKiPI}OK=Fgx%y(F zd8ESv#_F|yWP%+g2sKqo&hd7*f8XTM{7tS7((3C)k1ld_u#ya!{OOIQgGb4WlEQ7q z4o-T#!H1UWIIL`Y`-M?Y%VDD11A)zJ6df*4ST-}`nHz%+VBmX74C1SM(+Si~Xssz58N0 znH?+yz1#AbxgBmOsxRmg=5zS=?)#^<1|EkTh6(R-4s$yEaW1-jFpJIMVDoByrz&QL zdCSGyIbSe1e7(;mxHkN+{hu9(r}QiP#k=WOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfBpFzHWE=~(^K{5~uueH=oTf8DRi=;jc!=F^JDmmD4RPVv+q$g*WxFtA6AN-@~a3+ayD)R?Lhmd0nR+^rWaX50^_AX18sDqntI&VsaphEyk z*lWbx-v$eNPGHy#|?(HZnT2+%4F+e)T_l{`(Iu^gsJ$Zy+x@dH$1c_Hl16=U!0xVlOb=?)o&IPxktY zEHhgT-rH|;i|jom^xEEbv);T1#n0`V?B8c;^*^;wYVs;wr}D@?>v#J1dpjT4i|r7e zuz2qs`jx___XLC*mU`lQS}c%t`!CVCi6S)wU+ z!#oI`u>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!Az{JnUq|1z2^neN$5awb)fCg~* zBMKsPeV}Xu)5nR>#?Zi61Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9e FcmU>;ZP5S# literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..01b24d3e0a5d3b1b521c23128f5b261666327f9e GIT binary patch literal 1332 zcmWIWW@gc4fB;1XFXvp<|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*pFzHWE=~(^K{5~uueH=oTf8DRi=;jc!=F^JDmmD4RPVv+q$g*WxFtA6AN-@~a3+ayD)R?Lhmd0nR+^rWaX50^_AX18sDqntI&VsaphEyk z*lWbx-v$eNPGHy#|?(HZnT2+%4F+e)T_l{`(Iu^gsJ$Zy+x@dH$1c_Hl16=U!0xVlOb=?)o&IPxktY zEHhgT-rH|;i|jom^xEEbv);T1#n0`V?B8c;^*^;wYVs;wr}D@?>v#J1dpjT4i|r7e zuz2qs`jx___XLC*mU`lQS}c%t`!CVCi6S)wU+ z!#oI`u>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!Az{JnUq|1z2^neN$5awb)fCg~* zBMKsPeV}Xu)5nR>#?Zi61Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9e FcmU>;ZP5S# literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..cc4fd7f3249b745177576f54eee3b9a0f02baec8 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?Ngocy{D%TA1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VBV}?3o{&p4(3=czd)xUDx5e-uU{jgHw#?sl zKG&-qPBRM@_I$5!nCBc5FT`8oU~$Rp)gNC9NI2F7=!`wBOj_ zeD?!su4Y|_RiZ%$4&TspDA?~Abs#~}p{QB4;=)2%hszTCBcH^IIV@33T>K_d$RPkF z>>GFW-h_ocCot@bOHxwH25ZoNIku_)<)ah!OI@emP;Gi;&*eN@X+rH!`$ek{{wddH zcWCo8ex=wi;4rbq+{n~d$iYTXYL#uGpo77lxXmauAG4(9)Zc4g>{rxI zTp8m1$)2HD#lBJFoqd-OcR_p7EBlaY>6IHFys)3l%p@Hc{n&o-L95or!pHU!i!49) z2t2fxwcy^r{n9;q)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr3>PV|s0=;r{Y8`2>3 zfg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCI zFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgt-_HpaC5I zh=K@RA1K?v^l>7zF*GpN0CmDM5xO=|l!KxaggH>OeP?2TCx8HNRyL3%GY~EX(v>VA F9st06Yx)2H literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..cc4fd7f3249b745177576f54eee3b9a0f02baec8 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?Ngocy{D%TA1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VBV}?3o{&p4(3=czd)xUDx5e-uU{jgHw#?sl zKG&-qPBRM@_I$5!nCBc5FT`8oU~$Rp)gNC9NI2F7=!`wBOj_ zeD?!su4Y|_RiZ%$4&TspDA?~Abs#~}p{QB4;=)2%hszTCBcH^IIV@33T>K_d$RPkF z>>GFW-h_ocCot@bOHxwH25ZoNIku_)<)ah!OI@emP;Gi;&*eN@X+rH!`$ek{{wddH zcWCo8ex=wi;4rbq+{n~d$iYTXYL#uGpo77lxXmauAG4(9)Zc4g>{rxI zTp8m1$)2HD#lBJFoqd-OcR_p7EBlaY>6IHFys)3l%p@Hc{n&o-L95or!pHU!i!49) z2t2fxwcy^r{n9;q)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr3>PV|s0=;r{Y8`2>3 zfg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCI zFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgt-_HpaC5I zh=K@RA1K?v^l>7zF*GpN0CmDM5xO=|l!KxaggH>OeP?2TCx8HNRyL3%GY~EX(v>VA F9st06Yx)2H literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..3e0e18eec291d21e8cbde0c0f5b5b9e20b59768a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?*=q{w|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_Lz*46xfY|p^Z;HYY<>%hPuA)xl#14yUHZn=;Oq-AZ-eJBOee?)ijR|9GJ ziX}!BKsq>X=I&x3Z4&%*Z!VB_GGRYRDJ9XpsE9?B>sDakQ9n1pMl&EERgo+o_&_G2=?>>vF9pO`51&3^e) zx1BfVeYW?!aBSL^IUnuM*UZ+RZ1&Fn)aPm0IR&rmH?0#nd1~J?`us>0=KuzMQf3}J(R)A> zJ&dL-(VJ2u(F4ObI2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0j zWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0 zV;L~V#(^bZww02Sq6e cbD(JZ&cpyu00G{tY#>QyAY2NhD_KB105;B69RL6T literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep.npz new file mode 100644 index 0000000000000000000000000000000000000000..ac3da82ea6987cb48bdca5045d0eb0abd42a6751 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?IbOdX{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V4vc4P6S2f({G}A+3H9VL)2!TP}Mlkd{3iyQl<6pIpo#J;{OLKq}kLxcNZ7 z@JF$;3xWJlsh_78I50HaX_hva1EjB2=I);Az~C@lagy@{Apgx}5tk02`sP(XavOnk zyHC`nN+9j`pS7b1NFSK^cycz7?&*7WBN<4);Mp1!2c#or*RKb;BVzKFv_OzJ%PUS# zAYI{XtKb5p1y~ew?SQny&F*ie4gn}(KY0=Jby(PQ0>i$zBqgp}B zf9%<%mwQ#U|FADPmnSxF@>hG4%~xm5J^#tR?s4UXm%rZIqXzxDf3LT}f}R5y^hud{ z@I>zcP4qCDvP5r6g+$K)1b)Co1OyFf5c&WpQ38QO6@-4!0HGJOK?*9ti!Q zA3|T42%$GjhR_p$nE(U|rbFm}nGo7wHiQYJk^p9o0#Lvj2%Zys|fC?562Ig!yXaI*lq98)o2g)`ueVlMzz@TBQ p0qTTjB6Mw_Cul`_9AwPXGbltZX1jW*}S&q$^oKJOC(fSYQAE literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..b02250d2db4239a3782f6599d17a9b2f06cf5af2 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?{1@+k{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VCC{Z#%_gDCjW3PW-z0hfoJ5{sV=#m!vqX%H6nt*}25wNkh4v^6`ldwU1XN zPB}ZzA;GL-O<2`JhrdtVjGxyoa8O-zb(P@S*$y_po@~epo9YnhY?FWFL%+k5-zjr) zFSk1!2)*BZRHo4(Wf!B{J*!HGrN810`;3YlmSun9oh6*@kal;CbZu?2!!!1{^8rU= z9e!HP{if#@=5TEKFP{6Nfes^kq2g8WN}!yZ|~bf zy1Wjv+s|FA^OknFvMjy(!GA@E!z@pYT&~7Z2=5b(mc)`AQD~H3o z^7`t$7c36p?^J>m{FxkVrFJ^BUi)vaboWo(!Y{w=k8faqVkq{*zUusnx8L=?+P_WM zwqCsAll|jm%~P$@-rJ)F{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIpG=pOHzI8MWvE6)Ygk#ee_} z;P6KjMCkfJ*#@SM6QPZvfw2at6P}6CwSl4>6r~`{fuij@69YT}1bDNufh3uMa4C?k HWC8I2!xeFd literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..b02250d2db4239a3782f6599d17a9b2f06cf5af2 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?{1@+k{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VCC{Z#%_gDCjW3PW-z0hfoJ5{sV=#m!vqX%H6nt*}25wNkh4v^6`ldwU1XN zPB}ZzA;GL-O<2`JhrdtVjGxyoa8O-zb(P@S*$y_po@~epo9YnhY?FWFL%+k5-zjr) zFSk1!2)*BZRHo4(Wf!B{J*!HGrN810`;3YlmSun9oh6*@kal;CbZu?2!!!1{^8rU= z9e!HP{if#@=5TEKFP{6Nfes^kq2g8WN}!yZ|~bf zy1Wjv+s|FA^OknFvMjy(!GA@E!z@pYT&~7Z2=5b(mc)`AQD~H3o z^7`t$7c36p?^J>m{FxkVrFJ^BUi)vaboWo(!Y{w=k8faqVkq{*zUusnx8L=?+P_WM zwqCsAll|jm%~P$@-rJ)F{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIpG=pOHzI8MWvE6)Ygk#ee_} z;P6KjMCkfJ*#@SM6QPZvfw2at6P}6CwSl4>6r~`{fuij@69YT}1bDNufh3uMa4C?k HWC8I2!xeFd literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..e502bd5ab658cedd39de8104f4a9adc16571d2e6 GIT binary patch literal 1332 zcmWIWW@gc4fB;2??Sfpt{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41Fnck=h!#83p)Ibso~}44Ra8+KeMy%K#GIZ8czw<_!5Uk6)7p32NNBd>cVwG ze$8`m+~e|3d&)wGq6e3?5~eM1coAa1+Tz-52a$PBC1GV#9ReEe&1M#u;P7FFwz}Z= zc87_!ySog{8XfjM-89oWq0(Vm{N^cvzC{kXJT3$cU;e&SI>Fc{Z9C{Y}J)V5u*&!s?UG)pModehYL;EhTH+2X= z3HuFkuOGp}o)Z}M#U&}JWrH>7H`jDBCP?45Pg)ibx~c7-{Y}xfjIOsV4ll&2&xwWc zI&kcNThCJ@?eJc~+?`8G$>FStp5OW~Wrqeu1-rznN)89#-ilcrsOTWCleYOxmz;z7 zHiw&&d!!tWPmQb5U=VlsE&DKQMW?XCmS!#;mq!8)yiq(xGmr8(ygMq-A8?Dqp|d83 z$%viRVOOw$7kd_y!wnt2FXx#U9CjSOwp3B>kG)Ilh0q+!ANI~(`)-!|eYJnx?_|1c z@+bQc%!becb0PGH zc@R2d0fdfN2%$X|L1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD%*B8J4dC!c z6h!FyK-mVSj}xJdp@Fdms1u%v(6xc092BJ>%z>iqI}-yu0R(unvVkO-fp961u4Do6 E0Mn>pUH||9 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..e502bd5ab658cedd39de8104f4a9adc16571d2e6 GIT binary patch literal 1332 zcmWIWW@gc4fB;2??Sfpt{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41Fnck=h!#83p)Ibso~}44Ra8+KeMy%K#GIZ8czw<_!5Uk6)7p32NNBd>cVwG ze$8`m+~e|3d&)wGq6e3?5~eM1coAa1+Tz-52a$PBC1GV#9ReEe&1M#u;P7FFwz}Z= zc87_!ySog{8XfjM-89oWq0(Vm{N^cvzC{kXJT3$cU;e&SI>Fc{Z9C{Y}J)V5u*&!s?UG)pModehYL;EhTH+2X= z3HuFkuOGp}o)Z}M#U&}JWrH>7H`jDBCP?45Pg)ibx~c7-{Y}xfjIOsV4ll&2&xwWc zI&kcNThCJ@?eJc~+?`8G$>FStp5OW~Wrqeu1-rznN)89#-ilcrsOTWCleYOxmz;z7 zHiw&&d!!tWPmQb5U=VlsE&DKQMW?XCmS!#;mq!8)yiq(xGmr8(ygMq-A8?Dqp|d83 z$%viRVOOw$7kd_y!wnt2FXx#U9CjSOwp3B>kG)Ilh0q+!ANI~(`)-!|eYJnx?_|1c z@+bQc%!becb0PGH zc@R2d0fdfN2%$X|L1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD%*B8J4dC!c z6h!FyK-mVSj}xJdp@Fdms1u%v(6xc092BJ>%z>iqI}-yu0R(unvVkO-fp961u4Do6 E0Mn>pUH||9 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..f75e4a0053d69842c32f9bc994bc65ff53c33d4a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?!r9V{|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0oQ)djq+}WLJnVQ`p)LGhdE>?+IjZnraH_hvcJ9NcZowJh z3+Fqm-7QpEbZeo*skiwbo?Tqva6MCS)h&xT4hi1!dzto3b$GnoGKk54fq-t+p6%RzNm0c?)QaKWrpd|Yo_WW;H-__3iV2>K~>;Apo1`B!)V9+OJ=D`!a2Q<;cXvz}3DaDB%k_G)7z;r_z zgg#INp&hCq^n(Tny`Tj`Cjb*O2q^SG=m-4}`ocsAyI!W<~tzB4hv6F`7BD;r3X83>mG J=}Hz54*=jKWTOB8 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..f75e4a0053d69842c32f9bc994bc65ff53c33d4a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?!r9V{|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0oQ)djq+}WLJnVQ`p)LGhdE>?+IjZnraH_hvcJ9NcZowJh z3+Fqm-7QpEbZeo*skiwbo?Tqva6MCS)h&xT4hi1!dzto3b$GnoGKk54fq-t+p6%RzNm0c?)QaKWrpd|Yo_WW;H-__3iV2>K~>;Apo1`B!)V9+OJ=D`!a2Q<;cXvz}3DaDB%k_G)7z;r_z zgg#INp&hCq^n(Tny`Tj`Cjb*O2q^SG=m-4}`ocsAyI!W<~tzB4hv6F`7BD;r3X83>mG J=}Hz54*=jKWTOB8 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..a5567a5fde9a941e46b85e807677f4627e896a23 GIT binary patch literal 1332 zcmWIWW@gc4fB;1XP2c)=|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0oVWhw=;CVi#RyF=6bOBYM28@?0&}SGHDLE0rLHdD@z?ton=_nm^8`3u1NgD zyXo^CS~Tr9pLn*=;ntsB$EIFg;83=w^Ut2>ISwqMyWeMAnCcL%_VcM?_ymU+SAR5I z3+-@Fz2o}yZFHl+^%&dCmf3$T-6!Y3>9c|_i zfD-o71*b20wzp~yijQtfFSJv02yWQW>^WP-!GQCRp}3}! zL-m!kOZvs~4i)l28toC%4$n4mY4N=lbMTmbv*M+lh{H=qpZZjFK?h|e>6E-;UI*!C zZTdN>oDSDRw2codu{lg);I`a$oXKJ3iJwcqbTK&0ojuFAspPNyxmy-9R$lmF@3?K> zRHtWO?VY4b87i-QvPTX2b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2l;T7W$%1|kV7eg< zLLVrC&<<4)`auJPUeE%e6FMNYLJw5FA3|T42%$GjhR_qHLg<3&5ISHcgf^HBp#|nb z=nwNCbjAV*9kCEXdn|&`7KISwqMyWeMAnCcL%_VcM?_ymU+SAR5I z3+-@Fz2o}yZFHl+^%&dCmf3$T-6!Y3>9c|_i zfD-o71*b20wzp~yijQtfFSJv02yWQW>^WP-!GQCRp}3}! zL-m!kOZvs~4i)l28toC%4$n4mY4N=lbMTmbv*M+lh{H=qpZZjFK?h|e>6E-;UI*!C zZTdN>oDSDRw2codu{lg);I`a$oXKJ3iJwcqbTK&0ojuFAspPNyxmy-9R$lmF@3?K> zRHtWO?VY4b87i-QvPTX2b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2l;T7W$%1|kV7eg< zLLVrC&<<4)`auJPUeE%e6FMNYLJw5FA3|T42%$GjhR_qHLg<3&5ISHcgf^HBp#|nb z=nwNCbjAV*9kCEXdn|&`7Ki$zBqgp}B zf9%<%mwQ#U|FADPmnSxF@>hG4%~xm5J^#tR?s4UXm%rZIqXzxDf3LT}f}R5y^hud{ z@I>zcP4qCDvP5r6g+$K)1b)Co1OyFf5c&WpQ38QO6@-4!0HGJOK?*9ti!Q zA3|T42%$GjhR_p$nE(U|rbFm}nGo7wHiQYJk^p9o0#Lvj2%Zys|fC?562Ig!yXaI*lq98)o2g)`ueVlMzz@TBQ p0qTTjB6Mw_Cul`_9AwPXGbltZX1jW*}S&q$^oKJOC(fSYQAE literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets.npz new file mode 100644 index 0000000000000000000000000000000000000000..9a678cf059a3bba96a1d79783ffe6419dd4b51c3 GIT binary patch literal 1332 zcmWIWW@gc4fB;1Xkx=>1|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T^>g~qBWp=88p5E-zF!Jya7}mt{-X+ zPznqjp!P{X)x*SL?m(wu@+fowO4xI333rEuJtr{ii%U{c%Z6&uZ}_&7DQtnE!%rt$ zjfMBD9r}ZmW1rVJIHd8U>Vx>FQZy5g`D!P7AC*osb+~i2#|$J7(+{JO!VMhs^PUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n z&>0ILbi_gk?Xd_#TP%jq8cQIw#8L>&u?#~0SmqGm&B&z7j9T=73KkGX&e;v%@JAFx z==wm}2Bwdb0Rb8qYk)f8nFw7QD9S-m3c?%+T?`G3-YJU7DeTV)((|E+GkH#IXHZ>55D7;X6?{;ed_ZvYf}e* zv#Y@>sn!lDUzch4M;pRvSdhVj-qKKJ{c<-`Dh2(zf3LT}f}R5y^hud{@I>zcP4qCD zvP5r6r9|%s@p(fUgg#INp&hCq^n(Tny`Tj`Cv-q)g&wGUKZL$85kha64524Xh0q1l zA#}h@2yHMMLJQ1=&>!YO=!^vrI$|M&_E-d=Efzy)jU^CTVkv~?SO%egEOQ9(W@OT3 zMlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^dhk*vh8lX;iCPLQ+igHktf-nb650GwP Z{LaJxPXGbltZX1jW*}S&q$^oKJOJQKD*ONd literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..f29f44f3dc251ab3dfe562afd2ff9d462e735aae GIT binary patch literal 1332 zcmWIWW@gc4fB;2?So^r{|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*YJU7DeTV)((|E+GkH#IXHZ>55D7;X6?{;ed_ZvYf}e* zv#Y@>sn!lDUzch4M;pRvSdhVj-qKKJ{c<-`Dh2(zf3LT}f}R5y^hud{@I>zcP4qCD zvP5r6r9|%s@p(fUgg#INp&hCq^n(Tny`Tj`Cv-q)g&wGUKZL$85kha64524Xh0q1l zA#}h@2yHMMLJQ1=&>!YO=!^vrI$|M&_E-d=Efzy)jU^CTVkv~?SO%egEOQ9(W@OT3 zMlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^dhk*vh8lX;iCPLQ+igHktf-nb650GwP Z{LaJxPXGbltZX1jW*}S&q$^oKJOJQKD*ONd literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..a16def0c25675adba5a3a98f70925c539f1f74c6 GIT binary patch literal 1332 zcmWIWW@gc4fB;1XbICq||4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*J5%w0cWtPHMpBZe=^;Od z7eC|c=1mWE*#7GK+xByQ4m)}5woBDJIYb|PWU=dvp99mgnU_2^SiotR`O*6CW*jZl za40wy?101crTaNlI$jP!0NYvnT6k zh8sHU>3-_GV5+r)ZL-nPOLh(px8Kh@{JqKA;Y-iHzNR1thvn@{dq4MDJ1l$0_GEXo zsl(|>8i&$)tQ~3-m^oES4dFB_$Y4SLz<5IYf^<_V1^v2zueZU1o&y;4Ntt=@MDGDj z^e~#TL~lx^MDGXjc|#h6K2QXq9jYMog9Zq_panuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh7DH%_B@kL-DTL-&2BCi}a|rNe zWYT3uEqXu&3kbt=HUk4g133H<1rfSFP_}{T;{>XQfdQyAY2NhD_KB10Qn>=BLDyZ literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..a16def0c25675adba5a3a98f70925c539f1f74c6 GIT binary patch literal 1332 zcmWIWW@gc4fB;1XbICq||4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*J5%w0cWtPHMpBZe=^;Od z7eC|c=1mWE*#7GK+xByQ4m)}5woBDJIYb|PWU=dvp99mgnU_2^SiotR`O*6CW*jZl za40wy?101crTaNlI$jP!0NYvnT6k zh8sHU>3-_GV5+r)ZL-nPOLh(px8Kh@{JqKA;Y-iHzNR1thvn@{dq4MDJ1l$0_GEXo zsl(|>8i&$)tQ~3-m^oES4dFB_$Y4SLz<5IYf^<_V1^v2zueZU1o&y;4Ntt=@MDGDj z^e~#TL~lx^MDGXjc|#h6K2QXq9jYMog9Zq_panuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh7DH%_B@kL-DTL-&2BCi}a|rNe zWYT3uEqXu&3kbt=HUk4g133H<1rfSFP_}{T;{>XQfdQyAY2NhD_KB10Qn>=BLDyZ literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..45026305dafc234991b91e0d1e2246cc0a31a78e GIT binary patch literal 1332 zcmWIWW@gc4fB;2?4e3np|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8SM4*eim!%IKcQe_io#NX;pT37E|)V;kt!`$Ica*Y%YEdF4e6yvWLSR zj9mPj-mdU>VDkJPa8WeOVUc}8%UuO;hefM)cr0>vcKH6-SjMQv-{F4xvGaSbSUXhQ zo7H*rs14lw*FWxjIH#-W@P&uJJ%Y&vE)KJo*P-<3oV_XzHtS9q9o=dGmxs9zMhBpT zz2PPERj{z<1crTaNlI$jP!0OBaFNw=iwzy-i2Q%eHpSZEcDYx?Ef*(;D9eI>_g30C z6s*=~zje#OA^Lk)Oh%rSL!`katJZ2WhhsOt-`n`f#-a2vQ(oE!V+a0&Q>t$@n81S& z7W7N~w+biCH;0Q;7WC`>z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61^Y9=M8BP`altc zcBq2T4;mo!f))s!&;g+pdZ6xmOyBUr4X898HE0^%pt&=kx7>swdesAEFcWe*$fN}4dC!c z6h!FyK-mVSj}xdK1{xS^fI8us2wfW}%0W>I!W=L?K)QkPI}-yu0R(unvVkO-fp961 Iu4Do605Ul`1^@s6 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..45026305dafc234991b91e0d1e2246cc0a31a78e GIT binary patch literal 1332 zcmWIWW@gc4fB;2?4e3np|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8SM4*eim!%IKcQe_io#NX;pT37E|)V;kt!`$Ica*Y%YEdF4e6yvWLSR zj9mPj-mdU>VDkJPa8WeOVUc}8%UuO;hefM)cr0>vcKH6-SjMQv-{F4xvGaSbSUXhQ zo7H*rs14lw*FWxjIH#-W@P&uJJ%Y&vE)KJo*P-<3oV_XzHtS9q9o=dGmxs9zMhBpT zz2PPERj{z<1crTaNlI$jP!0OBaFNw=iwzy-i2Q%eHpSZEcDYx?Ef*(;D9eI>_g30C z6s*=~zje#OA^Lk)Oh%rSL!`katJZ2WhhsOt-`n`f#-a2vQ(oE!V+a0&Q>t$@n81S& z7W7N~w+biCH;0Q;7WC`>z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61^Y9=M8BP`altc zcBq2T4;mo!f))s!&;g+pdZ6xmOyBUr4X898HE0^%pt&=kx7>swdesAEFcWe*$fN}4dC!c z6h!FyK-mVSj}xdK1{xS^fI8us2wfW}%0W>I!W=L?K)QkPI}-yu0R(unvVkO-fp961 Iu4Do605Ul`1^@s6 literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..786bc3fba76fc84213db9d34b7c602de101e4b3a GIT binary patch literal 1332 zcmWIWW@gc4fB;1X(OON;|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*q
z$A`ZEB#y5%be?*ZX=ooXe9BpeO}l4wxPw-N5*ri2q
z$A`ZEB#y5%be?*ZX=ooXe9BpeO}l4wxPw-N5*ri21|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T^>g~qBWp=88p5E-zF!Jya7}mt{-X+ zPznqjp!P{X)x*SL?m(wu@+fowO4xI333rEuJtr{ii%U{c%Z6&uZ}_&7DQtnE!%rt$ zjfMBD9r}ZmW1rVJIHd8U>Vx>FQZy5g`D!P7AC*osb+~i2#|$J7(+{JO!VMhs^PUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n z&>0ILbi_gk?Xd_#TP%jq8cQIw#8L>&u?#~0SmqGm&B&z7j9T=73KkGX&e;v%@JAFx z==wm}2Bwdb0Rb8qYk)f8nFw7QD9S-m3c?%+T?`G3-n10ltU-$3zHdxSe0E0d$GY_8VJ)nsmMpKsPO{tXV{T#qPX-I?62Z|uH zLluO6&;X$qv_R;D4hXH#1C{TG&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI` zu>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!A4gubbOuEddMGvT80b%5v-2e`ML_vhE z50q_S`ZyU7pn%z@Cw(7^bei2n10ltU-$3zHdxSe0E0d$GY_8VJ)nsmMpKsPO{tXV{T#qPX-I?62Z|uH zLluO6&;X$qv_R;D4hXH#1C{TG&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI` zu>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!A4gubbOuEddMGvT80b%5v-2e`ML_vhE z50q_S`ZyU7pn%z@Cw(7^bei2KBkq{TVLXYG?iemC7R=5wfcam!htl-Yr8l9O|*qoBho7xuQxSpp8t z;pcL+Cn-6EX=HG%^HFo?a}|;`UTorUuh{Kfk&wQF)7>NbeAAsBrip!?bNaTEgV?lf zQnwY{9f}!z?%q4)?@+Ps^m=jOK!;PC!!BNH3UydBu_!BlR-nT*<4-=-1r84JRnv-| z+_!dkS$XV7R+585Ycr$si&N?j*82X;!2)6q^M3qnU434}Apj-p*I%|thJ`&RFzky< zQc}x?TF~!Q71G|(`OkjAwVjQMHs9@EWcM{>o@I2H?jx}``v`+W@aJi3@(*!3B!vHY z(B;eJkhfXm_OuXThbI4-^*bgBIJ8WE635mk?NIZ_&guFTNrzJ}6mPtpCF8J5eA&M3 zuN52wU9IMxlTvb+ljOb7?whj1DX#6eubX|u98Nr`k$Tx7 z;qd9rJ%4pu9tR$|gOfI^FgaYf5@5c6AtPGQulx6U8!YHKfI**>nFmkw9?(P&qbW=D zrc_Gweh%PN-;f5O4-`RYhbjpDpaDWJXo1iP9S~Zf2P)qWp)X8?&>JR0=m}FHbis58 z9WWC@8_b5#0&^kshj|b>V*!MYSO}p#7C~r>#SmI!351qd3ZXfcLFgaLfHAEXYJ4JH<3MO%;(^8<0>ylDYL`ddcNPaj)D#jCpKL^lO^DA zIXtvAd7Y=l|vStm#*``p3isG4GNwWeS1QlPuDK2nuXwq7r ze&fEi!|ltFUz3v@9Ii+$lf8FJ-N8Ru{gbDFn1lG!v)qf%i#Pdt@mlbL317Pt9sf1)w)Z{k@-hdP;zhbc!G93FNYCjiA za;eUj%OURS=iI&!VTWIG+1uAo5^&hG{?VJq4bl#iX9d(ApCain*Fjj~-Ygl1U+>he zuYaxJFy+XRtw*Jl9DE)>nqm4)*+FV~(K*2yMTe7Wd}|K=6nB_8f9LB;A2Ek%9n*H* z>yU7GCSO-5ZOh}3aNvgW8Wkpo|EIf^b}VE>3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQv ziQbe-iQdlvoa!6WAoPJE2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0jWC%TBDugbW z4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0V;L|87@2gL zQHvf>!2-g_IlBQI{)mDIT^}gh!1Qr4AV33S4NxaM6QOGZML8%+L6`%fi=lz>I}-yu U0R(unvVkO-fp961u4Do60Bl-ZO#lD@ literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..f555a1709d1a5f7ed80c76ae0f133f6a4d064538 GIT binary patch literal 1332 zcmWIWW@gc4fB;1Xw*{uZ|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku;gsv4Jpl>EXYJ4JH<3MO%;(^8<0>ylDYL`ddcNPaj)D#jCpKL^lO^DA zIXtvAd7Y=l|vStm#*``p3isG4GNwWeS1QlPuDK2nuXwq7r ze&fEi!|ltFUz3v@9Ii+$lf8FJ-N8Ru{gbDFn1lG!v)qf%i#Pdt@mlbL317Pt9sf1)w)Z{k@-hdP;zhbc!G93FNYCjiA za;eUj%OURS=iI&!VTWIG+1uAo5^&hG{?VJq4bl#iX9d(ApCain*Fjj~-Ygl1U+>he zuYaxJFy+XRtw*Jl9DE)>nqm4)*+FV~(K*2yMTe7Wd}|K=6nB_8f9LB;A2Ek%9n*H* z>yU7GCSO-5ZOh}3aNvgW8Wkpo|EIf^b}VE>3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQv ziQbe-iQdlvoa!6WAoPJE2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0jWC%TBDugbW z4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0V;L|87@2gL zQHvf>!2-g_IlBQI{)mDIT^}gh!1Qr4AV33S4NxaM6QOGZML8%+L6`%fi=lz>I}-yu U0R(unvVkO-fp961u4Do60Bl-ZO#lD@ literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..b7c8c5feed8e6d0a74d8412c2ff79a635260e266 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?Ez4{)|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku;gq}l?=vZGXYDth*&}D<&gY;Xo5r)Hk=a4YtoiFMA3+BWrZd@or2-Bt zCoUhjFi*+h>WWPz7o*i2Ce*VtUf5vba7I@2cC3cJ!+e(ITU(bqJ8TSy@VWTX$>CV| z?JEg}?hX!%`RhU+_&XH#e)4@R7wC}5+yBdRVyMH!IsH;QmIpelkTu(%SMA{N?6J^Q z^-tCgueW)a$mBXWykDB~I{lWqgNnrDlrlLnhb1A-;-Bt_I0T@C{c{F^Hdxqm0>i$z zBqgT9m4u--W8`jMea0o5ZO_!M^?QkhdWLMa7Nrx=gI$iDcG7cJtyuO)! zS8$joH`^{lUCH5;2iwt^%qkAEiWRieIu#v$?fmfT2&aUD)vCoi5xPE5wt?y6WI%uh#u}hbcqT&E28wb}l!7n^LKi~=<98+ocmfFU SW@Q6OG6UgKAYI7<;sF4S3r~Ik literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..b7c8c5feed8e6d0a74d8412c2ff79a635260e266 GIT binary patch literal 1332 zcmWIWW@gc4fB;2?Ez4{)|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku;gq}l?=vZGXYDth*&}D<&gY;Xo5r)Hk=a4YtoiFMA3+BWrZd@or2-Bt zCoUhjFi*+h>WWPz7o*i2Ce*VtUf5vba7I@2cC3cJ!+e(ITU(bqJ8TSy@VWTX$>CV| z?JEg}?hX!%`RhU+_&XH#e)4@R7wC}5+yBdRVyMH!IsH;QmIpelkTu(%SMA{N?6J^Q z^-tCgueW)a$mBXWykDB~I{lWqgNnrDlrlLnhb1A-;-Bt_I0T@C{c{F^Hdxqm0>i$z zBqgT9m4u--W8`jMea0o5ZO_!M^?QkhdWLMa7Nrx=gI$iDcG7cJtyuO)! zS8$joH`^{lUCH5;2iwt^%qkAEiWRieIu#v$?fmfT2&aUD)vCoi5xPE5wt?y6WI%uh#u}hbcqT&E28wb}l!7n^LKi~=<98+ocmfFU SW@Q6OG6UgKAYI7<;sF4S3r~Ik literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..8820c6059affc9356610f20713815e0e507d144d GIT binary patch literal 1332 zcmWIWW@gc4fB;2?#m9Az{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78R!>KBkq{TVLXYG?iemC7R=5wfcam!htl-Yr8l9O|*qoBho7xuQxSpp8t z;pcL+Cn-6EX=HG%^HFo?a}|;`UTorUuh{Kfk&wQF)7>NbeAAsBrip!?bNaTEgV?lf zQnwY{9f}!z?%q4)?@+Ps^m=jOK!;PC!!BNH3UydBu_!BlR-nT*<4-=-1r84JRnv-| z+_!dkS$XV7R+585Ycr$si&N?j*82X;!2)6q^M3qnU434}Apj-p*I%|thJ`&RFzky< zQc}x?TF~!Q71G|(`OkjAwVjQMHs9@EWcM{>o@I2H?jx}``v`+W@aJi3@(*!3B!vHY z(B;eJkhfXm_OuXThbI4-^*bgBIJ8WE635mk?NIZ_&guFTNrzJ}6mPtpCF8J5eA&M3 zuN52wU9IMxlTvb+ljOb7?whj1DX#6eubX|u98Nr`k$Tx7 z;qd9rJ%4pu9tR$|gOfI^FgaYf5@5c6AtPGQulx6U8!YHKfI**>nFmkw9?(P&qbW=D zrc_Gweh%PN-;f5O4-`RYhbjpDpaDWJXo1iP9S~Zf2P)qWp)X8?&>JR0=m}FHbis58 z9WWC@8_b5#0&^kshj|b>V*!MYSO}p#7C~r>#SmI!351qd3ZXfcLFgaLfHA7FYRFxkLGW@(ckdherK8Ar0l#m_HJHLDVp2=!R2A<=uHQp zg#F6vw&3}CzWI?~~-|KC#pyvPveNtu~JkfhV6FrQk zEYX`%Dbf2mfD>y&8iYPj1fdMLML=UXoViAd_RP~FcCs;m<*vOOoh+| z(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whjp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJv zWkxM}Km`j3Bj@Y}aQGt%B6NMAYy;EB$$$V2j5R==@JxiR4HV^|CAz`r1-oy_FL}Vo+-ZlA6y=$j^1Az`r1-oy_FL}Vo+-ZlA6y=$j^1WOA+*OL2yL+#LTfC6&=N}_G{-Us{bQL!fHxzP zE;DM;11eZR7&&J*fWseA5TWY>WgD12P6h;MV5|Y^gl8gjZJ;OzMJWh#AapS_Fn(uZ WfG2WOA+*OL2yL+#LTfC6&=N}_G{-Us{bQL!fHxzP zE;DM;11eZR7&&J*fWseA5TWY>WgD12P6h;MV5|Y^gl8gjZJ;OzMJWh#AapS_Fn(uZ WfG27FYRFxkLGW@(ckdherK8Ar0l#m_HJHLDVp2=!R2A<=uHQp zg#F6vw&3}CzWI?~~-|KC#pyvPveNtu~JkfhV6FrQk zEYX`%Dbf2mfD>y&8iYPj1fdMLML=UXoViAd_RP~FcCs;m<*vOOoh+| z(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whjp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJv zWkxM}Km`j3Bj@Y}aQGt%B6NMAYy;EB$$$V2j5R==@JxiR4HV^|C%x%`=rgGJ)I+g*;n4oV{X zuKyGAbP!WXS3T-u>yTlZuX8NM(cy>0r%midst&K-uD@G5McrZTm6sh$uL(Q2Oq||1 zflJw;&p&T1*G3tKC3mad)Nhk-hP+u-TnZSu;=>x zTN)PjoWQUzE=fr(8!AD6n3c6^(nW5EM@RA;rhbrg_{neZqEbcFA*jFi#UW09hmga0 z%*hwU97@IJ-Enu4cKEmEB43)Jti$n5m3CJPl^m{kceb7iRC37j?)+l@U*2JTgYA7& zW(5cH=OMmMFU1@Z)DpQ~UzBn?d3f+0ha6>Y@Z3&hu}`JEOtkaL{$#oyHq{ z4ol|qooAI|cUYqL?K#U|R$M`Ej~evr{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5 z132+Fq(SHdMG)Gd3PL|8<;*$pn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH T;LXYgl4J(Lr9irp1;hgYbXsG~ literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down.npz new file mode 100644 index 0000000000000000000000000000000000000000..ab88fcff4ed9c6d3c6ec9ad13da88c5aa09ec39a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?Lt=??|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T{Qn6dY9bqAT7%8^fX9Uas*+6J`UvT#sZaA&9JJY9$F z%1?M7+_!Q_IFZw2E9L6ovrxIheW{zniuf&W7AFTd+>uKBo%PJeVTCN?|58U^2bMcq zvtJ8&I_MqVS+U*6*5S~iM_cyBI6C+|3!3z=P}Sj9PxI!YDe4Y)=5EuRdrjDZ{ml7& z?Oe(ZUFs)We{Ya+Say!5y>Oe1gHQ3*cagCN?Eh6Pd}eg_zr9Sw^V=8L-t7-S342Rn z)+Mm8=LCj*aY;&Q*-#03&T0KK+b(iDo2lK-h-yGIparpkD(4*uA zpTm?>s+WICvO7%Tai9G24=b*qw?_^7b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2luC)- z&jFnH8`2>3fg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>K zgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oN3Lx49UlP)uA(E}=2 zKp39085kHEz~PT5h|u+cvJFfhCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{ U2=HcQ14%Li;Zh)7$pYd506(^75C8xG literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..ab88fcff4ed9c6d3c6ec9ad13da88c5aa09ec39a GIT binary patch literal 1332 zcmWIWW@gc4fB;2?Lt=??|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T{Qn6dY9bqAT7%8^fX9Uas*+6J`UvT#sZaA&9JJY9$F z%1?M7+_!Q_IFZw2E9L6ovrxIheW{zniuf&W7AFTd+>uKBo%PJeVTCN?|58U^2bMcq zvtJ8&I_MqVS+U*6*5S~iM_cyBI6C+|3!3z=P}Sj9PxI!YDe4Y)=5EuRdrjDZ{ml7& z?Oe(ZUFs)We{Ya+Say!5y>Oe1gHQ3*cagCN?Eh6Pd}eg_zr9Sw^V=8L-t7-S342Rn z)+Mm8=LCj*aY;&Q*-#03&T0KK+b(iDo2lK-h-yGIparpkD(4*uA zpTm?>s+WICvO7%Tai9G24=b*qw?_^7b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2luC)- z&jFnH8`2>3fg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>K zgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oN3Lx49UlP)uA(E}=2 zKp39085kHEz~PT5h|u+cvJFfhCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{ U2=HcQ14%Li;Zh)7$pYd506(^75C8xG literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up.npz new file mode 100644 index 0000000000000000000000000000000000000000..69f92164402beaf3145fb52d0562e8c86b94e53e GIT binary patch literal 1332 zcmWIWW@gc4fB;1X0k2D6|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8J_v?wauLQ*M5prfd1!e>JBHlLs)e!9UUUfW4By>ZQOUhnMnuxK}0EIy7`BO*x<8=#Zk!U-7M8)uC*%Iq$+H>JAQnw{7isEbP#iIy)jq zT-l*wsV(b{qcRSEJU@2LJSF4MWz-bHlySg5efFXJ&maHW*L&sg#7n)~AAl0}HTs$# zVPVe+4Ey4el+?1J67)W?^QP^2%<@g=8PPqE3 z{IQrr^$pR`{t#)0S^MYSb$69@cyi-V!^Aoz2Xp<3VzW3U2Zv3jRUfz&9F%+BGj8Bl zaIiLJ? z_#4t7^noG>?N9}wA2dMd1uYOdp#wrI^g!kNA@qfb5PHL82t8pcgf5s4p#x?@XoJ}h zT3{}O{xADxOCdDJG6?-+nL~g#Ba<#OYS9BKSU?z_ zvl$o|8o=R?D2UMYfwB!uA16>f3^Xv-0CmDM5xO=|l!KxaggIb(fOG@ncP0jS0toPC RWdlhv1L0C2UC9FC0RYj7TM+;N literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..69f92164402beaf3145fb52d0562e8c86b94e53e GIT binary patch literal 1332 zcmWIWW@gc4fB;1X0k2D6|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8J_v?wauLQ*M5prfd1!e>JBHlLs)e!9UUUfW4By>ZQOUhnMnuxK}0EIy7`BO*x<8=#Zk!U-7M8)uC*%Iq$+H>JAQnw{7isEbP#iIy)jq zT-l*wsV(b{qcRSEJU@2LJSF4MWz-bHlySg5efFXJ&maHW*L&sg#7n)~AAl0}HTs$# zVPVe+4Ey4el+?1J67)W?^QP^2%<@g=8PPqE3 z{IQrr^$pR`{t#)0S^MYSb$69@cyi-V!^Aoz2Xp<3VzW3U2Zv3jRUfz&9F%+BGj8Bl zaIiLJ? z_#4t7^noG>?N9}wA2dMd1uYOdp#wrI^g!kNA@qfb5PHL82t8pcgf5s4p#x?@XoJ}h zT3{}O{xADxOCdDJG6?-+nL~g#Ba<#OYS9BKSU?z_ zvl$o|8o=R?D2UMYfwB!uA16>f3^Xv-0CmDM5xO=|l!KxaggIb(fOG@ncP0jS0toPC RWdlhv1L0C2UC9FC0RYj7TM+;N literal 0 HcmV?d00001 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_modified.npz new file mode 100644 index 0000000000000000000000000000000000000000..37c24974ce8fb83d80e32c2980c069cd423efcd9 GIT binary patch literal 1332 zcmWIWW@gc4fB;1XzvDOD|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8T3CWds?^swP#P{uL(V_?(o@L{m2_#M+coFkE$l!vT%5R@~V^aJY5HO zkNF$E-?wrwJoo;Ko0O}=thQzOK}+2nj)eVFUYi`?kR;>%x%`=rgGJ)I+g*;n4oV{X zuKyGAbP!WXS3T-u>yTlZuX8NM(cy>0r%midst&K-uD@G5McrZTm6sh$uL(Q2Oq||1 zflJw;&p&T1*G3tKC3mad)Nhk-hP+u-TnZSu;=>x zTN)PjoWQUzE=fr(8!AD6n3c6^(nW5EM@RA;rhbrg_{neZqEbcFA*jFi#UW09hmga0 z%*hwU97@IJ-Enu4cKEmEB43)Jti$n5m3CJPl^m{kceb7iRC37j?)+l@U*2JTgYA7& zW(5cH=OMmMFU1@Z)DpQ~UzBn?d3f+0ha6>Y@Z3&hu}`JEOtkaL{$#oyHq{ z4ol|qooAI|cUYqL?K#U|R$M`Ej~evr{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5 z132+Fq(SHdMG)Gd3PL|8<;*$pn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH T;LXYgl4J(Lr9irp1;hgYbXsG~ literal 0 HcmV?d00001 diff --git a/nondiff_stats/workspace.json b/nondiff_stats/workspace.json new file mode 100644 index 0000000..a0dca0e --- /dev/null +++ b/nondiff_stats/workspace.json @@ -0,0 +1,703 @@ +{ + "channels": [ + { + "name": "Zprime_channel", + "samples": [ + { + "data": [ + 4.376100696623325, + 89.37979253008962, + 168.2321730069816, + 330.14789878204465, + 1158.7584372907877, + 2007.6806884668767, + 2278.544808000326, + 2149.986529044807, + 1804.0268701985478, + 1390.8569100871682, + 1040.8927062638104, + 776.5101698376238, + 557.7464189752936, + 411.14704563841224, + 296.5014641806483, + 220.6215294599533, + 158.77814414352179, + 121.29230044037104, + 90.7421635016799, + 69.60477145761251, + 50.07745419815183, + 40.25186961516738, + 30.426285032182932, + 21.963071420788765 + ], + "modifiers": [ + { + "data": [ + 0.42903558937297065, + 1.9333067060625753, + 2.6508680388924533, + 3.714410241307777, + 6.94945446232057, + 9.165320023097497, + 9.791526994952111, + 9.535613798829688, + 8.768543934421091, + 7.731463461596482, + 6.720416417875934, + 5.822210664512438, + 4.946157170303136, + 4.274236778905779, + 3.641423914436692, + 3.145719230489383, + 2.6614555116243857, + 2.330991006449778, + 2.0267023115609764, + 1.7795258306496307, + 1.5330756107447898, + 1.348539435985825, + 1.1756874130471262, + 0.999379069499909 + ], + "name": "staterror_Zprime_channel", + "type": "staterror" + }, + { + "data": { + "hi": 0.9875060351244633, + "lo": 0.9818689030959243 + }, + "name": "MU_ID_SF", + "type": "normsys" + }, + { + "data": { + "hi_data": [ + 4.374668206158063, + 89.32000474456898, + 168.11788148592262, + 330.0625335668744, + 1158.5333685353012, + 2007.665907733479, + 2278.554099171746, + 2150.050481951117, + 1804.095648420421, + 1390.9630716327085, + 1041.009864969114, + 776.586013872833, + 557.7426069309979, + 411.1514628103685, + 296.5373443674536, + 220.62475015884132, + 158.79764772945933, + 121.28426760591142, + 90.74490836897819, + 69.60596247584438, + 50.08547670328651, + 40.24957748850879, + 30.4268460625119, + 21.961207277061575 + ], + "lo_data": [ + 4.377226123585218, + 89.37385422691521, + 168.20146469455793, + 330.1748172780924, + 1158.7946358133256, + 2007.798492859975, + 2278.480637826969, + 2149.9321919973536, + 1803.9753042992293, + 1390.821306304611, + 1040.9698403391017, + 776.5074528290054, + 557.708321818791, + 411.13356855436746, + 296.53624240291924, + 220.612502132975, + 158.8007538420012, + 121.28203355584328, + 90.74186597992887, + 69.6037309245273, + 50.088479606688985, + 40.24506956681937, + 30.422804171839008, + 21.963005120047377 + ] + }, + "name": "MU_ID_SF", + "type": "histosys" + } + ], + "name": "ttbar_semilep" + }, + { + "data": [ + 1.804945733398199, + 6.637542374432087, + 8.617160275578499, + 9.548745170235634, + 16.12806348875165, + 22.94027803093195, + 20.37841957062483, + 14.84713425859809, + 12.40172391012311, + 7.802023492753506, + 5.531285312026739, + 5.414837200194597, + 3.5516674108803272, + 3.4934433549642563, + 1.7467216774821281, + 1.3391532860696316, + 1.2227051742374897, + 0.6404646150767803, + 0.4657924473285675, + 0.5822405591607094, + 0.40756839141249657, + 0.34934433549642563, + 0.2911202795803547, + 0.17467216774821281 + ], + "modifiers": [ + { + "data": [ + 0.3241778235889223, + 0.627092273695713, + 0.7083262113765286, + 0.7501644846930212, + 0.9725334707667654, + 1.1615662673960803, + 1.1047237878467124, + 0.9513889128604758, + 0.8576939017784555, + 0.6889163201902571, + 0.5966190343664572, + 0.5614924611431136, + 0.4694173459467109, + 0.48012786498765864, + 0.3293649981315078, + 0.27923276277741543, + 0.27923276277741543, + 0.19310734724627984, + 0.1841206313077857, + 0.1841206313077857, + 0.1540463722754427, + 0.14261922774964997, + 0.1301929469540834, + 0.10084702306936613 + ], + "name": "staterror_Zprime_channel", + "type": "staterror" + }, + { + "data": { + "hi": 0.9881480100489056, + "lo": 0.9819572685300455 + }, + "name": "MU_ID_SF", + "type": "normsys" + }, + { + "data": { + "hi_data": [ + 1.8030771142903745, + 6.625016187113526, + 8.619667154408743, + 9.55319327853785, + 16.120626443106097, + 22.94148229030818, + 20.378263549162273, + 14.854583657128693, + 12.407330421132997, + 7.802848031695636, + 5.5272897770938405, + 5.417252299830831, + 3.5505981534023046, + 3.4898293867538634, + 1.746930365842573, + 1.3416595542260399, + 1.2231200895343741, + 0.6411464299349079, + 0.46609280551639215, + 0.5839688540347643, + 0.4076071312984296, + 0.34937117982057764, + 0.29121851673339405, + 0.17487984617957364 + ], + "lo_data": [ + 1.8052593604417748, + 6.6330453719634255, + 8.625839812658755, + 9.55678032520422, + 16.121894295214684, + 22.93834517597065, + 20.371479935096275, + 14.84733619735821, + 12.408289336824973, + 7.801686994294314, + 5.525425314365993, + 5.41902364594751, + 3.549018329153717, + 3.4863865866040524, + 1.74722794017627, + 1.3423036556270214, + 1.2217226114666975, + 0.6413756059386417, + 0.4664259831032435, + 0.5841713510231675, + 0.4079360052559434, + 0.3497099744795933, + 0.2913612531900434, + 0.17500745572716342 + ] + }, + "name": "MU_ID_SF", + "type": "histosys" + } + ], + "name": "ttbar_had" + }, + { + "data": [ + 0.6249373815953732, + 14.603799864649773, + 49.962099086493254, + 174.5219866707921, + 351.0503512509167, + 432.9829311221838, + 387.16515361890197, + 315.72494347020984, + 237.93668518215418, + 179.0938969887793, + 135.38117171823978, + 102.12792472913861, + 77.42645243555307, + 55.9154499322176, + 43.94296535849571, + 35.720105074346066, + 26.247370027005672, + 19.965104769915342, + 14.505125541239977, + 13.25525077804923, + 8.946471989154816, + 7.137442726641893, + 5.196847699582577, + 4.3416702300310135 + ], + "modifiers": [ + { + "data": [ + 0.14337046802184983, + 0.6992816305460412, + 1.2945195433694927, + 2.410742945033199, + 3.419919127166374, + 3.8071754315724338, + 3.607727824325228, + 3.2609006701395447, + 2.8374468506237847, + 2.465103250887817, + 2.1397140185032275, + 1.8568376532252389, + 1.632025449527137, + 1.3814405277371336, + 1.2262818562870537, + 1.1007581605636167, + 0.9441619806128986, + 0.8262235738144394, + 0.7107900550231163, + 0.666812624293658, + 0.5542964185451869, + 0.5042162447898197, + 0.42377657486820425, + 0.3807459580949904 + ], + "name": "staterror_Zprime_channel", + "type": "staterror" + }, + { + "data": { + "hi": 0.9874676320842061, + "lo": 0.9818716509639374 + }, + "name": "MU_ID_SF", + "type": "normsys" + }, + { + "data": { + "hi_data": [ + 0.6247205423478993, + 14.594507778289225, + 49.92512445214722, + 174.4509440178052, + 351.0061072164685, + 432.98242680695773, + 387.1860905975065, + 315.7581287274557, + 237.9552923545186, + 179.12517507232528, + 135.4070573945022, + 102.14547001079306, + 77.4232184795585, + 55.920341720768484, + 43.94625489571731, + 35.719286791609775, + 26.254608825705617, + 19.962850498520776, + 14.505536943357717, + 13.25598759240812, + 8.949461610113591, + 7.138626182973517, + 5.194581046375133, + 4.344338088062176 + ], + "lo_data": [ + 0.625100473565013, + 14.602408762425496, + 49.95022605288153, + 174.51661768994487, + 351.0754431074655, + 432.99562110229397, + 387.1503879189443, + 315.7071876740838, + 237.9380076665776, + 179.09364041321157, + 135.3884221856859, + 102.13715479943775, + 77.41655156183276, + 55.9182335706183, + 43.94272840287694, + 35.7157420099855, + 26.250125561533803, + 19.96649561671011, + 14.505234659048552, + 13.253860498965413, + 8.95075654029339, + 7.137075754174638, + 5.194554417747872, + 4.344561205983895 + ] + }, + "name": "MU_ID_SF", + "type": "histosys" + } + ], + "name": "ttbar_lep" + }, + { + "data": [ + 0.0, + 0.6531646437942982, + 2.208318557590246, + 2.6748647317290306, + 3.016998592764139, + 3.29692629724741, + 6.002894107252359, + 10.326221987605095, + 17.759857695549726, + 29.205790501087904, + 43.32658803835511, + 59.18915795907378, + 73.58988320082426, + 83.29404362291098, + 91.22532858327031, + 91.59856552258134, + 92.74937941879034, + 86.34214529395103, + 78.59747880324721, + 58.13165329769254, + 45.037257343530655, + 28.645935092121363, + 16.48463148623705, + 9.455335795879364 + ], + "modifiers": [ + { + "data": [ + 0.0, + 0.14253221054553522, + 0.26207919595972107, + 0.2884380819664127, + 0.3063297951376594, + 0.3202257901750292, + 0.43209777284767714, + 0.5667250574793705, + 0.7432269129100887, + 0.9530949522819949, + 1.1608575533567578, + 1.3568216585413062, + 1.512901813572494, + 1.609565518617113, + 1.6844549669468303, + 1.6878973171999243, + 1.6984673114621622, + 1.6387515075777939, + 1.5635291924064765, + 1.3446461849968903, + 1.1835528465127882, + 0.9439156537832898, + 0.716046634979947, + 0.5423007001510635 + ], + "name": "staterror_Zprime_channel", + "type": "staterror" + }, + { + "data": null, + "name": "zprime_norm", + "type": "normfactor" + }, + { + "data": { + "hi": 0.9873839898155702, + "lo": 0.9819007080821183 + }, + "name": "MU_ID_SF", + "type": "normsys" + }, + { + "data": { + "hi_data": [ + 0.0, + 0.6528271745117055, + 2.206149409539619, + 2.6736587817179043, + 3.0167894424222417, + 3.2969723591477034, + 6.005864398438007, + 10.328156440067575, + 17.760439084714754, + 29.212023335928492, + 43.33986012254677, + 59.19854708401759, + 73.6040304051511, + 83.30550207813553, + 91.24180200468354, + 91.61270115359362, + 92.73476360661381, + 86.33271528178011, + 78.58122740395005, + 58.12131956915305, + 45.01889462115989, + 28.640920814856646, + 16.479078823274143, + 9.448177177681748 + ], + "lo_data": [ + 0.0, + 0.6531179155801419, + 2.2072507316745056, + 2.674557842559687, + 3.01746937227223, + 3.297177126937015, + 6.005011248316647, + 10.324986055540277, + 17.753556612329426, + 29.20811828127596, + 43.328286211600464, + 59.18207391853604, + 73.58378946066382, + 83.29181578492137, + 91.23800652415576, + 91.60739563860237, + 92.7480066997366, + 86.34653027739672, + 78.59643385348436, + 58.133695349701775, + 45.03128081157491, + 28.64908033858799, + 16.483072637247826, + 9.45170788038963 + ] + }, + "name": "MU_ID_SF", + "type": "histosys" + } + ], + "name": "signal" + }, + { + "data": [ + 0.0, + 12.463685035705566, + 0.0, + 12.463685035705566, + 24.927370071411133, + 62.318424224853516, + 87.24579429626465, + 62.31842517852783, + 87.24579524993896, + 62.31842517852783, + 37.391056060791016, + 62.31842613220215, + 24.927370071411133, + 24.927370071411133, + 0.0, + 12.463685989379883, + 37.3910551071167, + 0.0, + 12.463685035705566, + 12.463685035705566, + 12.463685035705566, + 0.0, + 0.0, + 0.0 + ], + "modifiers": [ + { + "data": [ + 0.0, + 12.463685035705566, + 0.0, + 12.463685035705566, + 17.626312414641404, + 27.869646563488434, + 32.97581066345912, + 27.86964698998454, + 32.97581102391412, + 27.86964698998454, + 21.587736281982096, + 27.869647416480674, + 17.626312414641404, + 17.626312414641404, + 0.0, + 12.463685989379883, + 21.587735731377958, + 0.0, + 12.463685035705566, + 12.463685035705566, + 12.463685035705566, + 0.0, + 0.0, + 0.0 + ], + "name": "staterror_Zprime_channel", + "type": "staterror" + }, + { + "data": { + "hi": 0.9883042741465439, + "lo": 0.9828667479188841 + }, + "name": "MU_ID_SF", + "type": "normsys" + }, + { + "data": { + "hi_data": [ + 0.0, + 12.448813032380366, + 0.0, + 12.448813032380366, + 24.815662046325055, + 62.410371142807875, + 86.97895168872165, + 62.24525461336865, + 87.39115163637007, + 62.34266597126731, + 37.43078297740937, + 62.32840903580751, + 24.98077953466323, + 24.98077953466323, + 0.0, + 12.366849960209475, + 37.5127460369461, + 0.0, + 12.448813032380366, + 12.531966502282865, + 12.448813032380366, + 0.0, + 0.0, + 0.0 + ], + "lo_data": [ + 0.0, + 12.454315655842162, + 0.0, + 12.454315655842162, + 24.831166622064824, + 62.40200868649801, + 87.01303025169656, + 62.25932927220864, + 87.37585663874714, + 62.33505263383078, + 37.41591460108912, + 62.32454590778338, + 24.973846994301656, + 24.973846994301656, + 0.0, + 12.376851913252764, + 37.49337833276115, + 0.0, + 12.454315655842162, + 12.519531338459494, + 12.454315655842162, + 0.0, + 0.0, + 0.0 + ] + }, + "name": "MU_ID_SF", + "type": "histosys" + } + ], + "name": "wjets" + } + ] + } + ], + "measurements": [ + { + "config": { + "parameters": [ + { + "bounds": [ + [ + 0, + 10 + ] + ], + "inits": [ + 1.0 + ], + "name": "zprime_norm" + } + ], + "poi": "zprime_norm" + }, + "name": "CMS_Zprime" + } + ], + "observations": [ + { + "data": [ + 17.0, + 92.0, + 163.0, + 333.0, + 822.0, + 1292.0, + 1435.0, + 1212.0, + 1092.0, + 850.0, + 604.0, + 423.0, + 326.0, + 239.0, + 220.0, + 142.0, + 92.0, + 77.0, + 72.0, + 46.0, + 37.0, + 15.0, + 12.0, + 11.0 + ], + "name": "Zprime_channel" + } + ], + "version": "1.0.0" +} \ No newline at end of file From d1c418f88731cbe1105c74c2d3332f0dbdb2ecd8 Mon Sep 17 00:00:00 2001 From: maly Date: Thu, 21 Aug 2025 12:39:53 +0100 Subject: [PATCH 07/24] fixes --- analysis.py | 8 +- analysis/diff.py | 4 +- analysis/nondiff.py | 2 +- user/configuration.py | 1 - utils/__init__.py | 2 - utils/build_fileset_json.py | 7 +- utils/input_files.py | 24 --- utils/preproc.py | 287 ------------------------------------ utils/skimming.py | 12 +- 9 files changed, 20 insertions(+), 327 deletions(-) delete mode 100644 utils/preproc.py diff --git a/analysis.py b/analysis.py index 9c84a01..31ec352 100644 --- a/analysis.py +++ b/analysis.py @@ -5,13 +5,10 @@ on NanoAOD ROOT files and producing histograms of observables like mtt. Supports both correctionlib-based and function-based corrections. """ -import hashlib import logging -import os import sys +import warnings -import cloudpickle -import uproot from coffea.nanoevents import NanoAODSchema, NanoEventsFactory from analysis.diff import DifferentiableAnalysis @@ -38,6 +35,9 @@ logger = logging.getLogger("AnalysisDriver") logging.getLogger("jax._src.xla_bridge").setLevel(logging.ERROR) +NanoAODSchema.warn_missing_crossrefs = False +warnings.filterwarnings("ignore", category=FutureWarning, module="coffea.*") + # ----------------------------- # Main Driver # ----------------------------- diff --git a/analysis/diff.py b/analysis/diff.py index 2cda8e2..b73a92d 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -26,7 +26,7 @@ import uproot import vector from coffea.analysis_tools import PackedSelection -from coffea.nanoevents import NanoAODSchema, NanoEventsFactory +from coffea.nanoevents import NanoAODSchema from jaxopt import OptaxSolver from tabulate import tabulate @@ -46,7 +46,6 @@ plot_parameters_over_iterations, plot_pvalue_vs_parameters, ) -from utils.preproc import pre_process_dak, pre_process_uproot from utils.tools import nested_defaultdict_to_dict, recursive_to_backend @@ -772,7 +771,6 @@ def _prepare_dirs(self) -> None: self.dirs.update( { "cache": cache, - "preproc": Path(preproc) if preproc else None, "mva_models": mva, "optimisation_plots": optimisation_plots, "fit_plots": fit_plots, diff --git a/analysis/nondiff.py b/analysis/nondiff.py index d761e19..a6e38f0 100644 --- a/analysis/nondiff.py +++ b/analysis/nondiff.py @@ -4,7 +4,7 @@ import warnings from collections import defaultdict from typing import Any, Literal, Optional - +from typing import Any, Literal, Optional, Dict, List, Tuple import awkward as ak import cabinetry import hist diff --git a/user/configuration.py b/user/configuration.py index e996db9..f4dca37 100644 --- a/user/configuration.py +++ b/user/configuration.py @@ -54,7 +54,6 @@ "lumifile": "./corrections/Cert_271036-284044_13TeV_Legacy2016_"\ "Collisions16_JSON.txt", "cache_dir": "/tmp/gradients_analysis/", - "processes": ["signal"] } # ============================================================================== diff --git a/utils/__init__.py b/utils/__init__.py index f40413c..7744e85 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -2,7 +2,6 @@ from . import input_files as input_files from . import jax_stats as jax_stats from . import output_files as output_files -from . import preproc as preproc from . import schema as schema __all__ = [ @@ -13,7 +12,6 @@ "jax_stats", "observables", "output_files", - "preproc", "schema", "systematics", ] diff --git a/utils/build_fileset_json.py b/utils/build_fileset_json.py index 51b8bbd..ff0adbd 100644 --- a/utils/build_fileset_json.py +++ b/utils/build_fileset_json.py @@ -211,9 +211,10 @@ def get_metadata( logger.error(fnf) continue - entries_count, weight_sums = count_events_in_files( - file_paths, tree_name=tree_name, weight_branch=weight_branch - ) + # entries_count, weight_sums = count_events_in_files( + # file_paths, tree_name=tree_name, weight_branch=weight_branch + # ) + entries_count, weight_sums = [0.0]*len(file_paths), [0.0]*len(file_paths) variation_label = "nominal" file_records = [ {"path": str(fp), "nevts": cnt, "nevts_wt": wt} diff --git a/utils/input_files.py b/utils/input_files.py index aaf4f3c..05bac86 100644 --- a/utils/input_files.py +++ b/utils/input_files.py @@ -73,7 +73,6 @@ def construct_fileset( f"got {max_files_per_sample}" ) - print(dataset_manager.datasets) # Use provided dataset manager or create default if dataset_manager is None: dataset_config = create_default_dataset_config() @@ -126,31 +125,8 @@ def construct_fileset( "xsec": xsec, } - # Determine file path patterns or explicit paths - # if preprocessor == "uproot": - # # Use glob pattern for directory-based access - # remote_config = dataset_manager.get_remote_access_config(process_name) - # if remote_config and remote_config.get("protocol") == "xrootd": - # # Use configured remote access - # base_pattern = ( - # f"{remote_config['base_url']}/" - # f"{remote_config.get('path_pattern', '')}" - # ) - # file_pattern = dataset_manager.get_file_pattern(process_name) - # file_map = {f"{base_pattern}/{file_pattern}": tree_name} - # else: - # # Use local directory pattern - deduce from first file path - # if raw_entries: - # first_path = raw_entries[0].get("path", "") - # base_pattern = str(Path(first_path).parents[1]) - # file_map = {f"{base_pattern}/*/*.root": tree_name} - # else: - # # No files available, create empty file map - # file_map = {} - # else: # Explicit file listings for other preprocessors file_map = {entry.get("path", ""): tree_name for entry in raw_entries} - print(file_map) key = f"{process_name}__{variation_name}" fileset[key] = {"files": file_map, "metadata": metadata} diff --git a/utils/preproc.py b/utils/preproc.py deleted file mode 100644 index 50ce573..0000000 --- a/utils/preproc.py +++ /dev/null @@ -1,287 +0,0 @@ -import logging - -import awkward as ak -from coffea.nanoevents import NanoAODSchema, NanoEventsFactory -import dask_awkward as dak -import numpy as np -from tqdm import tqdm -import uproot - -from utils.skimming import ConfigurableSkimmingManager, create_default_skimming_config - -logger = logging.getLogger(__name__) - - -def build_branches_to_keep(config, mode="uproot", is_mc=False): - """ - Build list or dict of branches to keep for preprocessing. - - Parameters - ---------- - config : Config - Configuration object with a preprocess block. - mode : str - 'uproot' returns a flat list; 'dask' returns a dict. - is_mc : bool - Whether input files are Monte Carlo. - - Returns - ------- - dict or list - Branches to retain depending on mode. - """ - branches = config.preprocess.branches - mc_branches = config.preprocess.mc_branches - filtered = {} - - for obj, obj_branches in branches.items(): - if not is_mc: - filtered[obj] = [ - br for br in obj_branches if br not in mc_branches.get(obj, []) - ] - else: - filtered[obj] = obj_branches - - if mode == "dask": - return filtered - - if mode == "uproot": - flat = [] - for obj, brs in filtered.items(): - flat.extend( - brs if obj == "event" else [f"{obj}_{br}" for br in brs] - ) - return flat - - raise ValueError("Invalid mode: use 'dask' or 'uproot'.") - - -# ----------------------------- -# Preprocessing Logic with dak -# ----------------------------- -def pre_process_dak( - input_path, - tree, - output_dir, - configuration, - step_size=100_000, - is_mc=True, - skimming_manager=None, -): - """ - Preprocess input ROOT file by applying basic filtering and reducing branches. - - Parameters - ---------- - input_path : str - Path to the input ROOT file. - tree : str - Name of the TTree inside the file. - output_dir : str - Destination directory for filtered output. - configuration : object - Configuration object containing branch selection and other settings. - step_size : int - Chunk size to load events incrementally. - is_mc : bool - Whether input files are Monte Carlo. - skimming_manager : ConfigurableSkimmingManager, optional - Skimming manager for configurable selections. If None, creates default. - - Returns - ------- - int - Total number of input events before filtering. - """ - # Use provided skimming manager or create default - if skimming_manager is None: - skimming_config = create_default_skimming_config() - skimming_manager = ConfigurableSkimmingManager(skimming_config) - - with uproot.open(f"{input_path}:{tree}") as f: - total_events = f.num_entries - - logger.info("========================================") - logger.info( - f"📂 Preprocessing file: {input_path} with {total_events:,} events" - ) - - branches = build_branches_to_keep(configuration, mode="dak", is_mc=is_mc) - step_size = skimming_manager.get_chunk_size() - selected = None - - for start in range(0, total_events, step_size): - stop = min(start + step_size, total_events) - - events = NanoEventsFactory.from_root( - {input_path: tree}, - schemaclass=NanoAODSchema, - entry_start=start, - entry_stop=stop, - delayed=True, - # xrootd_handler= uproot.source.xrootd.MultithreadedXRootDSource, - ).events() - - # Apply configurable selection - from analysis.base import Analysis # Import here to avoid circular imports - temp_analysis = Analysis(configuration) # Create temporary analysis instance - mask = skimming_manager.apply_nanoaod_selection( - events, temp_analysis._get_function_arguments - ) - - filtered = events[mask] - - subset = {} - for obj, obj_branches in branches.items(): - if obj == "event": - subset.update( - { - br: filtered[br] - for br in obj_branches - if br in filtered.fields - } - ) - elif obj in filtered.fields: - subset.update( - { - f"{obj}_{br}": filtered[obj][br] - for br in obj_branches - if br in filtered[obj].fields - } - ) - - compact = dak.zip(subset, depth_limit=1) - selected = ( - compact - if selected is None - else ak.concatenate([selected, compact]) - ) - - output_tree_name = skimming_manager.get_tree_name() - - logger.info(f"💾 Writing skimmed output to: {output_dir}") - uproot.dask_write( - selected, destination=output_dir, compute=True, tree_name=output_tree_name - ) - return total_events - - -# ----------------------------- -# Preprocessing Logic with uproot -# ----------------------------- -def pre_process_uproot( - input_path, - tree, - output_path, - configuration, - step_size=100_000, - is_mc=True, - skimming_manager=None, -): - """ - Process a ROOT file by applying a selection function on chunks of data - and saving the filtered results to a new file, with a progress bar. - - Parameters - ---------- - input_path : str - Path to the input ROOT file. - tree : str - Name of the TTree inside the file. - output_path : str - Path to the output ROOT file. - configuration : object - Configuration object containing branch selection and other settings. - step_size : int - Number of entries to process in each chunk. - is_mc : bool - Flag indicating whether the input data is from MC or not. - skimming_manager : ConfigurableSkimmingManager, optional - Skimming manager for configurable selections. If None, creates default. - - Returns - ------- - bool - True if the output file was created successfully, False otherwise. - """ - # Use provided skimming manager or create default - if skimming_manager is None: - skimming_config = create_default_skimming_config() - skimming_manager = ConfigurableSkimmingManager(skimming_config) - - cut_str = skimming_manager.get_uproot_cut_string() - step_size = skimming_manager.get_chunk_size() - - branches = build_branches_to_keep( - configuration, mode="uproot", is_mc=is_mc - ) - - # First, get the total number of entries for the - # progress bar (takes ~3min for 170M events) - total_events = len( - uproot.concatenate( - f"{input_path}:{tree}", ["run"], library="np", how=tuple - )[0] - ) - logger.info("========================================") - logger.info( - f"📂 Preprocessing file: {input_path} with {total_events:,} events" - ) - - iterable = uproot.iterate( - f"{input_path}:{tree}", - branches, - step_size=step_size, - cut=cut_str, - library="ak", - num_workers=1, # for some reason, more workers are slower - ) - - n_chunks = (total_events + step_size - 1) // step_size # Ceiling division - pbar = tqdm(iterable, total=n_chunks, desc="Processing events") - - output_tree_name = skimming_manager.get_tree_name() - - # Initialize output file and tree - output = None - output_tree = None - branch_types = {} - - for arrays in pbar: - branches = arrays.fields - - # For the first chunk, create the output file - if output is None: - output = uproot.recreate(output_path) - - # Remember the branch structure from the first successful chunk - for branch in arrays.fields: - if isinstance(arrays[branch], ak.Array): - branch_types[branch] = arrays[branch].type - else: - branch_types[branch] = np.dtype(arrays[branch].dtype) - - # Create the output tree with proper types - output_tree = output.mktree(output_tree_name, branch_types) - - # Make sure we only write available branches that match the output tree - # This handles the case where some branches might be missing in later chunks - available_branches = set(branches) & set(branch_types.keys()) - filtered_data_to_write = { - branch: arrays[branch] for branch in available_branches - } - - # Write the filtered data for available branches only - output_tree.extend(filtered_data_to_write) - - # Close the progress bar - pbar.close() - - # Close the output file if it was created - if output is not None: - output.close() - logger.info(f"💾 Writing skimmed output to: {output_path}") - return True - else: - logger.info(f"💾 No events passed selection for {input_path}") - return False diff --git a/utils/skimming.py b/utils/skimming.py index f73d80f..b8046ed 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -12,6 +12,7 @@ import hashlib import logging import os +import warnings from pathlib import Path from typing import Any, Dict, Optional, Union @@ -29,6 +30,9 @@ logger = logging.getLogger(__name__) +NanoAODSchema.warn_missing_crossrefs = False +warnings.filterwarnings("ignore", category=FutureWarning, module="coffea.*") + # Fixed output pattern for simplicity SKIMMING_OUTPUT_PATTERN = "part_{chunk}.root" # chunk number will be filled in @@ -491,6 +495,7 @@ def _skim_with_uproot( ) n_chunks = (total_events + step_size - 1) // step_size + print('\n') pbar = tqdm(iterable, total=n_chunks, desc="Processing events", unit="chunk") chunk_num = 0 @@ -521,10 +526,12 @@ def _skim_with_uproot( filtered_data = {branch: arrays[branch] for branch in arrays.fields} output_tree.extend(filtered_data) + files_created += 1 chunk_num += 1 pbar.close() + print('\n') if files_created > 0: logger.info(f"💾 Wrote {files_created} skimmed chunks to: {output_dir}") @@ -655,9 +662,10 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana else: logger.info(f"Processing {skimmed_file}") events = NanoEventsFactory.from_root( - skimmed_file, schemaclass=NanoAODSchema + skimmed_file, schemaclass=NanoAODSchema, + delayed=False, ).events() - events = ak.materialize(events) + print(len(events), "MOO") # Cache the events if not reading from cache if not config.general.read_from_cache: From 2f516febe25b1098dedd62fb26b4ecf1acb60c63 Mon Sep 17 00:00:00 2001 From: maly Date: Thu, 28 Aug 2025 11:23:46 +0100 Subject: [PATCH 08/24] move metadata extraction to coffea preprocess function, maintaining minimal older output structure to keep running sklimming with older code --- analysis.py | 30 +- pixi.lock | 56 +-- pixi.toml | 3 +- user/configuration.py | 2 +- user/skim.py | 3 +- utils/__init__.py | 2 +- utils/build_fileset_json.py | 277 -------------- utils/datasets.py | 3 +- utils/metadata_extractor.py | 732 ++++++++++++++++++++++++++++++++++++ utils/schema.py | 16 +- utils/skimming.py | 13 +- 11 files changed, 788 insertions(+), 349 deletions(-) delete mode 100644 utils/build_fileset_json.py create mode 100644 utils/metadata_extractor.py diff --git a/analysis.py b/analysis.py index 31ec352..2ae1d5a 100644 --- a/analysis.py +++ b/analysis.py @@ -18,7 +18,7 @@ from utils.datasets import ConfigurableDatasetManager from utils.logging import ColoredFormatter, _banner from utils.schema import Config, load_config_with_restricted_cli -from utils.build_fileset_json import NanoAODMetadataGenerator +from utils.metadata_extractor import NanoAODMetadataGenerator from utils.skimming import process_fileset_with_skimming # ----------------------------- @@ -51,26 +51,14 @@ def main(): config = Config(**full_config) # Pydantic validation logger.info(f"Luminosity: {config.general.lumi}") - # Build JSON metadata before constructing fileset if dataset manager is configured - dataset_manager = None - if config.datasets: - dataset_manager = ConfigurableDatasetManager(config.datasets) - - # Conditionally run metadata generation - if config.general.run_metadata_generation: - logger.info(_banner("Building JSON Metadata Before Skimming")) - # Build JSON metadata for datasets - generator = NanoAODMetadataGenerator(dataset_manager=dataset_manager) - generator.run() - logger.info("JSON metadata generation complete") - else: - logger.info(f"Skipping metadata generation - using existing metadata from {dataset_manager.config.metadata_output_dir}") - - fileset = construct_fileset( - max_files_per_sample=config.general.max_files, - dataset_manager=dataset_manager, - ) - + dataset_manager = ( ConfigurableDatasetManager(config.datasets) + if config.datasets + else None + ) + generator = NanoAODMetadataGenerator(dataset_manager=dataset_manager) + generator.run(generate_metadata=config.general.run_metadata_generation) + fileset = generator.fileset + print(fileset) # Process fileset with skimming and get processed events logger.info(_banner("SKIMMING AND CACHING DATA")) processed_datasets = process_fileset_with_skimming(config, fileset) diff --git a/pixi.lock b/pixi.lock index fba5d1c..4539374 100644 --- a/pixi.lock +++ b/pixi.lock @@ -54,7 +54,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2024.11.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/correctionlib-2.7.0-py312ha04a795_0.conda @@ -317,7 +317,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2024.11.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/correctionlib-2.7.0-py312h674a3be_0.conda @@ -593,7 +593,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2024.11.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_1.conda @@ -919,7 +919,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2024.11.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_1.conda @@ -2379,41 +2379,41 @@ packages: - pkg:pypi/cloudpickle?source=hash-mapping size: 25870 timestamp: 1736947650712 -- conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2024.11.0-pyhff2d567_0.conda - sha256: 2a3da1def761d431f0ec2513283067e2c0123d5e13c3964a10209a14bbc8b81e - md5: 41d9db9fe41968836548bbb87b52ddf4 +- conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda + sha256: a50dc13ddc5be38b166ff36ec4fc29b0b417e95d065b840aff820bce02927e00 + md5: 7e856501b490d4e81f3a2071456d0acc depends: - - aiohttp - - awkward >=2.6.7 - - cachetools - - cloudpickle >=1.2.3 - - correctionlib >=2.6.0 - - dask-awkward >=2024.9.0 + - python >=3.9 + - awkward >=2.8.2 + - uproot >=5.6.0 - dask-core >=2024.3.0 - - dask-histogram >=2024.9.1 - - fsspec-xrootd >=0.2.3 - - hist >=2 - - lz4 + - dask-awkward >=2025.5.0 + - dask-histogram >=2025.2.0 + - vector >=1.4.1,!=1.6.0 + - correctionlib >=2.6.0 + - pyarrow >=6.0.0,<21.0.0 - matplotlib-base >=3 - - mplhep >=0.1.18 - numba >=0.58.1 - - numpy >=1.22.0 + - numpy >=1.22 + - scipy >=1.1.0 + - tqdm >=4.27.0 + - lz4 + - cloudpickle >=1.2.3 + - toml >=0.10.2 + - mplhep >=0.1.18 - packaging - pandas - - pyarrow >=6.0.0 - - python >=3.9 + - hist >=2 + - cachetools - requests - - scipy >=1.1.0 - - toml >=0.10.2 - - tqdm >=4.27.0 - - uproot >=5.3.11 - - vector >=1.4.1 + - aiohttp + - python license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/coffea?source=hash-mapping - size: 142249 - timestamp: 1732180728179 + size: 191630 + timestamp: 1753651485872 - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 md5: 962b9857ee8e7018c22f2776ffa0b2d7 diff --git a/pixi.toml b/pixi.toml index 9ad6df5..d5a4fce 100644 --- a/pixi.toml +++ b/pixi.toml @@ -11,7 +11,7 @@ version = "0.1.0" awkward = "==2.8.2" cabinetry = ">=0.6.0,<0.7" cloudpickle = ">=3.1.1,<4" -coffea = ">=2024,<2025" +coffea = ">=2025.7.3,<2026" correctionlib = ">=2.7.0,<3" dask-awkward = ">=2025.5.0,<2026" equinox = ">=0.13.0,<0.14" @@ -36,6 +36,7 @@ python = ">=3.12.11,<3.13" xrootd = ">=5.8.1,<6" optimistix = ">=0.0.10" ipython = ">=9.4.0,<10" +fsspec-xrootd = ">=0.4.0" [pypi-dependencies] relaxed = { git = "https://github.com/pfackeldey/relaxed.git", branch = "fixes_for_zprime" } diff --git a/user/configuration.py b/user/configuration.py index f4dca37..9f0e233 100644 --- a/user/configuration.py +++ b/user/configuration.py @@ -49,7 +49,7 @@ "run_mva_training": True, "run_metadata_generation": True, "read_from_cache": True, - "output_dir": "outputs/traced_zprime_with_jax_nn/", + "output_dir": "outputs/test_metadata/", "processor": "uproot", "lumifile": "./corrections/Cert_271036-284044_13TeV_Legacy2016_"\ "Collisions16_JSON.txt", diff --git a/user/skim.py b/user/skim.py index ef1bcac..5cdf422 100644 --- a/user/skim.py +++ b/user/skim.py @@ -70,7 +70,8 @@ dataset_manager_config = { "datasets": datasets_config, - "metadata_output_dir": "output_jax_nn_standalone/skimmed/nanoaods_jsons/" + "metadata_output_dir": "outputs/test_metadata/skimmed/nanoaods_jsons/", + "max_files": 1 # No limit by default } # ============================================================================== diff --git a/utils/__init__.py b/utils/__init__.py index 7744e85..b879f5a 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -1,4 +1,4 @@ -from . import build_fileset_json as build_fileset_json +from . import metadata_extractor as metadata_extractor from . import input_files as input_files from . import jax_stats as jax_stats from . import output_files as output_files diff --git a/utils/build_fileset_json.py b/utils/build_fileset_json.py deleted file mode 100644 index ff0adbd..0000000 --- a/utils/build_fileset_json.py +++ /dev/null @@ -1,277 +0,0 @@ -""" -Utility module to generate JSON metadata for NanoAOD ROOT datasets -used in ZprimeTtbar analysis. - -This script provides: - - `get_root_file_paths`: Read .txt listings to gather ROOT file paths. - - `count_events_in_files`: Query each ROOT file for total and weighted event counts. - - `NanoAODMetadataGenerator`: Class-based API to build and export metadata. - - CLI entrypoint for standalone execution. - -Original inspiration from: -https://github.com/iris-hep/analysis-grand-challenge/blob/main/datasets/ -cms-open-data-2015/build_ntuple_json.py -""" - -import json -import logging -import time -from collections import defaultdict -from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple, Union - -import awkward as ak -import uproot - -from utils.datasets import ConfigurableDatasetManager, create_default_dataset_config - - -# Configure module-level logger -logger = logging.getLogger(__name__) -logger.addHandler(logging.NullHandler()) - - -def get_root_file_paths( - directory: Union[str, Path], - identifiers: Optional[Union[int, List[int]]] = None, -) -> List[Path]: - """ - Collect ROOT file paths from text listings in a directory. - - Searches for `*.txt` files in the specified directory (or specific - `.txt` files if `identifiers` is given) and reads each line as a - ROOT file path. - - Parameters - ---------- - directory : str or Path - Path to the folder containing text listing files. - identifiers : int or list of ints, optional - Specific listing file IDs (without `.txt`) to process. If `None`, all - `.txt` files in the folder are used. - - Returns - ------- - List[Path] - Resolved list of ROOT file paths. - - Raises - ------ - FileNotFoundError - If no listing files are found or any specified file is missing. - """ - dir_path = Path(directory) - # Determine which text files to parse - if identifiers is None: - listing_files = list(dir_path.glob("*.txt")) - else: - ids = [identifiers] if isinstance(identifiers, int) else identifiers - listing_files = [dir_path / f"{i}.txt" for i in ids] - - if not listing_files: - raise FileNotFoundError(f"No listing files found in {dir_path}") - - root_paths: List[Path] = [] - for txt_file in listing_files: - if not txt_file.is_file(): - raise FileNotFoundError(f"Missing listing file: {txt_file}") - # Read all non-empty lines as file paths - for line in txt_file.read_text().splitlines(): - path_str = line.strip() - if path_str: - root_paths.append(path_str) - - return root_paths - - -def count_events_in_files( - files: List[Path], - tree_name: str = "Events", - weight_branch: str = "genWeight" -) -> Tuple[List[int], List[float]]: - """ - Query ROOT files for event counts and sum of generator weights. - - Opens each file with uproot, reads the specified TTree, - and accumulates the number of entries and sum of weight branch. - - Parameters - ---------- - files : list of Path - Paths to ROOT files to inspect. - tree_name : str, optional - Name of the ROOT tree to read. Default is "Events". - weight_branch : str, optional - Name of the weight branch. Default is "genWeight". - - Returns - ------- - num_entries : list of int - Number of events in each file's tree. - sum_weights : list of float - Total of weight values per file. - """ - num_entries: List[int] = [] - sum_weights: List[float] = [] - start_time = time.time() - - for idx, file_path in enumerate(files): - # Log progress every 10 files and at completion - if idx % 10 == 0 or idx == len(files) - 1: - elapsed = int(time.time() - start_time) - logger.info( - f"Reading file {idx+1}/{len(files)} ({elapsed}s elapsed)" - ) - try: - with uproot.open(file_path) as root_file: - tree = root_file[tree_name] - num_entries.append(tree.num_entries) - weights = tree[weight_branch].array(library="ak") - sum_weights.append(float(ak.sum(weights))) - except Exception as err: - logger.warning(f"Error reading {file_path}: {err}") - num_entries.append(0) - sum_weights.append(0.0) - - return num_entries, sum_weights - - -class NanoAODMetadataGenerator: - """ - Class-based API to build and export metadata for NanoAOD datasets. - - Attributes - ---------- - dataset_manager : ConfigurableDatasetManager - Dataset manager containing all configuration. - output_directory : Path - Directory where individual JSON files and master index will be written. - - Methods - ------- - get_metadata(identifiers=None) - Build metadata dict without writing to disk. - run(identifiers=None) - Generate metadata dict and write JSON files. - """ - - def __init__( - self, - dataset_manager: Optional[ConfigurableDatasetManager] = None, - output_directory: Optional[Union[str, Path]] = None - ): - # Use provided dataset manager or create default - if dataset_manager is None: - dataset_config = create_default_dataset_config() - self.dataset_manager = ConfigurableDatasetManager(dataset_config) - else: - self.dataset_manager = dataset_manager - - # Use provided output directory or get from dataset manager config - if output_directory is None: - output_directory = self.dataset_manager.config.metadata_output_dir - - # Ensure output directory exists - self.output_directory = Path(output_directory) - self.output_directory.mkdir(parents=True, exist_ok=True) - - def get_metadata( - self, identifiers: Optional[Union[int, List[int]]] = None - ) -> Dict[str, Dict[str, Any]]: - """ - Assemble metadata for each process/variation without file I/O. - - Parameters - ---------- - identifiers : int or list of ints, optional - Specific listing IDs to process. If None, all listings are used. - - Returns - ------- - metadata : dict - Nested structure: metadata[process]["nominal"] = { - "files": [ {"path": str, "nevts": int, "nevts_wt": float}, ... ], - "nevts_total": int, - "nevts_wt_total": float - } - """ - results: Dict[str, Dict[str, Any]] = defaultdict(dict) - - for process_name in self.dataset_manager.list_processes(): - logger.info(f"Processing process: {process_name}") - - # Get process configuration - listing_dir = self.dataset_manager.get_dataset_directory(process_name) - tree_name = self.dataset_manager.get_tree_name(process_name) - weight_branch = self.dataset_manager.get_weight_branch(process_name) - - try: - file_paths = get_root_file_paths(listing_dir, identifiers) - except FileNotFoundError as fnf: - logger.error(fnf) - continue - - # entries_count, weight_sums = count_events_in_files( - # file_paths, tree_name=tree_name, weight_branch=weight_branch - # ) - entries_count, weight_sums = [0.0]*len(file_paths), [0.0]*len(file_paths) - variation_label = "nominal" - file_records = [ - {"path": str(fp), "nevts": cnt, "nevts_wt": wt} - for fp, cnt, wt in zip(file_paths, entries_count, weight_sums) - ] - - results[process_name][variation_label] = { - "files": file_records, - "nevts_total": sum(entries_count), - "nevts_wt_total": sum(weight_sums), - } - - return results - - def run(self, identifiers: Optional[Union[int, List[int]]] = None) -> None: - """ - Generate metadata and write individual JSON files and a master index. - - Parameters - ---------- - identifiers : int or list of ints, optional - Specific listing IDs to process. If None, all listings are used. - """ - metadata = self.get_metadata(identifiers) - - # Write per-process JSON files - for process_name, variations in metadata.items(): - for variation_label, data in variations.items(): - output_file = ( - self.output_directory - / f"nanoaods_{process_name}_{variation_label}.json" - ) - with output_file.open("w") as json_f: - json.dump( - {process_name: {variation_label: data}}, - json_f, - indent=4, - ) - logger.debug(f"Wrote file: {output_file}") - - # Write master metadata index using configured path - master_file = Path(self.dataset_manager.config.metadata_output_dir) / "nanoaods.json" - master_file.parent.mkdir(parents=True, exist_ok=True) - with master_file.open("w") as mfile: - json.dump(metadata, mfile, indent=4) - logger.info(f"Master metadata written to {master_file}") - - -# CLI entrypoint for standalone usage -def main() -> None: - """ - Command-line interface: instantiate the generator and run. - """ - logging.basicConfig(level=logging.INFO) - generator = NanoAODMetadataGenerator() - generator.run() - - -if __name__ == "__main__": - main() diff --git a/utils/datasets.py b/utils/datasets.py index 5896b45..d4959ce 100644 --- a/utils/datasets.py +++ b/utils/datasets.py @@ -269,5 +269,6 @@ def create_default_dataset_config() -> DatasetManagerConfig: return DatasetManagerConfig( datasets=datasets, - metadata_output_dir="datasets/nanoaods_jsons/" + metadata_output_dir="datasets/nanoaods_jsons/", + max_files=-1 # No limit by default ) diff --git a/utils/metadata_extractor.py b/utils/metadata_extractor.py new file mode 100644 index 0000000..055eb91 --- /dev/null +++ b/utils/metadata_extractor.py @@ -0,0 +1,732 @@ +""" +Module for generating and managing JSON metadata for NanoAOD ROOT datasets. + +This module provides a structured way to: + - Collect ROOT file paths from text listings. + - Build coffea-compatible filesets. + - Extract detailed metadata from NanoAOD files using coffea. + - Orchestrate the entire metadata generation and persistence process. +""" + +# Standard library imports +import base64 +import dataclasses +import json +import logging +import sys +from collections import defaultdict +from pathlib import Path +from typing import Any, Dict, List, Optional, Tuple, Union + +# Third-party imports +from coffea.processor.executor import WorkItem + +# Local application imports +from utils.datasets import ConfigurableDatasetManager, create_default_dataset_config + + +# Configure module-level logger +logger = logging.getLogger(__name__) +logger.addHandler(logging.NullHandler()) + + +def _parse_dataset(dataset_key: str) -> Tuple[str, str]: + """ + Splits a dataset key like 'process__variation' into ('process', 'variation'). + + If no '__' is present, 'nominal' is used as the variation. + """ + if "__" in dataset_key: + proc, var = dataset_key.split("__", 1) + else: + proc, var = dataset_key, "nominal" + return proc, var + + +def get_root_file_paths( + directory: Union[str, Path], + identifiers: Optional[Union[int, List[int]]] = None, +) -> List[str]: + """ + Collects ROOT file paths from `.txt` listing files in a directory. + + Searches for `*.txt` files in the specified directory (or specific + `.txt` files if `identifiers` is given) and reads each line as a + ROOT file path. + + Parameters + ---------- + directory : str or Path + Path to the folder containing text listing files. + identifiers : int or list of ints, optional + Specific listing file IDs (without `.txt`) to process. If `None`, all + `.txt` files in the folder are used. + + Returns + ------- + List[str] + A list of ROOT file paths as strings. + + Raises + ------ + FileNotFoundError + If no listing files are found or a specified file is missing. + """ + dir_path = Path(directory) + # Determine which text files to parse + if identifiers is None: + # If no specific identifiers, glob for all .txt files + listing_files = list(dir_path.glob("*.txt")) + else: + # If identifiers are provided, construct specific file paths + ids = [identifiers] if isinstance(identifiers, int) else identifiers + listing_files = [dir_path / f"{i}.txt" for i in ids] + + # Raise error if no listing files are found + if not listing_files: + raise FileNotFoundError(f"No listing files found in {dir_path}") + + root_paths: List[str] = [] + # Iterate through each listing file + for txt_file in listing_files: + # Ensure the listing file exists + if not txt_file.is_file(): + raise FileNotFoundError(f"Missing listing file: {txt_file}") + # Read each non-empty line as a file path + for line in txt_file.read_text().splitlines(): + path_str = line.strip() + if path_str: + root_paths.append(path_str) + + return root_paths + + +class FilesetBuilder: + """ + Builds and saves a coffea-compatible fileset from dataset configurations. + + This class reads dataset listings and constructs a fileset dictionary + suitable for `coffea` processors. + + Attributes + ---------- + dataset_manager : ConfigurableDatasetManager + Manages dataset configurations, including paths and tree names. + """ + + def __init__(self, dataset_manager: Optional[ConfigurableDatasetManager] = None): + """ + Initializes the FilesetBuilder. + + Parameters + ---------- + dataset_manager : Optional[ConfigurableDatasetManager], optional + An existing dataset manager instance. If None, a default one is created. + """ + # Use provided dataset manager or create a default one + if dataset_manager is None: + dataset_config = create_default_dataset_config() + self.dataset_manager = ConfigurableDatasetManager(dataset_config) + else: + self.dataset_manager = dataset_manager + + def build_fileset( + self, identifiers: Optional[Union[int, List[int]]] = None + ) -> Dict[str, Dict[str, Any]]: + """ + Builds a coffea-compatible fileset mapping. + + Iterates through configured processes, collects ROOT file paths, and + and constructs a dictionary where keys are dataset names (process__variation) + and values contain a mapping of file paths to tree names. + + Parameters + ---------- + identifiers : Optional[Union[int, List[int]]], optional + Specific listing file IDs (without `.txt`) to process. If `None`, all + `.txt` files in the process's listing directory are used. + + Returns + ------- + Dict[str, Dict[str, Any]] + The constructed fileset in the format: + `{dataset_name: {"files": {file_path: tree_name}}}` + """ + fileset: Dict[str, Dict[str, Any]] = {} + + max_files = self.dataset_manager.config.max_files + + if max_files and max_files <= 0: + raise ValueError("max_files must be None or a positive integer.") + + # Iterate over each process configured in the dataset manager + for process_name in self.dataset_manager.list_processes(): + logger.info(f"Building fileset for process: {process_name}") + + # Get the directory where listing files are located for this process + listing_dir = self.dataset_manager.get_dataset_directory(process_name) + # Get the tree name (e.g., "Events") for ROOT files of this process + tree_name = self.dataset_manager.get_tree_name(process_name) + + try: + # Collect all ROOT file paths from the listing files + file_paths = get_root_file_paths(listing_dir, identifiers)[:max_files] + + # Define the dataset key for coffea (process__variation) + # For now, assuming a "nominal" variation if not explicitly specified + variation_label = "nominal" + if process_name != "data": + dataset_key = f"{process_name}__{variation_label}" + else: + dataset_key = process_name + + # Create the fileset entry: map each file path to its tree name + fileset[dataset_key] = { + "files": {file_path: tree_name for file_path in file_paths}, + "metadata": { + "process": process_name, + "variation": variation_label, + "xsec": self.dataset_manager.get_cross_section(process_name) + } + } + + logger.debug(f"Added {len(file_paths)} files for {dataset_key}") + + except FileNotFoundError as fnf: + # Log an error if listing files are not found and continue to next process + logger.error(f"Could not build fileset for {process_name}: {fnf}") + continue + + return fileset + + def save_fileset( + self, fileset: Dict[str, Dict[str, Any]] + ) -> None: + """ + Saves the built fileset to a JSON file. + + The output path is determined by the `metadata_output_dir` configured + in the `dataset_manager`. + + Parameters + ---------- + fileset : Dict[str, Dict[str, Any]] + The fileset mapping to save. + """ + # Construct the full path for the fileset JSON file + output_dir = Path(self.dataset_manager.config.metadata_output_dir) + output_dir.mkdir(parents=True, exist_ok=True) + fileset_path = output_dir / "fileset.json" + + # Ensure the parent directory exists + fileset_path.parent.mkdir(parents=True, exist_ok=True) + + # Write the fileset to the JSON file with pretty-printing + with fileset_path.open("w") as f: + json.dump(fileset, f, indent=4) + + logger.info(f"Fileset JSON saved to {fileset_path}") + + +class CoffeaMetadataExtractor: + """ + Extracts metadata from ROOT files using `coffea.dataset_tools.preprocess`. + + This class generates a list of `WorkItem` objects containing metadata like + objects containing metadata like file paths, entry ranges, and UUIDs. + + Attributes + ---------- + runner : coffea.processor.Runner + The coffea processor runner configured for preprocessing. + """ + + def __init__(self) -> None: + """ + Initializes the CoffeaMetadataExtractor. + + Configures a `coffea.processor.Runner` instance with an iterative executor + and NanoAOD schema for metadata extraction. + """ + # Import coffea processor and NanoAODSchema here to avoid circular imports + # or unnecessary imports if this class is not used. + from coffea import processor + from coffea.nanoevents import NanoAODSchema + + # Initialize the coffea processor Runner with an iterative executor + # and the NanoAODSchema for parsing NanoAOD files. + self.runner = processor.Runner( + executor=processor.IterativeExecutor(), + schema=NanoAODSchema, + savemetrics=True, + # Use a small chunksize for demonstration/testing to simulate multiple chunks + chunksize=100_000, + ) + + def extract_metadata( + self, fileset: Dict[str, Dict[str, str]] + ) -> List[WorkItem]: + """ + Extracts metadata from the given fileset using coffea.preprocess. + + Parameters + ---------- + fileset : Dict[str, Dict[str, str]] + A coffea-compatible fileset mapping dataset names to file paths and tree names. + + Returns + ------- + List[WorkItem] + A list of `coffea.processor.WorkItem` objects with extracted metadata. + """ + logger.info("Extracting metadata using coffea.dataset_tools.preprocess") + try: + # Run the coffea preprocess function on the provided fileset + workitems = self.runner.preprocess(fileset) + # Convert the generator returned by preprocess to a list of WorkItems + return list(workitems) + except Exception as e: + # Log any errors encountered during preprocessing + logger.error(f"Error during coffea preprocessing: {e}") + # Return an empty list to indicate failure or no metadata extracted + return [] + + +class NanoAODMetadataGenerator: + """ + Orchestrates the generation, reading, and summarization of NanoAOD metadata. + + This class combines `FilesetBuilder` and `CoffeaMetadataExtractor` to provide + a complete metadata management workflow. It can either generate new metadata + or read existing metadata from disk, storing the results as instance + attributes for easy access. + + Attributes + ---------- + dataset_manager : ConfigurableDatasetManager + Manages dataset configurations and output directories. + output_directory : Path + The base directory for all metadata JSON files. + fileset : Optional[Dict[str, Dict[str, Any]]] + The generated or read coffea-compatible fileset. + workitems : Optional[List[WorkItem]] + The generated or read list of `WorkItem` objects. + nanoaods_summary : Optional[Dict[str, Dict[str, Any]]] + The generated or read summarized NanoAOD metadata. + """ + + def __init__( + self, + dataset_manager: Optional[ConfigurableDatasetManager] = None + ): + """ + Initializes the NanoAODMetadataGenerator. + + Parameters + ---------- + dataset_manager : Optional[ConfigurableDatasetManager], optional + An existing dataset manager instance. If None, a default one is created. + """ + # Use provided dataset manager or create default + if dataset_manager is None: + dataset_config = create_default_dataset_config() + self.dataset_manager = ConfigurableDatasetManager(dataset_config) + else: + self.dataset_manager = dataset_manager + + # The metadata_output_dir from the config is the canonical source. + # This directory is used for all metadata reading and writing. + self.output_directory = Path(self.dataset_manager.config.metadata_output_dir) + self.output_directory.mkdir(parents=True, exist_ok=True) + + # Initialize modularized components for fileset building and metadata extraction + self.fileset_builder = FilesetBuilder(self.dataset_manager) + self.metadata_extractor = CoffeaMetadataExtractor() + + # Attributes to store generated/read metadata. + # These will be populated by the run() method. + self.fileset: Optional[Dict[str, Dict[str, Any]]] = None + self.workitems: Optional[List[WorkItem]] = None + self.nanoaods_summary: Optional[Dict[str, Dict[str, Any]]] = None + + def _get_metadata_paths(self) -> Dict[str, Path]: + """ + Generates and returns the full paths for all metadata JSON files. + + These paths are consistently derived from the `self.output_directory` + attribute, which is set from `dataset_manager.config.metadata_output_dir` + during initialization. This ensures all read/write operations target the + same locations. + + Returns + ------- + Dict[str, Path] + A dictionary containing the paths for: + - 'fileset_path': Path to the fileset JSON (e.g., fileset.json). + - 'workitems_path': Path to the WorkItems JSON (e.g., workitems.json). + - 'nanoaods_summary_path': Path to the main NanoAODs summary JSON (e.g., nanoaods.json). + - 'process_summary_dir': Path to the directory where per-process JSONs are saved. + """ + # Get the base output directory from the instance attribute. + # This directory is created during __init__. + output_dir = self.output_directory + + # Construct and return the full paths for each metadata file + return { + "fileset_path": output_dir / "fileset.json", + "workitems_path": output_dir / "workitems.json", + "nanoaods_summary_path": output_dir / "nanoaods.json", + "process_summary_dir": output_dir, # Per-process files are saved directly in this directory + } + + def run( + self, + identifiers: Optional[Union[int, List[int]]] = None, + generate_metadata: bool = True + ) -> None: + """ + Generates or reads all metadata. + + This is the main orchestration method. If `generate_metadata` is True, it + performs a full generation workflow. Otherwise, it attempts to read + existing metadata from the expected paths. + + Parameters + ---------- + identifiers : Optional[Union[int, List[int]]], optional + Specific listing file IDs to process. Only used if `generate_metadata` is True. + generate_metadata : bool, optional + If True, generate new metadata. If False, read existing metadata. + Defaults to True. + + Raises + ------ + SystemExit + If `generate_metadata` is False and any required metadata file is not found. + """ + if generate_metadata: + logger.info("Starting metadata generation workflow...") + # Step 1: Build and save the fileset + self.fileset = self.fileset_builder.build_fileset(identifiers) + self.fileset_builder.save_fileset(self.fileset) + + # Step 2: Extract and save WorkItem metadata + self.workitems = self.metadata_extractor.extract_metadata(self.fileset) + self.write_metadata() + + # Step 3: Summarize and save NanoAODs metadata + self.summarise_nanoaods() + self.write_nanoaods_summary() + logger.info("Metadata generation complete.") + else: + logger.info(f"Skipping metadata generation - using existing metadata from \ + {self._get_metadata_paths()}") + try: + self.read_fileset() + self.read_metadata() + self.read_nanoaods_summary() + logger.info("All metadata successfully loaded from disk.") + except (FileNotFoundError, json.JSONDecodeError, KeyError) as e: + logger.error(f"Failed to load existing metadata: {e}") + logger.error("Please ensure metadata files exist or enable generation.") + sys.exit(1) + + + def write_nanoaods_summary(self) -> None: + """ + Writes the summarized NanoAOD metadata to JSON files. + + This method writes individual JSON files for each process/variation and a + master `nanoaods.json` file. + + Raises + ------ + ValueError + If `self.nanoaods_summary` has not been populated. + """ + # Check if the summary data is available + if self.nanoaods_summary is None: + raise ValueError("NanoAODs summary is not available to write. Please generate or load it first.") + + # Get all necessary output paths from the helper method + paths = self._get_metadata_paths() + process_summary_dir = paths["process_summary_dir"] + nanoaods_summary_path = paths["nanoaods_summary_path"] + + # Write per-process JSON files for detailed breakdown + for process_name, variations in self.nanoaods_summary.items(): + for variation_label, data in variations.items(): + # Construct filename for per-process summary + per_process_summary_path = ( + process_summary_dir + / f"nanoaods_{process_name}_{variation_label}.json" + ) + # Ensure the directory for the output file exists + per_process_summary_path.parent.mkdir(parents=True, exist_ok=True) + + # Write the specific process/variation data to its JSON file + with per_process_summary_path.open("w") as f: + json.dump( + {process_name: {variation_label: data}}, # Wrap in a dict for consistent structure + f, + indent=4, + ) + logger.debug(f"Wrote NanoAODs summary file: {per_process_summary_path}") + + # Write the master metadata index file containing the full aggregated summary + # This file is the primary input for analysis fileset construction + with nanoaods_summary_path.open("w") as f: + json.dump(self.nanoaods_summary, f, indent=4) + logger.info(f"NanoAODs summary written to {nanoaods_summary_path}") + + def summarise_nanoaods(self) -> None: + """ + Summarizes the extracted `WorkItem` metadata into a structured NanoAODs summary. + + This method processes `self.workitems` to aggregate event counts per + file, process, and variation, storing the result in `self.nanoaods_summary` + with the schema: + `{process_name: {variation_label: {"files": [...], "nevts_total": int}}}`. + + Raises + ------ + ValueError + If `self.workitems` has not been populated. + """ + # Ensure sample chunks are available for summarization + if self.workitems is None: + raise ValueError("Sample chunks (WorkItems) are not available to summarize. Please extract or load them first.") + + # Use self.sample_chunks directly as the source of WorkItems + workitems = self.workitems + + # Initialize a nested defaultdict to store aggregated event counts: + # structure: process -> variation -> filename -> event count + counts: Dict[str, Dict[str, Dict[str, int]]] = defaultdict(lambda: defaultdict(lambda: defaultdict(int))) + + # Iterate through each WorkItem to extract relevant information + for wi in workitems: + # Convert WorkItem dataclass to a dictionary for easier access + wi_dict = dataclasses.asdict(wi) + + dataset = wi_dict["dataset"] # type: ignore + filename = wi_dict["filename"] + # Extract entry start and stop, default to 0 if not present + start = int(wi_dict.get("entrystart", 0)) + stop = int(wi_dict.get("entrystop", 0)) + + # Calculate number of events in this chunk, ensuring it's non-negative + nevts = max(0, stop - start) + + # Parse the dataset key to get process and variation names + proc, var = _parse_dataset(dataset) + logger.debug(f"Processing WorkItem: {proc}, {var}, {filename}, {nevts} events") + + # Aggregate event counts for the specific process, variation, and filename + counts[proc][var][filename] += nevts + + # Build the final output schema (self.nanoaods_summary) + out: Dict[str, Dict[str, Any]] = {} + for proc, per_var in counts.items(): + out[proc] = {} + for var, per_file in per_var.items(): + # Create a list of files with their event counts, sorted by path for reproducibility + files_list = [ # type: ignore + {"path": str(path), "nevts": nevts} + for path, nevts in sorted(per_file.items()) + ] # type: ignore + # Calculate the total number of events for this process and variation + nevts_total = sum(f["nevts"] for f in files_list) # type: ignore + + # Store the aggregated data in the output dictionary + out[proc][var] = { + "files": files_list, + "nevts_total": int(nevts_total), # Ensure total events is an integer + } + # Assign the generated summary to the instance attribute + self.nanoaods_summary = out + logger.info("NanoAODs summary generated.") + + def read_fileset(self) -> None: + """ + Reads the fileset from `fileset.json` and stores it. + + Raises + ------ + FileNotFoundError + If the `fileset.json` file does not exist at the expected path. + """ + # Get the canonical path for the fileset JSON file + paths = self._get_metadata_paths() + fileset_path = paths["fileset_path"] + + logger.info(f"Attempting to read fileset from {fileset_path}") + try: + # Open and load the JSON file + with fileset_path.open("r") as f: + # If max_files is set in dataset_manager, we might want to filter the fileset here + self.fileset = json.load(f) + if (max_files := self.dataset_manager.config.max_files): + for dataset, data in self.fileset.items(): + files = list(data["files"].items())[:max_files] + self.fileset[dataset]["files"] = dict(files) + + logger.info("Fileset successfully loaded.") + except FileNotFoundError as e: + # Log error and re-raise if file is not found + logger.error(f"Fileset JSON not found at {fileset_path}. {e}") + raise + except json.JSONDecodeError as e: + # Log error and re-raise if JSON decoding fails + logger.error(f"Error decoding fileset JSON from {fileset_path}. {e}") + raise + except KeyError as e: + # Log error and re-raise if expected keys are missing (less common for fileset) + logger.error(f"Missing expected key in fileset JSON from {fileset_path}. {e}") + raise + + + + def read_metadata(self) -> None: + """ + Reads `WorkItem` metadata from `workitems.json` and stores it. + + This method deserializes `WorkItem` objects, decoding the base64-encoded + `fileuuid` field back to its binary format. + + Raises + ------ + FileNotFoundError + If the `workitems.json` file does not exist. + """ + # Get the canonical path for the workitems JSON file + paths = self._get_metadata_paths() + workitems_path = paths["workitems_path"] + + # Load JSON data from file + logger.info(f"Attempting to read WorkItems metadata from {workitems_path}") + try: + with workitems_path.open("r") as f: + workitems_data = json.load(f) + except FileNotFoundError as e: + logger.error(f"WorkItems JSON not found at {workitems_path}. {e}") + raise + except json.JSONDecodeError as e: + logger.error(f"Error decoding WorkItems JSON from {workitems_path}. {e}") + raise + + # Reconstruct WorkItem objects from dictionaries + reconstructed_items = [] + for i, item_dict in enumerate(workitems_data): + try: + # Decode base64-encoded file UUID back to binary format + # This reverses the encoding done in write_metadata() + item_dict["fileuuid"] = base64.b64decode(item_dict["fileuuid"]) + + # Reconstruct WorkItem object from dictionary + # WorkItem is a dataclass that represents file metadata in coffea + work_item = WorkItem(**item_dict) + reconstructed_items.append(work_item) + except KeyError as e: + logger.error(f"Missing expected key '{e}' in WorkItem entry {i} from {workitems_path}.") + raise + except Exception as e: + logger.error(f"Error reconstructing WorkItem entry {i} from {workitems_path}: {e}") + raise + + # Assign the reconstructed WorkItems to the instance attribute + self.workitems = reconstructed_items + logger.info("WorkItems metadata successfully loaded.") + + def read_nanoaods_summary(self) -> None: + """ + Reads the NanoAODs summary from `nanoaods.json` and stores it. + + Raises + ------ + FileNotFoundError + If the `nanoaods.json` file does not exist. + """ + # Get the canonical path for the nanoaods summary JSON file + paths = self._get_metadata_paths() + nanoaods_summary_path = paths["nanoaods_summary_path"] + + logger.info(f"Attempting to read NanoAODs summary from {nanoaods_summary_path}") + try: + # Open and load the JSON file + with nanoaods_summary_path.open("r") as f: + self.nanoaods_summary = json.load(f) + logger.info("NanoAODs summary successfully loaded.") + except FileNotFoundError as e: + logger.error(f"NanoAODs summary JSON not found at {nanoaods_summary_path}. {e}") + raise + except json.JSONDecodeError as e: + logger.error(f"Error decoding NanoAODs summary JSON from {nanoaods_summary_path}. {e}") + raise + except KeyError as e: + logger.error(f"Missing expected key in NanoAODs summary JSON from {nanoaods_summary_path}. {e}") + raise + + def write_metadata(self) -> None: + """ + Writes the `WorkItem` metadata to `workitems.json`. + + It serializes the `coffea.processor.WorkItem` objects to a JSON file, + base64-encoding the binary `fileuuid` field for JSON compatibility. + + Raises + ------ + ValueError + If `self.workitems` has not been populated. + """ + # Ensure sample chunks are available for writing + if self.workitems is None: + raise ValueError("Sample chunks (WorkItems) are not available to write. Please extract or load them first.") + + # Get the canonical path for the workitems JSON file + paths = self._get_metadata_paths() + workitems_path = paths["workitems_path"] + + # Ensure the parent directory exists + workitems_path.parent.mkdir(parents=True, exist_ok=True) + + # Convert WorkItem objects to serializable dictionaries + serializable = [] + for workitem in self.workitems: + # Convert dataclass to a dictionary + workitem_dict = dataclasses.asdict(workitem) + + # Encode binary file UUID as base64 string for JSON compatibility + # This is necessary because JSON cannot handle raw bytes + workitem_dict["fileuuid"] = base64.b64encode(workitem_dict["fileuuid"]).decode("ascii") + + serializable.append(workitem_dict) # type: ignore + + # Write serialized metadata to JSON file with pretty-printing + with workitems_path.open("w") as f: + json.dump(serializable, f, indent=4) + + logger.info(f"WorkItems metadata saved to {workitems_path}") + +# CLI entrypoint for standalone usage +def main() -> None: + """ + Command-line interface for the NanoAODMetadataGenerator. + + This function sets up basic logging and instantiates the generator, + then runs the metadata generation process. + """ + # Configure basic logging to INFO level + logging.basicConfig(level=logging.INFO) + + # Instantiate the metadata generator. + generator = NanoAODMetadataGenerator() + + # Run the metadata generation process. + generator.run(generate_metadata=True) + + + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/utils/schema.py b/utils/schema.py index f614d2f..396abcb 100644 --- a/utils/schema.py +++ b/utils/schema.py @@ -122,14 +122,6 @@ class GeneralConfig(SubscriptableModel): Field(default="nondiff", description="The analysis mode to run: 'diff' (differentiable), 'nondiff', 'both', or 'skip' (skim-only mode)."), ] - max_files: Annotated[ - Optional[int], - Field( - default=1, - description="Maximum number of files to process per dataset. " - "Use -1 for no limit.", - ), - ] run_skimming: Annotated[ bool, Field( @@ -335,6 +327,14 @@ class DatasetManagerConfig(SubscriptableModel): str, Field(default="datasets/nanoaods_jsons/", description="Directory for metadata JSON files") ] + max_files: Annotated[ + Optional[int], + Field( + default=None, + description="Maximum number of files to process per dataset. " + "Use -1 for no limit.", + ), + ] # ------------------------ # Skimming configuration diff --git a/utils/skimming.py b/utils/skimming.py index b8046ed..22bc406 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -410,7 +410,7 @@ def _skim_with_dask( schemaclass=NanoAODSchema, entry_start=start, entry_stop=stop, - mode="dask", + mode="eager", ).events() # Apply configurable selection @@ -628,11 +628,6 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana # Loop over ROOT files associated with the dataset for idx, (file_path, tree) in enumerate(content["files"].items()): - # Honour file limit if set in configuration - if config.general.max_files != -1 and idx >= config.general.max_files: - logger.info(f"Reached max files limit ({config.general.max_files})") - break - # Run skimming if enabled if config.general.run_skimming: logger.info(f"🔍 Skimming input file: {file_path}") @@ -642,14 +637,13 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana dataset=dataset, file_idx=idx, configuration=config, - is_mc=(dataset != "data") + is_mc=("data__" not in dataset) ) # Discover skimmed files using skimming manager skimmed_files = skimming_manager.discover_skimmed_files(dataset, idx) # Process each skimmed file - tree_name = skimming_manager.get_tree_name() for skimmed_file in skimmed_files: cache_key = hashlib.md5(skimmed_file.encode()).hexdigest() cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") @@ -663,9 +657,8 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana logger.info(f"Processing {skimmed_file}") events = NanoEventsFactory.from_root( skimmed_file, schemaclass=NanoAODSchema, - delayed=False, + mode="eager", ).events() - print(len(events), "MOO") # Cache the events if not reading from cache if not config.general.read_from_cache: From 72d6072e7cbdd55c56463cb7469b22b860df394a Mon Sep 17 00:00:00 2001 From: maly Date: Thu, 28 Aug 2025 11:24:47 +0100 Subject: [PATCH 09/24] remove older fileset building --- utils/input_files.py | 161 ------------------------------------------- 1 file changed, 161 deletions(-) delete mode 100644 utils/input_files.py diff --git a/utils/input_files.py b/utils/input_files.py deleted file mode 100644 index 05bac86..0000000 --- a/utils/input_files.py +++ /dev/null @@ -1,161 +0,0 @@ -import json -import logging -from pathlib import Path -from typing import Any, Dict, Optional, Union - -from tabulate import tabulate - -from utils.datasets import ConfigurableDatasetManager, create_default_dataset_config - -# Configure module-level logger -logger = logging.getLogger(__name__) - - -def construct_fileset( - max_files_per_sample: int, - preprocessor: str = "uproot", - json_path: Optional[Union[str, Path]] = None, - dataset_manager: Optional[ConfigurableDatasetManager] = None, -) -> Dict[str, Dict[str, Any]]: - """ - Build a structured fileset mapping for physics analyses including - file paths and metadata. - - This function reads dataset definitions from a JSON file and constructs a nested - dictionary where each key is "__" and values contain: - - files: a mapping of file or glob patterns to ROOT TTrees - - metadata: information on event counts, cross-sections, etc. - - Parameters - ---------- - max_files_per_sample : int - Maximum number of files to include for each sample. Use -1 to include all files. - preprocessor : str, optional - Type of file access to prepare. Supported values: - - "uproot": use glob patterns for directory-level access - - other: list each file individually - Default is "uproot". - json_path : str or Path, optional - Path to the JSON configuration file specifying samples, variations, and file lists. - If None, uses dataset_manager.config.metadata_output_dir. - dataset_manager : ConfigurableDatasetManager, optional - Dataset manager containing all configuration for cross-sections, paths, etc. - If None, creates a default dataset manager. - - Returns - ------- - fileset : dict - Nested mapping where each key "__" maps to: - - files (dict): {file_path_or_pattern: tree_name} - - metadata (dict): { - "process": str, - "variation": str, - "nevts": int, - "nevts_wt": float, - "xsec": float, - } - - Raises - ------ - ValueError - If max_files_per_sample is invalid. - FileNotFoundError - If the JSON configuration file does not exist. - KeyError - If a process is not found in the dataset manager configuration. - JSONDecodeError - If the JSON file cannot be parsed. - """ - # Validate inputs - if max_files_per_sample < -1: - raise ValueError( - f"max_files_per_sample must be -1 or non-negative; " - f"got {max_files_per_sample}" - ) - - # Use provided dataset manager or create default - if dataset_manager is None: - dataset_config = create_default_dataset_config() - dataset_manager = ConfigurableDatasetManager(dataset_config) - - # Use provided json_path or get from dataset manager config - if json_path is None: - json_path = dataset_manager.config.metadata_output_dir - - json_file = Path(json_path) / "nanoaods.json" - if not json_file.is_file(): - raise FileNotFoundError(f"Dataset JSON file not found: {json_file}") - - # Load dataset definitions - with json_file.open("r") as f: - dataset_info = json.load(f) - - fileset: Dict[str, Dict[str, Any]] = {} - - # Iterate over each process and its systematic variations - for process_name, variations in dataset_info.items(): - # Validate that process is configured in dataset manager - if not dataset_manager.validate_process(process_name): - raise KeyError(f"Process '{process_name}' not found in dataset manager configuration") - - for variation_name, info in variations.items(): - # Extract raw file entries - raw_entries = info.get("files", []) - - # Limit number of files if requested - if max_files_per_sample != -1: - raw_entries = raw_entries[:max_files_per_sample] - - # Compute total event counts - total_events = sum(entry.get("nevts", 0) for entry in raw_entries) - total_weighted = sum( - entry.get("nevts_wt", 0.0) for entry in raw_entries - ) - - # Get cross-section and tree name from dataset manager - xsec = dataset_manager.get_cross_section(process_name) - tree_name = dataset_manager.get_tree_name(process_name) - - # Prepare metadata dict - metadata = { - "process": process_name, - "variation": variation_name, - "nevts": total_events, - "nevts_wt": total_weighted, - "xsec": xsec, - } - - # Explicit file listings for other preprocessors - file_map = {entry.get("path", ""): tree_name for entry in raw_entries} - - key = f"{process_name}__{variation_name}" - fileset[key] = {"files": file_map, "metadata": metadata} - - logger.debug( - f"Added fileset entry: {key} with {len(file_map)} files" - ) - - logger.info(f"Constructed fileset with {len(fileset)} entries.") - - # --- Add summary table --- - summary_data = [] - headers = ["Key", "Process", "Variation", "# Files", "Cross-section"] - for key, content in fileset.items(): - process = content["metadata"]["process"] - variation = content["metadata"]["variation"] - num_files = len(content["files"]) - xsec = content["metadata"]["xsec"] - summary_data.append([key, process, variation, num_files, f"{xsec:.2f} pb"]) - - # Sort by key for consistent output - summary_data.sort(key=lambda x: x[0]) - - logger.info( - "Fileset Summary:\n" - + tabulate(summary_data, headers=headers, tablefmt="grid") - ) - - return fileset - - -# End of module From 3b0d1f63a1f8ed558245928cff62573b13c658ef Mon Sep 17 00:00:00 2001 From: maly Date: Thu, 28 Aug 2025 11:25:33 +0100 Subject: [PATCH 10/24] remove import from input_files.py that was removed --- analysis.py | 1 - 1 file changed, 1 deletion(-) diff --git a/analysis.py b/analysis.py index 2ae1d5a..80d7150 100644 --- a/analysis.py +++ b/analysis.py @@ -14,7 +14,6 @@ from analysis.diff import DifferentiableAnalysis from analysis.nondiff import NonDiffAnalysis from user.configuration import config as ZprimeConfig -from utils.input_files import construct_fileset from utils.datasets import ConfigurableDatasetManager from utils.logging import ColoredFormatter, _banner from utils.schema import Config, load_config_with_restricted_cli From 1ce4a9c8d7d02fe398b9f8071c1a924ee27d052d Mon Sep 17 00:00:00 2001 From: maly Date: Thu, 28 Aug 2025 13:37:54 +0100 Subject: [PATCH 11/24] update logging to rich --- analysis.py | 22 +++++------- analysis/diff.py | 18 +++++----- pixi.toml | 1 + utils/logging.py | 69 ++++++++++++++++++++----------------- utils/metadata_extractor.py | 6 ++-- utils/plot.py | 10 ++---- utils/skimming.py | 4 +-- 7 files changed, 62 insertions(+), 68 deletions(-) diff --git a/analysis.py b/analysis.py index 80d7150..efd0b3a 100644 --- a/analysis.py +++ b/analysis.py @@ -15,7 +15,7 @@ from analysis.nondiff import NonDiffAnalysis from user.configuration import config as ZprimeConfig from utils.datasets import ConfigurableDatasetManager -from utils.logging import ColoredFormatter, _banner +from utils.logging import setup_logging, log_banner from utils.schema import Config, load_config_with_restricted_cli from utils.metadata_extractor import NanoAODMetadataGenerator from utils.skimming import process_fileset_with_skimming @@ -23,13 +23,7 @@ # ----------------------------- # Logging Configuration # ----------------------------- -root_logger = logging.getLogger() -root_logger.setLevel(logging.INFO) -handler = logging.StreamHandler(sys.stdout) -handler.setFormatter(ColoredFormatter()) -if root_logger.hasHandlers(): - root_logger.handlers.clear() -root_logger.addHandler(handler) +setup_logging() logger = logging.getLogger("AnalysisDriver") logging.getLogger("jax._src.xla_bridge").setLevel(logging.ERROR) @@ -57,27 +51,27 @@ def main(): generator = NanoAODMetadataGenerator(dataset_manager=dataset_manager) generator.run(generate_metadata=config.general.run_metadata_generation) fileset = generator.fileset - print(fileset) + # Process fileset with skimming and get processed events - logger.info(_banner("SKIMMING AND CACHING DATA")) + log_banner("SKIMMING AND CACHING DATA") processed_datasets = process_fileset_with_skimming(config, fileset) analysis_mode = config.general.analysis if analysis_mode == "skip": - logger.info(_banner("Skim-Only Mode: Skimming Complete")) + log_banner("Skim-Only Mode: Skimming Complete") logger.info("✅ Skimming completed successfully. Analysis skipped as requested.") logger.info(f"Skimmed files are available in the configured output directories.") return elif analysis_mode == "nondiff": - logger.info(_banner("Running Non-Differentiable Analysis")) + log_banner("Running Non-Differentiable Analysis") nondiff_analysis = NonDiffAnalysis(config, processed_datasets) nondiff_analysis.run_analysis_chain() elif analysis_mode == "diff": - logger.info(_banner("Running Differentiable Analysis")) + log_banner("Running Differentiable Analysis") diff_analysis = DifferentiableAnalysis(config, processed_datasets) diff_analysis.run_analysis_optimisation() else: # "both" - logger.info(_banner("Running both Non-Differentiable and Differentiable Analysis")) + log_banner("Running both Non-Differentiable and Differentiable Analysis") # Non-differentiable analysis logger.info("Running Non-Differentiable Analysis") nondiff_analysis = NonDiffAnalysis(config, processed_datasets) diff --git a/analysis/diff.py b/analysis/diff.py index b73a92d..a4f3627 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -37,7 +37,7 @@ from user.cuts import lumi_mask # from utils.jax_stats import build_channel_data_scalar, compute_discovery_pvalue from utils.evm_stats import build_channel_data_scalar, compute_discovery_pvalue, fit_params -from utils.logging import BLUE, GREEN, RED, RESET, _banner +from utils.logging import BLUE, GREEN, RED, RESET, log_banner from utils.mva import JAXNetwork, TFNetwork from utils.plot import ( create_cms_histogram, @@ -780,7 +780,7 @@ def _prepare_dirs(self) -> None: def _log_config_summary(self) -> None: """Logs a structured summary of the key analysis configuration options.""" - logger.info(_banner("Differentiable Analysis Configuration Summary")) + log_banner("Differentiable Analysis Configuration Summary") # --- General Settings --- general_cfg = self.config.general @@ -1809,7 +1809,7 @@ def _prepare_data( } summary_data = [] - logger.info(_banner("Processing skimmed data")) + log_banner("Processing skimmed data") # Prepare dictionary to collect MVA training data mva_data: dict[str, dict[str, list[Tuple[dict, int]]]] = defaultdict( @@ -2022,7 +2022,7 @@ def record_mva_entry( self.config.general.run_mva_training and (mva_cfg := self.config.mva) is not None ): - logger.info(_banner("Executing MVA Pre-training")) + log_banner("Executing MVA Pre-training") models, nets = self._run_mva_training(mva_data) # Save trained models and attach to processed data @@ -2177,7 +2177,7 @@ def run_analysis_optimisation( # ---------------------------------------------------------------------- # Prepare for optimisation # ---------------------------------------------------------------------- - logger.info(_banner("Preparing for parameter optimisation")) + log_banner("Preparing for parameter optimisation") # Define objective for optimiser (p-value to minimise) def objective( @@ -2237,7 +2237,7 @@ def objective( )(all_parameters) # Set up optimisation loop - logger.info(_banner("Beginning parameter optimisation")) + log_banner("Beginning parameter optimisation") initial_params = all_parameters.copy() pval_history = [] aux_history = { @@ -2335,7 +2335,7 @@ def optimise_and_log( ) # Log final summary table comparing initial and final states - logger.info(_banner("Optimisation results")) + log_banner("Optimisation results") _log_parameter_update( step="", old_p_value=float(initial_pvalue), @@ -2410,7 +2410,7 @@ def optimise_and_log( with open(path, "wb") as f: pickle.dump(jax.tree.map(np.array, optimised_nn_params), f) - logger.info(_banner("Making plots and summaries")) + log_banner("Making plots and summaries") # --------------------------------------------------------------------- # 4. Reload results and generate summary plots # --------------------------------------------------------------------- @@ -2430,7 +2430,7 @@ def optimise_and_log( final_mva_scores = results["final_mva_scores"] initial_mva_scores = results["initial_mva_scores"] - logger.info(_banner("Generating parameter evolution plots")) + log_banner("Generating parameter evolution plots") # Generate optimisation progress plots if self.config.jax.explicit_optimisation: logger.info("Generating parameter history plots") diff --git a/pixi.toml b/pixi.toml index d5a4fce..505b5cf 100644 --- a/pixi.toml +++ b/pixi.toml @@ -37,6 +37,7 @@ xrootd = ">=5.8.1,<6" optimistix = ">=0.0.10" ipython = ">=9.4.0,<10" fsspec-xrootd = ">=0.4.0" +rich = ">=14.1.0,<15" [pypi-dependencies] relaxed = { git = "https://github.com/pfackeldey/relaxed.git", branch = "fixes_for_zprime" } diff --git a/utils/logging.py b/utils/logging.py index 1780921..fd6f0cb 100644 --- a/utils/logging.py +++ b/utils/logging.py @@ -1,6 +1,12 @@ import logging from typing import Any, Dict, List, Optional, Tuple +from rich.logging import RichHandler +from rich.text import Text +from rich.console import Console +from rich.pretty import Pretty +from rich.theme import Theme +from rich.style import Style from tabulate import tabulate # ANSI escape codes for colors @@ -11,48 +17,47 @@ GREEN = "\033[0;32m" RESET = "\033[0m" - -def _banner(text: str) -> str: +def log_banner(text: str) -> None: """ - Creates a magenta-colored banner for logging. + Logs a magenta-colored banner. Parameters ---------- text : str The text to display in the banner. - Returns - ------- - str - A formatted string with ANSI escape codes for coloring. """ - return ( - f"\n{MAGENTA}\n{'=' * 80}\n" - f"{' ' * ((80 - len(text)) // 2)}{text.upper()}\n" - f"{'=' * 80}{RESET}" - ) + console = Console(theme=Theme({"log.message": "magenta", "repr.path": "white"})) + text = (f"\n{'=' * 80}\n" + f"{ ' ' * ((80 - len(text)) // 2)}{text.upper()}\n" + f"{ '=' * 80}" + ) + console.print(text, style="log.message") -class ColoredFormatter(logging.Formatter): - """A custom logging formatter that adds colors based on log level.""" +def setup_logging(level: str = "INFO") -> None: + """ + Sets up logging with RichHandler. - # The format string for the log message - log_format_prefix = "[%(levelname)s:%(name)s:%(funcName)s:L.%(lineno)d] " + Parameters + ---------- + level : str, optional + The logging level, by default "INFO" + """ + log = logging.getLogger() - # A dictionary to map log levels to colors - PREFIX_COLORS = { - logging.INFO: BLUE, - logging.WARNING: YELLOW, - logging.ERROR: RED, - logging.CRITICAL: RED, - } + # Check if handlers already exist to avoid duplicate logging + if log.handlers: + return - def format(self, record): - # Get the color for the current log level's prefix - color = self.PREFIX_COLORS.get(record.levelno, "") - prefix_formatter = logging.Formatter(self.log_format_prefix) - prefix = prefix_formatter.format(record) - colored_prefix = f"{color}{prefix}{RESET}" + custom_theme = Theme({ + "repr.path": "default", # no color for paths + "repr.filename": "default", + }) - # The message itself might have its own colors, which will be preserved. - message = record.getMessage().lstrip("\n") - return f"{colored_prefix}{message}" + console = Console(theme=custom_theme) + handler = RichHandler(console=console, rich_tracebacks=True, show_time=False, markup=False) #, level_styles=level_styles) + handler.setFormatter( + logging.Formatter("%(message)s") + ) + log.addHandler(handler) + log.setLevel(level) diff --git a/utils/metadata_extractor.py b/utils/metadata_extractor.py index 055eb91..db37a6d 100644 --- a/utils/metadata_extractor.py +++ b/utils/metadata_extractor.py @@ -20,6 +20,7 @@ # Third-party imports from coffea.processor.executor import WorkItem +from rich.pretty import pretty_repr # Local application imports from utils.datasets import ConfigurableDatasetManager, create_default_dataset_config @@ -179,7 +180,6 @@ def build_fileset( dataset_key = f"{process_name}__{variation_label}" else: dataset_key = process_name - # Create the fileset entry: map each file path to its tree name fileset[dataset_key] = { "files": {file_path: tree_name for file_path in file_paths}, @@ -419,8 +419,8 @@ def run( self.write_nanoaods_summary() logger.info("Metadata generation complete.") else: - logger.info(f"Skipping metadata generation - using existing metadata from \ - {self._get_metadata_paths()}") + logger.info(f"Skipping metadata generation - using existing metadata from \n %s", + pretty_repr(self._get_metadata_paths())) try: self.read_fileset() self.read_metadata() diff --git a/utils/plot.py b/utils/plot.py index d26b4f9..1191449 100644 --- a/utils/plot.py +++ b/utils/plot.py @@ -19,7 +19,7 @@ from matplotlib.gridspec import GridSpec from matplotlib.ticker import ScalarFormatter -from utils.logging import ColoredFormatter +from utils.logging import setup_logging # Configure matplotlib global settings rcParams.update( @@ -34,13 +34,9 @@ # Type alias for array-like objects (supports JAX, NumPy, etc.) ArrayLike = Union[np.ndarray, Any] -# Set up module-specific logger with colored formatting +# Set up module-specific logger with setup_logging function +setup_logging("INFO") logger = logging.getLogger(__name__) -if not logger.handlers: - handler = logging.StreamHandler() - handler.setFormatter(ColoredFormatter()) - logger.addHandler(handler) - logger.setLevel(logging.INFO) def format_scientific_latex(value: float, significant_digits: int = 2) -> str: diff --git a/utils/skimming.py b/utils/skimming.py index 22bc406..5b98f42 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -364,8 +364,7 @@ def skim( with uproot.open(f"{input_path}:{tree}") as f: total_events = f.num_entries - logger.info("========================================") - logger.info(f"📂 Preprocessing file: {input_path} with {total_events:,} events") + logger.info(f"📂 Preprocessing file: \n {input_path}\n with {total_events:,} events") # Get common parameters step_size = self.get_chunk_size() @@ -630,7 +629,6 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana for idx, (file_path, tree) in enumerate(content["files"].items()): # Run skimming if enabled if config.general.run_skimming: - logger.info(f"🔍 Skimming input file: {file_path}") skimming_manager.skim( input_path=file_path, tree=tree, From aea40a0312d975de0688311d0f5730db313cc0ea Mon Sep 17 00:00:00 2001 From: maly Date: Thu, 28 Aug 2025 13:52:03 +0100 Subject: [PATCH 12/24] fix skimming bug --- user/configuration.py | 2 +- utils/skimming.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/user/configuration.py b/user/configuration.py index 9f0e233..c86bd57 100644 --- a/user/configuration.py +++ b/user/configuration.py @@ -72,7 +72,7 @@ }, "ignore_missing": False, # is this implemented? "mc_branches": { - "event": ["genWeight", "luminosityBlock"], + "event": ["genWeight"], "Pileup": ["nTrueInt"], }, "skimming": skimming_config, diff --git a/utils/skimming.py b/utils/skimming.py index 5b98f42..7e57a99 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -316,6 +316,7 @@ def build_branches_to_keep(self, config, mode="uproot", is_mc=False): flat.extend( brs if obj == "event" else [f"{obj}_{br}" for br in brs] ) + return flat raise ValueError("Invalid mode: use 'dask' or 'uproot'.") @@ -624,7 +625,6 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana logger.debug(f"Using uproot skimming mode for {dataset}") logger.info(f"🚀 Processing dataset: {dataset}") - # Loop over ROOT files associated with the dataset for idx, (file_path, tree) in enumerate(content["files"].items()): # Run skimming if enabled @@ -635,7 +635,7 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana dataset=dataset, file_idx=idx, configuration=config, - is_mc=("data__" not in dataset) + is_mc=("data" != dataset) ) # Discover skimmed files using skimming manager From b3c2a6a3ab2e6066cd5d66c603176b98bd983610 Mon Sep 17 00:00:00 2001 From: maly Date: Mon, 1 Sep 2025 17:45:14 +0100 Subject: [PATCH 13/24] attempt with workitems skimming -- crashing in analysis --- analysis.py | 21 +- analysis/diff.py | 36 +- user/configuration.py | 2 +- user/cuts.py | 1 + user/skim.py | 46 ++- utils/jax_stats.py | 2 +- utils/schema.py | 51 +-- utils/skimming.py | 187 ++-------- utils/workitem_skimming.py | 719 +++++++++++++++++++++++++++++++++++++ 9 files changed, 839 insertions(+), 226 deletions(-) create mode 100644 utils/workitem_skimming.py diff --git a/analysis.py b/analysis.py index efd0b3a..24e2923 100644 --- a/analysis.py +++ b/analysis.py @@ -18,7 +18,8 @@ from utils.logging import setup_logging, log_banner from utils.schema import Config, load_config_with_restricted_cli from utils.metadata_extractor import NanoAODMetadataGenerator -from utils.skimming import process_fileset_with_skimming +# from utils.skimming import process_fileset_with_skimming +from utils.workitem_skimming import process_workitems_with_skimming # ----------------------------- # Logging Configuration @@ -52,9 +53,21 @@ def main(): generator.run(generate_metadata=config.general.run_metadata_generation) fileset = generator.fileset - # Process fileset with skimming and get processed events - log_banner("SKIMMING AND CACHING DATA") - processed_datasets = process_fileset_with_skimming(config, fileset) + # Process workitems with skimming and get processed events + # processed_datasets = process_fileset_with_skimming(config, fileset) + + log_banner("WORKITEM-BASED SKIMMING AND PROCESSING") + + # Get workitems from the metadata generator + workitems = generator.workitems + if not workitems: + logger.error("No workitems available. Please ensure metadata generation completed successfully.") + sys.exit(1) + + logger.info(f"Processing {len(workitems)} workitems") + + # Process workitems using workitem-based approach + processed_datasets = process_workitems_with_skimming(workitems, config, fileset, generator.nanoaods_summary) analysis_mode = config.general.analysis if analysis_mode == "skip": diff --git a/analysis/diff.py b/analysis/diff.py index a4f3627..3e0fa32 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -61,6 +61,7 @@ NanoAODSchema.warn_missing_crossrefs = False warnings.filterwarnings("ignore", category=FutureWarning, module="coffea.*") +jax.config.update("jax_enable_x64", True) # ----------------------------------------------------------------------------- # Utility functions @@ -786,14 +787,6 @@ def _log_config_summary(self) -> None: general_cfg = self.config.general general_data = [ ["Output Directory", general_cfg.output_dir], - [ - "Max Files per Sample", - ( - "All" - if general_cfg.max_files == -1 - else general_cfg.max_files - ), - ], ["Run Skimming", general_cfg.run_skimming], ["Run MVA Pre-training", general_cfg.run_mva_training], ["Run Systematics", general_cfg.run_systematics], @@ -1040,9 +1033,9 @@ def apply_selection( for channel in self.channels: channel_name = channel.name - + logger.debug(f"Processing channel {channel_name} for {process}") if not channel.use_in_diff: - logger.warning( + logger.debug( f"Skipping channel {channel_name} in diff analysis" ) continue @@ -1051,7 +1044,7 @@ def apply_selection( if ( req := self.config.general.channels ) and channel_name not in req: - logger.warning( + logger.debug( f"Skipping channel {channel_name} (not in requested channels)" ) continue @@ -1397,6 +1390,7 @@ def _histogramming( return histograms for channel in self.channels: + logger.info(f"Processing channel {channel.name}...") # Skip channels not participating in differentiable analysis if not channel.use_in_diff: warning_logger( @@ -1467,6 +1461,7 @@ def _histogramming( f"Applied {event_syst.name} {direction} correction" ) + weights = jnp.asarray(ak.to_jax(weights)) # Loop over observables and compute KDE-based histograms @@ -1709,7 +1704,7 @@ def _run_traced_analysis_chain( """ info_logger = logger.info if not silent else logger.debug info_logger( - _banner( + log_banner( "📊 Starting histogram collection and p-value calculation..." ) ) @@ -1839,15 +1834,6 @@ def _prepare_data( # Loop over events in the processed dataset for idx, (events, file_metadata) in enumerate(events_list): - # Honour file limit if set in configuration - if ( - config.general.max_files != -1 - and idx >= config.general.max_files - ): - logger.info( - f"Reached max files limit ({config.general.max_files})" - ) - break # Count skimmed events dataset_stats["Skimmed"] += len(events) @@ -2133,7 +2119,7 @@ def run_analysis_optimisation( # 3. Run initial traced analysis to compute KDE histograms # --------------------------------------------------------------------- logger.info( - _banner("Running initial p-value computation (traced)") + log_banner("Running initial p-value computation (traced)") ) initial_pvalue, (mle_parameters, mle_parameters_uncertainties) = self._run_traced_analysis_chain( all_parameters, processed_data @@ -2165,7 +2151,7 @@ def run_analysis_optimisation( # Compute gradients to seed optimiser # ---------------------------------------------------------------------- logger.info( - _banner("Computing parameter gradients before optimisation") + log_banner("Computing parameter gradients before optimisation") ) (_, _), gradients = jax.value_and_grad( @@ -2349,7 +2335,7 @@ def optimise_and_log( # Prepare post-optimisation histograms # ---------------------------------------------------------------------- logger.info( - _banner( + log_banner( "Running analysis chain with optimised parameters (untraced)" ) ) @@ -2357,7 +2343,7 @@ def optimise_and_log( _ = self._run_traced_analysis_chain(final_params, processed_data) logger.info( - _banner("Re-computing NN scores/process for MVA models") + log_banner("Re-computing NN scores/process for MVA models") ) # Compute MVA scores with optimised parameters diff --git a/user/configuration.py b/user/configuration.py index c86bd57..eb078af 100644 --- a/user/configuration.py +++ b/user/configuration.py @@ -251,7 +251,7 @@ { "name": "wjets_vs_ttbar_nn", "use_in_diff": True, - "epochs": 1000, + "epochs": 2, "framework": "jax", # keras/tf/... if TF need more info # (e.g. Model: Sequential layers: Dense) "validation_split": 0.2, diff --git a/user/cuts.py b/user/cuts.py index 52e3c5e..0fafd0f 100644 --- a/user/cuts.py +++ b/user/cuts.py @@ -384,6 +384,7 @@ def Zprime_softcuts_jax_workshop( # --------------------- # Combine cut weights multiplicatively (AND logic) # --------------------- + print(cuts) cut_values = jnp.stack([v for k, v in cuts.items()]) selection_weight = jnp.prod(cut_values, axis=0) return selection_weight diff --git a/user/skim.py b/user/skim.py index 5cdf422..5c696ce 100644 --- a/user/skim.py +++ b/user/skim.py @@ -7,7 +7,9 @@ - Skimming configuration parameters """ -from user.cuts import default_skim_selection +import awkward as ak +from coffea.analysis_tools import PackedSelection + # ============================================================================== # Dataset Configuration @@ -71,20 +73,48 @@ dataset_manager_config = { "datasets": datasets_config, "metadata_output_dir": "outputs/test_metadata/skimmed/nanoaods_jsons/", - "max_files": 1 # No limit by default + "max_files": None # No limit by default } # ============================================================================== # Skimming Configuration # ============================================================================== + +def default_skim_selection(muons, puppimet, hlt): + """ + Default skimming selection function. + + Applies basic trigger, muon, and MET requirements for skimming. + This matches the hardcoded behavior from the original preprocessing. + """ + + selection = PackedSelection() + + # Muon selection (matching hardcoded behavior) + mu_sel = ( + (muons.pt > 55) + & (abs(muons.eta) < 2.4) + & muons.tightId + & (muons.miniIsoId > 1) + ) + muon_count = ak.sum(mu_sel, axis=1) + + # Individual cuts + selection.add("trigger", hlt.TkMu50) + selection.add("exactly_1_good_muon", muon_count == 1) + selection.add("met_cut", puppimet.pt > 50) + + # Combined skimming selection + selection.add("skim", selection.all("trigger", "exactly_1_good_muon", "met_cut")) + + return selection + + skimming_config = { - "nanoaod_selection": { - "function": default_skim_selection, - "use": [("Muon", None), ("Jet", None), ("PuppiMET", None), ("HLT", None)] - }, - "uproot_cut_string": "HLT_TkMu50*(PuppiMET_pt>50)", - "output_dir": None, # Will default to {general.output_dir}/skimmed/ + "selection_function": default_skim_selection, + "selection_use": [("Muon", None), ("PuppiMET", None), ("HLT", None)], + "output_dir": "skimmed_test/", "chunk_size": 100_000, "tree_name": "Events", } diff --git a/utils/jax_stats.py b/utils/jax_stats.py index 38d5e7f..580c4f0 100644 --- a/utils/jax_stats.py +++ b/utils/jax_stats.py @@ -96,7 +96,7 @@ class ChannelData(eqx.Module): - Bin edges are stored for visualization/rebinning purposes """ - name: str = eqx.static_field() # Treated as constant by JAX + name: str = eqx.field(static=True) # Treated as constant by JAX observed_counts: jnp.ndarray templates: Dict[str, jnp.ndarray] bin_edges: jnp.ndarray diff --git a/utils/schema.py b/utils/schema.py index 396abcb..5462858 100644 --- a/utils/schema.py +++ b/utils/schema.py @@ -340,51 +340,41 @@ class DatasetManagerConfig(SubscriptableModel): # Skimming configuration # ------------------------ class SkimmingConfig(SubscriptableModel): - """Configuration for skimming selections and output""" - # For NanoAOD/DAK mode - uses functor pattern - nanoaod_selection: Annotated[ - Optional[FunctorConfig], - Field(default=None, description="Selection function for NanoAOD/DAK preprocessing mode") + """Configuration for workitem-based skimming selections and output""" + + # Selection function - required for workitem-based skimming + selection_function: Annotated[ + Callable, + Field(description="Selection function that returns a PackedSelection object") ] - # For pure uproot mode - string-based cuts - uproot_cut_string: Annotated[ - Optional[str], - Field(default=None, description="Cut string for pure uproot preprocessing mode") + # Selection inputs - required to specify what the function needs + selection_use: Annotated[ + List[ObjVar], + Field(description="List of (object, variable) tuples specifying inputs for the selection function") ] # Output directory configuration output_dir: Annotated[ - Optional[str], + str, Field( - default=None, description="Base directory for skimmed files. When run_skimming=True, this is where " "skimmed files will be written. When run_skimming=False, this is where " "existing skimmed files will be read from. Files follow the fixed structure: " - "{output_dir}/{dataset}/file__{idx}/part_X.root where X is the chunk number. " - "If None, uses {general.output_dir}/skimmed/" + "{output_dir}/{dataset}/file__{idx}/part_X.root where X is the chunk number." ) ] # File handling configuration chunk_size: Annotated[ int, - Field(default=100_000, description="Number of events to process per chunk") + Field(default=100_000, description="Number of events to process per chunk (used for configuration compatibility)") ] tree_name: Annotated[ str, Field(default="Events", description="ROOT tree name for input and output files") ] - @model_validator(mode="after") - def validate_selection_config(self) -> "SkimmingConfig": - """Validate that at least one selection method is provided.""" - if not self.nanoaod_selection and not self.uproot_cut_string: - raise ValueError( - "Either 'nanoaod_selection' or 'uproot_cut_string' must be provided for skimming." - ) - return self - # ------------------------ # Preprocessing configuration # ------------------------ @@ -446,11 +436,6 @@ def validate_branches(self) -> "PreprocessConfig": f"'{br}' is not present in branches for '{obj}'." ) - # Create default skimming configuration if none provided - if self.skimming is None: - from utils.skimming import create_default_skimming_config - self.skimming = create_default_skimming_config() - return self @@ -1253,11 +1238,11 @@ def validate_config(self) -> "Config": "Skimming is enabled but no preprocess configuration provided." ) - # Handle skimming output directory defaults - if self.preprocess and self.preprocess.skimming: - # Set default skimming output directory if not specified - if self.preprocess.skimming.output_dir is None: - self.preprocess.skimming.output_dir = f"{self.general.output_dir}/skimmed" + if self.general.run_skimming and (not self.preprocess.skimming): + raise ValueError( + "Skimming is enabled but no skimming configuration provided. " + "Please provide a SkimmingConfig with selection_function, selection_use, and output_dir." + ) if self.statistics is not None: if ( diff --git a/utils/skimming.py b/utils/skimming.py index 7e57a99..dd88d1b 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -62,102 +62,6 @@ def __init__(self, config: SkimmingConfig): raise ValueError("Either nanoaod_selection or uproot_cut_string must be provided") - def get_uproot_cut_string(self) -> Optional[str]: - """ - Get the uproot cut string. - - Returns - ------- - str or None - Cut string for uproot mode, or None if not configured - """ - return self.config.uproot_cut_string - - def apply_nanoaod_selection( - self, - events: ak.Array, - function_args_getter: callable - ) -> ak.Array: - """ - Apply NanoAOD selection using the configured functor. - - Parameters - ---------- - events : ak.Arrayƒ√ - NanoAOD events array - function_args_getter : callable - Function to get arguments for the selection function - (typically from analysis base class) - - Returns - ------- - ak.Array - Boolean mask for selected events - """ - if not self.config.nanoaod_selection: - raise ValueError("No NanoAOD selection configured") - - # Get the selection function and its arguments - selection_func = self.config.nanoaod_selection.function - selection_use = self.config.nanoaod_selection.use - - # Get function arguments (this delegates to the analysis class method) - selection_args = function_args_getter( - selection_use, - events, - function_name=selection_func.__name__ - ) - - # Apply the selection function - packed_selection = selection_func(*selection_args) - - if not isinstance(packed_selection, PackedSelection): - raise ValueError(f"Selection function must return PackedSelection, got {type(packed_selection)}") - - # Get the final selection mask - # Assume the last selection name is the final one, or use 'all' if available - selection_names = packed_selection.names - if selection_names: - final_selection = selection_names[-1] - mask = ak.Array(packed_selection.all(final_selection)) - else: - # Fallback: create a mask that selects all events - mask = ak.ones_like(events.run, dtype=bool) - - return mask - - def get_chunk_size(self) -> int: - """ - Get the configured chunk size for processing. - - Returns - ------- - int - Number of events to process per chunk - """ - return self.config.chunk_size - - def get_tree_name(self) -> str: - """ - Get the configured tree name. - - Returns - ------- - str - ROOT tree name - """ - return self.config.tree_name - - def get_output_dir(self) -> str: - """ - Get the configured output directory. - - Returns - ------- - str - Output directory path - """ - return self.config.output_dir def get_dataset_output_dir(self, dataset: str, file_idx: int) -> Path: """ @@ -198,27 +102,6 @@ def get_glob_pattern(self, dataset: str, file_idx: int) -> str: # Structure: {output_dir}/{dataset}/file__{idx}/part_*.root return f"{self.config.output_dir}/{dataset}/file__{file_idx}/part_*.root" - def supports_nanoaod_mode(self) -> bool: - """ - Check if NanoAOD mode is supported. - - Returns - ------- - bool - True if NanoAOD selection is configured - """ - return self.config.nanoaod_selection is not None - - def supports_uproot_mode(self) -> bool: - """ - Check if uproot mode is supported. - - Returns - ------- - bool - True if uproot cut string is configured - """ - return self.config.uproot_cut_string is not None def discover_skimmed_files(self, dataset: str, file_idx: int) -> list[str]: @@ -247,35 +130,6 @@ def discover_skimmed_files(self, dataset: str, file_idx: int) -> list[str]: logger.info(f"Discovered {len(files_with_tree)} skimmed files for {dataset}/file__{file_idx}") return files_with_tree - def validate_user_skimmed_files(self, user_files: dict[str, list[str]]) -> bool: - """ - Validate that user-provided skimmed files follow the expected structure. - - Parameters - ---------- - user_files : dict[str, list[str]] - Dictionary mapping dataset names to lists of file paths - - Returns - ------- - bool - True if files are valid and accessible - """ - for dataset, files in user_files.items(): - for file_path in files: - # Remove tree name if present - clean_path = file_path.split(':')[0] if ':' in file_path else file_path - - if not os.path.exists(clean_path): - logger.error(f"Skimmed file not found: {clean_path}") - return False - - # Check if it's a ROOT file - if not clean_path.endswith('.root'): - logger.warning(f"File {clean_path} does not appear to be a ROOT file") - - logger.info(f"Validated {sum(len(files) for files in user_files.values())} user-provided skimmed files") - return True def build_branches_to_keep(self, config, mode="uproot", is_mc=False): """ @@ -368,8 +222,8 @@ def skim( logger.info(f"📂 Preprocessing file: \n {input_path}\n with {total_events:,} events") # Get common parameters - step_size = self.get_chunk_size() - output_tree_name = self.get_tree_name() + step_size = self.config.chunk_size + output_tree_name = self.config.tree_name # Dispatch to processor-specific implementation if processor == "dask": @@ -482,7 +336,7 @@ def _skim_with_uproot( """ Uproot-specific skimming implementation. """ - cut_str = self.get_uproot_cut_string() + cut_str = self.config.uproot_cut_string branches = self.build_branches_to_keep(configuration, mode="uproot", is_mc=is_mc) iterable = uproot.iterate( @@ -558,7 +412,34 @@ def create_default_skimming_config(output_dir: str = "skimmed/") -> SkimmingConf SkimmingConfig Default skimming configuration """ - from user.cuts import default_skim_selection # Import here to avoid circular imports + def default_skim_selection(muons, jets, puppimet, hlt): + """ + Default skimming selection function. + + Applies basic trigger, muon, and MET requirements for skimming. + This matches the hardcoded behavior from the original preprocessing. + """ + from coffea.analysis_tools import PackedSelection + selection = PackedSelection() + + # Muon selection (matching hardcoded behavior) + mu_sel = ( + (muons.pt > 55) + & (abs(muons.eta) < 2.4) + & muons.tightId + & (muons.miniIsoId > 1) + ) + muon_count = ak.sum(mu_sel, axis=1) + + # Individual cuts + selection.add("trigger", hlt.TkMu50) + selection.add("exactly_1_good_muon", muon_count == 1) + selection.add("met_cut", puppimet.pt > 50) + + # Combined skimming selection + selection.add("skim", selection.all("trigger", "exactly_1_good_muon", "met_cut")) + + return selection # Default uproot cut string matching current hardcoded behavior default_uproot_cut = "HLT_TkMu50*(PuppiMET_pt>50)" @@ -619,9 +500,9 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana skimming_manager = ConfigurableSkimmingManager(config.preprocess.skimming) # Log which mode is being used - if skimming_manager.supports_nanoaod_mode(): + if skimming_manager.config.nanoaod_selection: logger.debug(f"Using NanoAOD/DAK skimming mode for {dataset}") - elif skimming_manager.supports_uproot_mode(): + elif skimming_manager.config.uproot_cut_string: logger.debug(f"Using uproot skimming mode for {dataset}") logger.info(f"🚀 Processing dataset: {dataset}") @@ -657,7 +538,6 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana skimmed_file, schemaclass=NanoAODSchema, mode="eager", ).events() - # Cache the events if not reading from cache if not config.general.read_from_cache: os.makedirs(cache_dir, exist_ok=True) @@ -665,7 +545,6 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana cloudpickle.dump(events, f) processed_events.append((events, metadata.copy())) - processed_datasets[dataset] = processed_events return processed_datasets diff --git a/utils/workitem_skimming.py b/utils/workitem_skimming.py new file mode 100644 index 0000000..4f937e5 --- /dev/null +++ b/utils/workitem_skimming.py @@ -0,0 +1,719 @@ +""" +Workitem-based preprocessing workflow using dask.bag for failure handling. + +This module implements a new preprocessing approach that processes workitems directly +using dask.bag, providing robust failure handling and retry mechanisms. It serves as +an alternative to the current fileset-based skimming approach. + +The workflow follows the pattern: +1. Process workitems with dask.bag.from_sequence() +2. Apply skimming analysis to each workitem +3. Handle failures and collect successful results +4. Retry failed workitems until completion +5. Save outputs using the same patterns as existing code +""" + +import logging +import os +from pathlib import Path +from typing import Any, Dict, List, Optional, Set, Union +from collections import defaultdict + +import dask.bag +import hist +import uproot +from coffea.nanoevents import NanoAODSchema, NanoEventsFactory +from coffea.processor.executor import WorkItem +from tabulate import tabulate +import awkward as ak + +from utils.schema import SkimmingConfig +from utils.tools import get_function_arguments + +logger = logging.getLogger(__name__) + + +def default_histogram() -> hist.Hist: + """ + Create a default histogram for tracking processing success/failure. + + This histogram serves as a dummy placeholder to track whether workitems + were processed successfully. The actual analysis histograms are created + separately during the analysis phase. + + Returns + ------- + hist.Hist + A simple histogram with regular binning for tracking purposes + """ + return hist.Hist.new.Regular(10, 0, 1000).Weight() + + +def workitem_analysis(workitem: WorkItem, config: SkimmingConfig, + configuration: Any, file_counters: Dict[str, int], + part_counters: Dict[str, int], is_mc: bool = True) -> Dict[str, Any]: + """ + Process a single workitem for skimming analysis. + + This function is equivalent to the `my_analysis` function in the reference + implementation. It handles I/O, applies skimming selections, and saves + output files on successful processing. + + Parameters + ---------- + workitem : WorkItem + The coffea WorkItem containing file metadata and entry ranges + config : SkimmingConfig + Skimming configuration with selection functions and output settings + configuration : Any + Main analysis configuration object containing branch selections + file_counters : Dict[str, int] + Pre-computed mapping of file keys to file numbers + part_counters : Dict[str, int] + Pre-computed mapping of part keys (including entry ranges) to part numbers + is_mc : bool, default True + Whether the workitem represents Monte Carlo data + + Returns + ------- + Dict[str, Any] + Dictionary containing: + - 'hist': Dummy histogram for success tracking + - 'failed_items': Set of failed workitems (empty on success) + - 'processed_events': Number of events processed + - 'output_files': List of created output files + """ + dummy_hist = default_histogram() + + try: + # Extract workitem metadata + filename = workitem.filename + treename = workitem.treename + entry_start = workitem.entrystart + entry_stop = workitem.entrystop + dataset = workitem.dataset + + logger.debug(f"Processing workitem: {filename}[{entry_start}:{entry_stop}]") + + # Load events using NanoEventsFactory + events = NanoEventsFactory.from_root( + {filename: treename}, + entry_start=entry_start, + entry_stop=entry_stop, + schemaclass=NanoAODSchema, + ).events() + + total_events = len(events) + logger.debug(f"Loaded {total_events} events from workitem") + + # Apply skimming selection using the provided function + selection_func = config.selection_function + selection_use = config.selection_use + + # Get function arguments using existing utility + selection_args = get_function_arguments( + selection_use, events, function_name=selection_func.__name__ + ) + packed_selection = selection_func(*selection_args) + + # Apply final selection mask + selection_names = packed_selection.names + if selection_names: + final_selection = selection_names[-1] + mask = packed_selection.all(final_selection) + else: + # No selection applied, keep all events + mask = slice(None) + + filtered_events = events[mask] + processed_events = len(filtered_events) + logger.debug(f"After selection: {processed_events} events remain") + + # Fill dummy histogram with some dummy values for tracking + if processed_events > 0: + # Use a simple observable for the dummy histogram + dummy_values = [500.0] * min(processed_events, 100) # Limit for performance + dummy_hist.fill(dummy_values) + + output_files = [] + if processed_events > 0: + output_file = _create_output_file_path(workitem, config, file_counters, part_counters) + _save_workitem_output(filtered_events, output_file, config, configuration, is_mc) + output_files.append(str(output_file)) + logger.debug(f"Saved {processed_events} events to {output_file}") + + return { + "hist": dummy_hist, + "failed_items": set(), + "processed_events": processed_events, + "output_files": output_files + } + + except Exception as e: + logger.error(f"Failed to process workitem {workitem.filename}: {e}") + return { + "hist": default_histogram(), + "failed_items": {workitem}, # Track failure + "processed_events": 0, + "output_files": [] + } + + +def reduce_results(result_a: Dict[str, Any], result_b: Dict[str, Any]) -> Dict[str, Any]: + """ + Combine partial results from workitem processing. + + This function is equivalent to the `reduce` function in the reference + implementation. It combines histograms, failed items, and other metrics + from parallel processing. + + Parameters + ---------- + result_a : Dict[str, Any] + First result dictionary + result_b : Dict[str, Any] + Second result dictionary + + Returns + ------- + Dict[str, Any] + Combined result dictionary + """ + return { + "hist": result_a["hist"] + result_b["hist"], + "failed_items": result_a["failed_items"] | result_b["failed_items"], + "processed_events": result_a["processed_events"] + result_b["processed_events"], + "output_files": result_a["output_files"] + result_b["output_files"] + } + + +def _create_output_file_path(workitem: WorkItem, config: SkimmingConfig, + file_counters: Dict[str, int], part_counters: Dict[str, int]) -> Path: + """ + Create output file path following the existing pattern with entry-range-based counters. + + Uses the same output structure as the current skimming code: + {output_dir}/{dataset}/file__{file_idx}/part_{chunk}.root + + Parameters + ---------- + workitem : WorkItem + The workitem being processed + config : SkimmingConfig + Skimming configuration with output directory + file_counters : Dict[str, int] + Pre-computed mapping of file keys to file numbers + part_counters : Dict[str, int] + Pre-computed mapping of part keys (including entry ranges) to part numbers + + Returns + ------- + Path + Full path to the output file + """ + dataset = workitem.dataset + + # Create keys that include entry ranges for proper differentiation + file_key = f"{dataset}::{workitem.filename}" + part_key = f"{file_key}::{workitem.entrystart}_{workitem.entrystop}" + + # Get pre-computed file and part numbers + file_number = file_counters[file_key] + part_number = part_counters[part_key] + + # Create output directory structure + base_dir = Path(config.output_dir) + dataset_dir = base_dir / dataset / f"file__{file_number}" + dataset_dir.mkdir(parents=True, exist_ok=True) + + # Create output filename with entry-range-based part number + output_filename = f"part_{part_number}.root" + return dataset_dir / output_filename + + +def _save_workitem_output(events: Any, output_file: Path, config: SkimmingConfig, + configuration: Any, is_mc: bool) -> None: + """ + Save filtered events to output ROOT file. + + This function handles the actual I/O of saving skimmed events to disk, + using the same branch selection logic as the existing skimming code. + + Parameters + ---------- + events : Any + Filtered events to save + output_file : Path + Output file path + config : SkimmingConfig + Skimming configuration + configuration : Any + Main analysis configuration with branch selections + is_mc : bool + Whether this is Monte Carlo data + """ + # Build branches to keep using existing logic + branches_to_keep = _build_branches_to_keep(configuration, is_mc) + + # Create output file + with uproot.recreate(str(output_file)) as output_root: + # Prepare data for writing + output_data = {} + + # Extract branches following the existing pattern + for obj, obj_branches in branches_to_keep.items(): + if obj == "event": + # Event-level branches + for branch in obj_branches: + if hasattr(events, branch): + output_data[branch] = getattr(events, branch) + else: + # Object collection branches + if hasattr(events, obj): + obj_collection = getattr(events, obj) + for branch in obj_branches: + if hasattr(obj_collection, branch): + output_data[f"{obj}_{branch}"] = getattr(obj_collection, branch) + + # Create and populate output tree + if output_data: + output_tree = output_root.mktree(config.tree_name, + {k: v.type for k, v in output_data.items()}) + output_tree.extend(output_data) + + +def _build_branches_to_keep(configuration: Any, is_mc: bool) -> Dict[str, List[str]]: + """ + Build dictionary of branches to keep based on configuration. + + This replicates the logic from the existing skimming code to determine + which branches should be saved in the output files. + + Parameters + ---------- + configuration : Any + Main analysis configuration + is_mc : bool + Whether this is Monte Carlo data + + Returns + ------- + Dict[str, List[str]] + Dictionary mapping object names to lists of branch names + """ + branches = configuration.preprocess.branches + mc_branches = configuration.preprocess.mc_branches + + filtered = {} + for obj, obj_branches in branches.items(): + if not is_mc: + # For data, exclude MC-only branches + filtered[obj] = [ + br for br in obj_branches + if br not in mc_branches.get(obj, []) + ] + else: + # For MC, keep all branches + filtered[obj] = obj_branches + + return filtered + + +class WorkitemSkimmingManager: + """ + Manager for workitem-based skimming using dask.bag processing. + + This class orchestrates the new preprocessing workflow that processes + workitems directly using dask.bag, providing robust failure handling + and retry mechanisms. + + Attributes + ---------- + config : SkimmingConfig + Skimming configuration with selection functions and output settings + """ + + def __init__(self, config: SkimmingConfig): + """ + Initialize the workitem skimming manager. + + Parameters + ---------- + config : SkimmingConfig + Skimming configuration with selection functions and output settings + """ + self.config = config + logger.info("Initialized workitem-based skimming manager") + + def process_workitems(self, workitems: List[WorkItem], configuration: Any, + split_every: int = 4, max_retries: int = 3) -> Dict[str, Any]: + """ + Process a list of workitems using dask.bag with failure handling. + + This is the main entry point that implements the dask.bag workflow + with retry logic for failed workitems. + + Parameters + ---------- + workitems : List[WorkItem] + List of workitems to process + configuration : Any + Main analysis configuration object + split_every : int, default 4 + Split parameter for dask.bag.fold operation + max_retries : int, default 3 + Maximum number of retry attempts for failed workitems + + Returns + ------- + Dict[str, Any] + Final combined results with histograms and processing statistics + """ + logger.info(f"Starting workitem processing with {len(workitems)} workitems") + + # Pre-compute file and part counters for all workitems + file_counters, part_counters = self._compute_counters(workitems) + + # Initialize accumulator for successful results + full_result = { + "hist": default_histogram(), + "failed_items": set(), + "processed_events": 0, + "output_files": [] + } + + # Process workitems with retry logic + remaining_workitems = workitems.copy() + retry_count = 0 + + while remaining_workitems and retry_count < max_retries: + logger.info(f"Processing {len(remaining_workitems)} workitems (attempt {retry_count + 1})") + + # Create dask bag from remaining workitems + bag = dask.bag.from_sequence(remaining_workitems) + + # Map analysis function over workitems + futures = bag.map(lambda wi: workitem_analysis( + wi, self.config, configuration, file_counters, part_counters, + is_mc=self._is_monte_carlo(wi.dataset) + )) + + # Reduce results using fold operation + task = futures.fold(reduce_results, split_every=split_every) + + # Compute results + (result,) = dask.compute(task) + + # Update remaining workitems to failed ones + remaining_workitems = list(result["failed_items"]) + + # Accumulate successful results + if result["processed_events"] > 0: + full_result["hist"] += result["hist"] + full_result["processed_events"] += result["processed_events"] + full_result["output_files"].extend(result["output_files"]) + + # Log progress + failed_count = len(remaining_workitems) + successful_count = len(workitems) - failed_count + logger.info(f"Completed attempt {retry_count + 1}: " + f"{successful_count} successful, {failed_count} failed") + + retry_count += 1 + + # Final logging + if remaining_workitems: + logger.warning(f"Failed to process {len(remaining_workitems)} workitems " + f"after {max_retries} attempts") + full_result["failed_items"] = set(remaining_workitems) + else: + logger.info("Successfully processed all workitems") + + # Create summary statistics by dataset + self._log_processing_summary(workitems, full_result["output_files"]) + + return full_result + + def discover_workitem_outputs(self, workitems: List[WorkItem]) -> List[str]: + """ + Discover existing output files from previous workitem processing. + + This method scans for output files that would be created by the + workitem processing, allowing for resumption of interrupted workflows. + + Parameters + ---------- + workitems : List[WorkItem] + List of workitems to check for existing outputs + + Returns + ------- + List[str] + List of existing output file paths with tree names + """ + output_files = [] + + # Use the same counter computation as processing + file_counters, part_counters = self._compute_counters(workitems) + + for workitem in workitems: + expected_output = _create_output_file_path(workitem, self.config, file_counters, part_counters) + + if expected_output.exists(): + # Add tree name for compatibility with existing code + file_with_tree = f"{expected_output}:{self.config.tree_name}" + output_files.append(file_with_tree) + + logger.info(f"Discovered {len(output_files)} existing workitem output files") + return output_files + + def _log_processing_summary(self, workitems: List[WorkItem], output_files: List[str]) -> None: + """ + Log a summary table of processing results by dataset. + + Parameters + ---------- + workitems : List[WorkItem] + Original list of workitems processed + output_files : List[str] + List of output files created + """ + # Collect statistics by dataset + dataset_stats = defaultdict(lambda: {"events_processed": 0, "files_written": 0}) + + # Count events processed by reading from output files + for output_file in output_files: + try: + # Extract dataset from file path + # Path format: {output_dir}/{dataset}/file__{N}/part_{M}.root + path_parts = Path(output_file).parts + if len(path_parts) >= 3: + dataset = path_parts[-3] # Get dataset from path + + # Read the file to count events + with uproot.open(output_file) as f: + if self.config.tree_name in f: + tree = f[self.config.tree_name] + num_events = tree.num_entries + dataset_stats[dataset]["events_processed"] += num_events + dataset_stats[dataset]["files_written"] += 1 + + except Exception as e: + logger.debug(f"Could not read events from {output_file}: {e}") + # Still count the file even if we can't read events + try: + path_parts = Path(output_file).parts + if len(path_parts) >= 3: + dataset = path_parts[-3] + dataset_stats[dataset]["files_written"] += 1 + except: + pass + + # Create summary table + if dataset_stats: + table_data = [] + total_events = 0 + total_files = 0 + + for dataset, stats in sorted(dataset_stats.items()): + events = stats["events_processed"] + files = stats["files_written"] + table_data.append([dataset, f"{events:,}", files]) + total_events += events + total_files += files + + # Add totals row + table_data.append(["TOTAL", f"{total_events:,}", total_files]) + + # Create and log table + headers = ["Dataset", "Events Saved", "Files Written"] + table = tabulate(table_data, headers=headers, tablefmt="grid") + + logger.info("Processing Summary:") + logger.info(f"\n{table}") + else: + logger.info("No output files were created during processing") + + def _compute_counters(self, workitems: List[WorkItem]) -> tuple[Dict[str, int], Dict[str, int]]: + """ + Pre-compute file and part counters for all workitems. + + This ensures consistent numbering across all workers by computing + the counters once before parallel processing begins. + + Parameters + ---------- + workitems : List[WorkItem] + List of all workitems to process + + Returns + ------- + tuple[Dict[str, int], Dict[str, int]] + File counters and part counters dictionaries + """ + file_counters = {} + part_counters = {} + + # Track unique files per dataset for sequential file numbering + dataset_file_counts = {} + + for workitem in workitems: + dataset = workitem.dataset + file_key = f"{dataset}::{workitem.filename}" + part_key = f"{file_key}::{workitem.entrystart}_{workitem.entrystop}" + + # Assign file number if not already assigned + if file_key not in file_counters: + if dataset not in dataset_file_counts: + dataset_file_counts[dataset] = 0 + file_counters[file_key] = dataset_file_counts[dataset] + dataset_file_counts[dataset] += 1 + + # Assign part number if not already assigned + if part_key not in part_counters: + # Count existing parts for this file + existing_parts = [k for k in part_counters.keys() if k.startswith(f"{file_key}::")] + part_counters[part_key] = len(existing_parts) + + logger.debug(f"Computed counters for {len(file_counters)} files and {len(part_counters)} parts") + return file_counters, part_counters + + def _is_monte_carlo(self, dataset: str) -> bool: + """ + Determine if a dataset represents Monte Carlo data. + + Parameters + ---------- + dataset : str + Dataset name + + Returns + ------- + bool + True if dataset is Monte Carlo, False if it's data + """ + # Simple heuristic: data datasets typically contain "data" in the name + return "data" not in dataset.lower() + + +def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, + fileset: Optional[Dict[str, Any]] = None, + nanoaods_summary: Optional[Dict[str, Any]] = None, + cache_dir: str = "/tmp/gradients_analysis/") -> Dict[str, Any]: + """ + Process workitems using the workitem-based skimming approach. + + This function serves as the main entry point for the workitem-based preprocessing workflow. + It processes workitems (if skimming is enabled) and then discovers and reads from the + saved files for analysis. + + Parameters + ---------- + workitems : List[WorkItem] + List of workitems to process, typically from NanoAODMetadataGenerator.workitems + config : Any + Main analysis configuration object containing skimming and preprocessing settings + fileset : Optional[Dict[str, Any]], default None + Fileset containing metadata including cross-sections for normalization + nanoaods_summary : Optional[Dict[str, Any]], default None + NanoAODs summary containing event counts per dataset for nevts metadata + cache_dir : str, default "/tmp/gradients_analysis/" + Directory for caching (maintained for compatibility, not used in workitem processing) + + Returns + ------- + Dict[str, List[Tuple[Any, Dict[str, Any]]]] + Dictionary mapping dataset names to lists of (events, metadata) tuples. + Each metadata dictionary contains dataset, process, variation, and xsec information. + Events are loaded NanoEvents objects ready for analysis. + """ + logger.info(f"Starting workitem-based preprocessing with {len(workitems)} workitems") + + # Create workitem skimming manager + skimming_manager = WorkitemSkimmingManager(config.preprocess.skimming) + + # Group workitems by dataset + workitems_by_dataset = {} + for workitem in workitems: + dataset = workitem.dataset + if dataset not in workitems_by_dataset: + workitems_by_dataset[dataset] = [] + workitems_by_dataset[dataset].append(workitem) + + # Process workitems if skimming is enabled + if config.general.run_skimming: + logger.info("Running skimming - processing workitems") + results = skimming_manager.process_workitems(workitems, config) + logger.info(f"Skimming completed - processed {results['processed_events']:,} events") + + # Always discover and read from saved files + logger.info("Discovering and reading from saved files") + processed_datasets = {} + + for dataset, dataset_workitems in workitems_by_dataset.items(): + # Skip datasets not explicitly requested in config + if hasattr(config.general, 'processes') and config.general.processes: + process_name = dataset.split('__')[0] if '__' in dataset else dataset + if process_name not in config.general.processes: + logger.info(f"Skipping {dataset} (process {process_name} not in requested)") + continue + + # Discover output files for this dataset + output_files = skimming_manager.discover_workitem_outputs(dataset_workitems) + + if output_files: + # Create metadata for compatibility with existing analysis code + metadata = { + "dataset": dataset, + "process": dataset.split('__')[0] if '__' in dataset else dataset, + "variation": dataset.split('__')[1] if '__' in dataset else "nominal", + } + + # Add cross-section metadata from fileset if available + if fileset and dataset in fileset: + xsec = fileset[dataset].get('metadata', {}).get('xsec', 1.0) + metadata['xsec'] = xsec + else: + metadata['xsec'] = 1.0 + if fileset: + logger.warning(f"Cross-section not found for dataset {dataset}, using default value 1.0") + + # Add nevts from NanoAODs summary if available + # The analysis code expects 'nevts' field for normalization + nevts = 0 + if nanoaods_summary: + # Parse dataset to get process and variation + process_name = dataset.split('__')[0] if '__' in dataset else dataset + variation = dataset.split('__')[1] if '__' in dataset else "nominal" + + if process_name in nanoaods_summary: + if variation in nanoaods_summary[process_name]: + nevts = nanoaods_summary[process_name][variation].get('nevts_total', 0) + + metadata['nevts'] = nevts + if nevts == 0: + logger.warning(f"Could not find nevts for dataset {dataset}, using 0") + + # Load events from each discovered file (like the old process_fileset_with_skimming) + processed_events = [] + for file_path in output_files: + try: + # Load events using NanoEventsFactory (same as old function) + events = NanoEventsFactory.from_root( + file_path, schemaclass=NanoAODSchema, mode="eager" + ).events() + events = ak.materialize(events) # Ensure data is loaded into memory + print(events[1]) + processed_events.append((events, metadata.copy())) + logger.debug(f"Loaded events from {file_path}") + except Exception as e: + logger.error(f"Failed to load events from {file_path}: {e}") + continue + + print(processed_events) + processed_datasets[dataset] = processed_events + else: + logger.warning(f"No output files found for dataset {dataset}") + processed_datasets[dataset] = [] + + return processed_datasets From 0ea6b5c3877973775da37c44ac76fc5af4240b6a Mon Sep 17 00:00:00 2001 From: maly Date: Fri, 5 Sep 2025 10:32:24 +0200 Subject: [PATCH 14/24] add file merging when reading skimming outputs to avoid instabilities --- analysis.py | 8 +++-- analysis/diff.py | 11 ++++-- user/cuts.py | 3 +- user/skim.py | 4 +-- utils/logging.py | 2 +- utils/skimming.py | 70 ++++++++++++++++++++------------------ utils/workitem_skimming.py | 37 ++++++++++++++++---- 7 files changed, 83 insertions(+), 52 deletions(-) diff --git a/analysis.py b/analysis.py index 24e2923..91f2c64 100644 --- a/analysis.py +++ b/analysis.py @@ -18,7 +18,7 @@ from utils.logging import setup_logging, log_banner from utils.schema import Config, load_config_with_restricted_cli from utils.metadata_extractor import NanoAODMetadataGenerator -# from utils.skimming import process_fileset_with_skimming +from utils.skimming import process_fileset_with_skimming from utils.workitem_skimming import process_workitems_with_skimming # ----------------------------- @@ -58,7 +58,7 @@ def main(): log_banner("WORKITEM-BASED SKIMMING AND PROCESSING") - # Get workitems from the metadata generator + #Get workitems from the metadata generator workitems = generator.workitems if not workitems: logger.error("No workitems available. Please ensure metadata generation completed successfully.") @@ -66,9 +66,11 @@ def main(): logger.info(f"Processing {len(workitems)} workitems") - # Process workitems using workitem-based approach + #Process workitems using workitem-based approach processed_datasets = process_workitems_with_skimming(workitems, config, fileset, generator.nanoaods_summary) + + #processed_datasets = {k: v for k,v in processed_datasets.items() if "signal" in k} analysis_mode = config.general.analysis if analysis_mode == "skip": log_banner("Skim-Only Mode: Skimming Complete") diff --git a/analysis/diff.py b/analysis/diff.py index 3e0fa32..79b06d5 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -1060,7 +1060,7 @@ def apply_selection( # Count number of events passing selection n_events = ak.sum(mask) if n_events == 0: - logger.warning( + logger.debug( f"No events left in {channel_name} for {process} after selection" ) continue @@ -1479,6 +1479,8 @@ def _histogramming( f"Histogramming: {process} | {variation} | {channel_name} | " f"{obs_name} | Events (Raw): {nevents:,} | " f"Events(Weighted): {ak.sum(weights):,.2f}" + f"{obs_name} | Events (Raw): {nevents:,} | " + f"Events(Weighted): {ak.sum(weights):.2f}" ) # Evaluate observable function @@ -1563,7 +1565,7 @@ def _collect_histograms( all_histograms = defaultdict(lambda: defaultdict(dict)) process = metadata["process"] xsec = metadata["xsec"] - n_gen = metadata["nevts"] + n_gen = 1.0 #metadata["nevts"] lumi = self.config["general"]["lumi"] # Calculate cross-section weight for MC (unit weight for data) @@ -1822,7 +1824,10 @@ def _prepare_data( continue _, metadata = events_list[0] process_name = metadata["process"] - + logger.info( + f"Processing dataset: {dataset} (process: {process_name}, " + f"files: {len(events_list)})" + ) # Skip datasets not explicitly requested in config if (req := config.general.processes) and process_name not in req: logger.info( diff --git a/user/cuts.py b/user/cuts.py index 0fafd0f..a84c4dd 100644 --- a/user/cuts.py +++ b/user/cuts.py @@ -379,12 +379,11 @@ def Zprime_softcuts_jax_workshop( "lep_ht_cut": jax.nn.sigmoid( (lep_ht - params["lep_ht_threshold"]) / 5.0 ), - "nn_cut": jax.nn.sigmoid((nn_score - 0.05) * 10.0), + #"nn_cut": jax.nn.sigmoid((nn_score - 0.05) * 10.0), } # --------------------- # Combine cut weights multiplicatively (AND logic) # --------------------- - print(cuts) cut_values = jnp.stack([v for k, v in cuts.items()]) selection_weight = jnp.prod(cut_values, axis=0) return selection_weight diff --git a/user/skim.py b/user/skim.py index 5c696ce..a88ec86 100644 --- a/user/skim.py +++ b/user/skim.py @@ -102,11 +102,11 @@ def default_skim_selection(muons, puppimet, hlt): # Individual cuts selection.add("trigger", hlt.TkMu50) - selection.add("exactly_1_good_muon", muon_count == 1) + #selection.add("exactly_1_good_muon", muon_count == 1) selection.add("met_cut", puppimet.pt > 50) # Combined skimming selection - selection.add("skim", selection.all("trigger", "exactly_1_good_muon", "met_cut")) + selection.add("skim", selection.all("trigger", "met_cut")) return selection diff --git a/utils/logging.py b/utils/logging.py index fd6f0cb..40548a6 100644 --- a/utils/logging.py +++ b/utils/logging.py @@ -55,7 +55,7 @@ def setup_logging(level: str = "INFO") -> None: }) console = Console(theme=custom_theme) - handler = RichHandler(console=console, rich_tracebacks=True, show_time=False, markup=False) #, level_styles=level_styles) + handler = RichHandler(console=console, rich_tracebacks=True, show_time=True, markup=False) #, level_styles=level_styles) handler.setFormatter( logging.Formatter("%(message)s") ) diff --git a/utils/skimming.py b/utils/skimming.py index dd88d1b..19096a2 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -58,8 +58,8 @@ def __init__(self, config: SkimmingConfig): logger.info("Initialized configurable skimming manager") # Validate configuration - if not config.nanoaod_selection and not config.uproot_cut_string: - raise ValueError("Either nanoaod_selection or uproot_cut_string must be provided") + # if not config.nanoaod_selection and not config.uproot_cut_string: + # raise ValueError("Either nanoaod_selection or uproot_cut_string must be provided") @@ -499,17 +499,17 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana # Create skimming manager - always available skimming_manager = ConfigurableSkimmingManager(config.preprocess.skimming) - # Log which mode is being used - if skimming_manager.config.nanoaod_selection: - logger.debug(f"Using NanoAOD/DAK skimming mode for {dataset}") - elif skimming_manager.config.uproot_cut_string: - logger.debug(f"Using uproot skimming mode for {dataset}") - logger.info(f"🚀 Processing dataset: {dataset}") + total_per_dataset = 0 # Loop over ROOT files associated with the dataset for idx, (file_path, tree) in enumerate(content["files"].items()): # Run skimming if enabled if config.general.run_skimming: + # Log which mode is being used + if skimming_manager.config.nanoaod_selection: + logger.debug(f"Using NanoAOD/DAK skimming mode for {dataset}") + elif skimming_manager.config.uproot_cut_string: + logger.debug(f"Using uproot skimming mode for {dataset}") skimming_manager.skim( input_path=file_path, tree=tree, @@ -521,30 +521,32 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana # Discover skimmed files using skimming manager skimmed_files = skimming_manager.discover_skimmed_files(dataset, idx) - - # Process each skimmed file - for skimmed_file in skimmed_files: - cache_key = hashlib.md5(skimmed_file.encode()).hexdigest() - cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") - - # Handle caching: process and cache, read from cache, or skip - if config.general.read_from_cache and os.path.exists(cache_file): - logger.info(f"Reading cached events for {skimmed_file}") - with open(cache_file, "rb") as f: - events = cloudpickle.load(f) - else: - logger.info(f"Processing {skimmed_file}") - events = NanoEventsFactory.from_root( - skimmed_file, schemaclass=NanoAODSchema, - mode="eager", - ).events() - # Cache the events if not reading from cache - if not config.general.read_from_cache: - os.makedirs(cache_dir, exist_ok=True) - with open(cache_file, "wb") as f: - cloudpickle.dump(events, f) - - processed_events.append((events, metadata.copy())) - processed_datasets[dataset] = processed_events - + total_per_dataset += len(skimmed_files) + + # # Process each skimmed file + # for skimmed_file in skimmed_files: + # cache_key = hashlib.md5(skimmed_file.encode()).hexdigest() + # cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") + + # # Handle caching: process and cache, read from cache, or skip + # if config.general.read_from_cache and os.path.exists(cache_file): + # logger.info(f"Reading cached events for {skimmed_file}") + # with open(cache_file, "rb") as f: + # events = cloudpickle.load(f) + # else: + # logger.info(f"Processing {skimmed_file}") + # events = NanoEventsFactory.from_root( + # skimmed_file, schemaclass=NanoAODSchema, + # mode="eager", + # ).events() + # # Cache the events if not reading from cache + # if not config.general.read_from_cache: + # os.makedirs(cache_dir, exist_ok=True) + # with open(cache_file, "wb") as f: + # cloudpickle.dump(events, f) + + # processed_events.append((events, metadata.copy())) + #processed_datasets[dataset] = processed_events + print(f"Dataset {dataset} has {total_per_dataset} skimmed files") + exit(1) return processed_datasets diff --git a/utils/workitem_skimming.py b/utils/workitem_skimming.py index 4f937e5..bffc57a 100644 --- a/utils/workitem_skimming.py +++ b/utils/workitem_skimming.py @@ -694,8 +694,10 @@ def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, if nevts == 0: logger.warning(f"Could not find nevts for dataset {dataset}, using 0") - # Load events from each discovered file (like the old process_fileset_with_skimming) - processed_events = [] + # Load and merge events from all discovered files + all_events = [] + total_events_loaded = 0 + for file_path in output_files: try: # Load events using NanoEventsFactory (same as old function) @@ -703,17 +705,38 @@ def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, file_path, schemaclass=NanoAODSchema, mode="eager" ).events() events = ak.materialize(events) # Ensure data is loaded into memory - print(events[1]) - processed_events.append((events, metadata.copy())) - logger.debug(f"Loaded events from {file_path}") + all_events.append(events) + total_events_loaded += len(events) + logger.debug(f"Loaded {len(events)} events from {file_path}") except Exception as e: logger.error(f"Failed to load events from {file_path}: {e}") continue - print(processed_events) - processed_datasets[dataset] = processed_events + # Merge all events into a single array if we have any events + if all_events: + try: + if len(all_events) == 1: + # Single file, no need to concatenate + merged_events = all_events[0] + else: + # Multiple files, concatenate them + merged_events = ak.concatenate(all_events, axis=0) + + logger.info(f"Merged {len(output_files)} files into {len(merged_events)} total events for dataset {dataset}") + processed_datasets[dataset] = [(merged_events, metadata.copy())] + + except Exception as e: + logger.error(f"Failed to merge events for dataset {dataset}: {e}") + # Fallback to individual events if merging fails + processed_events = [] + for i, events in enumerate(all_events): + processed_events.append((events, metadata.copy())) + logger.debug(f"Added individual events chunk {i} as fallback") + processed_datasets[dataset] = processed_events else: logger.warning(f"No output files found for dataset {dataset}") processed_datasets[dataset] = [] return processed_datasets +''' +''' \ No newline at end of file From 6ee7c545bae86a9adfbe63e7e87d02615d61773d Mon Sep 17 00:00:00 2001 From: maly Date: Fri, 5 Sep 2025 11:01:26 +0200 Subject: [PATCH 15/24] caching --- utils/skimming.py | 52 +++++++++++++++++++------------------- utils/workitem_skimming.py | 51 ++++++++++++++++++++++++++++++------- 2 files changed, 68 insertions(+), 35 deletions(-) diff --git a/utils/skimming.py b/utils/skimming.py index 19096a2..cfb9a0c 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -523,30 +523,30 @@ def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_ana skimmed_files = skimming_manager.discover_skimmed_files(dataset, idx) total_per_dataset += len(skimmed_files) - # # Process each skimmed file - # for skimmed_file in skimmed_files: - # cache_key = hashlib.md5(skimmed_file.encode()).hexdigest() - # cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") - - # # Handle caching: process and cache, read from cache, or skip - # if config.general.read_from_cache and os.path.exists(cache_file): - # logger.info(f"Reading cached events for {skimmed_file}") - # with open(cache_file, "rb") as f: - # events = cloudpickle.load(f) - # else: - # logger.info(f"Processing {skimmed_file}") - # events = NanoEventsFactory.from_root( - # skimmed_file, schemaclass=NanoAODSchema, - # mode="eager", - # ).events() - # # Cache the events if not reading from cache - # if not config.general.read_from_cache: - # os.makedirs(cache_dir, exist_ok=True) - # with open(cache_file, "wb") as f: - # cloudpickle.dump(events, f) - - # processed_events.append((events, metadata.copy())) - #processed_datasets[dataset] = processed_events - print(f"Dataset {dataset} has {total_per_dataset} skimmed files") - exit(1) + # Process each skimmed file + for skimmed_file in skimmed_files: + cache_key = hashlib.md5(skimmed_file.encode()).hexdigest() + cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") + + # Handle caching: process and cache, read from cache, or skip + if config.general.read_from_cache and os.path.exists(cache_file): + logger.info(f"Reading cached events for {skimmed_file}") + with open(cache_file, "rb") as f: + events = cloudpickle.load(f) + else: + logger.info(f"Processing {skimmed_file}") + events = NanoEventsFactory.from_root( + skimmed_file, schemaclass=NanoAODSchema, + mode="eager", + ).events() + # Cache the events if not reading from cache + if not config.general.read_from_cache: + os.makedirs(cache_dir, exist_ok=True) + with open(cache_file, "wb") as f: + cloudpickle.dump(events, f) + + processed_events.append((events, metadata.copy())) + processed_datasets[dataset] = processed_events + logger.info(f"Dataset {dataset} has {total_per_dataset} skimmed files") + return processed_datasets diff --git a/utils/workitem_skimming.py b/utils/workitem_skimming.py index bffc57a..5c9137d 100644 --- a/utils/workitem_skimming.py +++ b/utils/workitem_skimming.py @@ -13,19 +13,21 @@ 5. Save outputs using the same patterns as existing code """ +import hashlib import logging import os from pathlib import Path from typing import Any, Dict, List, Optional, Set, Union from collections import defaultdict +import awkward as ak +import cloudpickle import dask.bag import hist import uproot from coffea.nanoevents import NanoAODSchema, NanoEventsFactory from coffea.processor.executor import WorkItem from tabulate import tabulate -import awkward as ak from utils.schema import SkimmingConfig from utils.tools import get_function_arguments @@ -601,11 +603,12 @@ def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, nanoaods_summary: Optional[Dict[str, Any]] = None, cache_dir: str = "/tmp/gradients_analysis/") -> Dict[str, Any]: """ - Process workitems using the workitem-based skimming approach. + Process workitems using the workitem-based skimming approach with event merging and caching. This function serves as the main entry point for the workitem-based preprocessing workflow. - It processes workitems (if skimming is enabled) and then discovers and reads from the - saved files for analysis. + It processes workitems (if skimming is enabled) and then discovers, merges, and caches events + from the saved files for analysis. Events from multiple output files per dataset are + automatically merged into a single NanoEvents object for improved performance and memory efficiency. Parameters ---------- @@ -618,14 +621,15 @@ def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, nanoaods_summary : Optional[Dict[str, Any]], default None NanoAODs summary containing event counts per dataset for nevts metadata cache_dir : str, default "/tmp/gradients_analysis/" - Directory for caching (maintained for compatibility, not used in workitem processing) + Directory for caching merged events. Cached files use the pattern: + {cache_dir}/{dataset}__{hash}.pkl where hash is based on input file paths Returns ------- Dict[str, List[Tuple[Any, Dict[str, Any]]]] - Dictionary mapping dataset names to lists of (events, metadata) tuples. + Dictionary mapping dataset names to lists containing a single (events, metadata) tuple. + Events are merged NanoEvents objects from all output files for the dataset. Each metadata dictionary contains dataset, process, variation, and xsec information. - Events are loaded NanoEvents objects ready for analysis. """ logger.info(f"Starting workitem-based preprocessing with {len(workitems)} workitems") @@ -694,6 +698,26 @@ def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, if nevts == 0: logger.warning(f"Could not find nevts for dataset {dataset}, using 0") + # Create cache key for the merged dataset + # Use sorted file paths to ensure consistent cache key + sorted_files = sorted(output_files) + cache_input = f"{dataset}::{':'.join(sorted_files)}" + cache_key = hashlib.md5(cache_input.encode()).hexdigest() + cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") + + # Check if we should read from cache + if config.general.read_from_cache and os.path.exists(cache_file): + logger.info(f"Reading cached merged events for dataset {dataset}") + try: + with open(cache_file, "rb") as f: + merged_events = cloudpickle.load(f) + logger.info(f"Loaded {len(merged_events)} cached events for dataset {dataset}") + processed_datasets[dataset] = [(merged_events, metadata.copy())] + continue # Skip to next dataset + except Exception as e: + logger.error(f"Failed to load cached events for {dataset}: {e}") + # Fall back to loading from files + # Load and merge events from all discovered files all_events = [] total_events_loaded = 0 @@ -723,6 +747,17 @@ def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, merged_events = ak.concatenate(all_events, axis=0) logger.info(f"Merged {len(output_files)} files into {len(merged_events)} total events for dataset {dataset}") + + # Cache the merged events if not reading from cache + #if not config.general.read_from_cache: + try: + os.makedirs(cache_dir, exist_ok=True) + with open(cache_file, "wb") as f: + cloudpickle.dump(merged_events, f) + logger.info(f"Cached merged events for dataset {dataset}") + except Exception as e: + logger.warning(f"Failed to cache events for {dataset}: {e}") + processed_datasets[dataset] = [(merged_events, metadata.copy())] except Exception as e: @@ -738,5 +773,3 @@ def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, processed_datasets[dataset] = [] return processed_datasets -''' -''' \ No newline at end of file From fc733721bd50c0f462ea536d48437f2a08c63652 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 20:58:51 +0200 Subject: [PATCH 16/24] logging improvements --- analysis.py | 10 +-- analysis/diff.py | 164 ++++++++++++++++++++++++------------------ user/configuration.py | 2 +- utils/logging.py | 89 +++++++++++++++++------ utils/mva.py | 2 +- 5 files changed, 166 insertions(+), 101 deletions(-) diff --git a/analysis.py b/analysis.py index 91f2c64..d150ed0 100644 --- a/analysis.py +++ b/analysis.py @@ -56,7 +56,7 @@ def main(): # Process workitems with skimming and get processed events # processed_datasets = process_fileset_with_skimming(config, fileset) - log_banner("WORKITEM-BASED SKIMMING AND PROCESSING") + logger.info(log_banner("WORKITEM-BASED SKIMMING AND PROCESSING")) #Get workitems from the metadata generator workitems = generator.workitems @@ -73,20 +73,20 @@ def main(): #processed_datasets = {k: v for k,v in processed_datasets.items() if "signal" in k} analysis_mode = config.general.analysis if analysis_mode == "skip": - log_banner("Skim-Only Mode: Skimming Complete") + logger.info(log_banner("Skim-Only Mode: Skimming Complete")) logger.info("✅ Skimming completed successfully. Analysis skipped as requested.") logger.info(f"Skimmed files are available in the configured output directories.") return elif analysis_mode == "nondiff": - log_banner("Running Non-Differentiable Analysis") + logger.info(log_banner("Running Non-Differentiable Analysis")) nondiff_analysis = NonDiffAnalysis(config, processed_datasets) nondiff_analysis.run_analysis_chain() elif analysis_mode == "diff": - log_banner("Running Differentiable Analysis") + logger.info(log_banner("Running Differentiable Analysis")) diff_analysis = DifferentiableAnalysis(config, processed_datasets) diff_analysis.run_analysis_optimisation() else: # "both" - log_banner("Running both Non-Differentiable and Differentiable Analysis") + logger.info(log_banner("Running both Non-Differentiable and Differentiable Analysis")) # Non-differentiable analysis logger.info("Running Non-Differentiable Analysis") nondiff_analysis = NonDiffAnalysis(config, processed_datasets) diff --git a/analysis/diff.py b/analysis/diff.py index 79b06d5..ffa17a6 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -35,9 +35,11 @@ # ============================================================================= from analysis.base import Analysis from user.cuts import lumi_mask -# from utils.jax_stats import build_channel_data_scalar, compute_discovery_pvalue -from utils.evm_stats import build_channel_data_scalar, compute_discovery_pvalue, fit_params -from utils.logging import BLUE, GREEN, RED, RESET, log_banner +from utils.jax_stats import build_channel_data_scalar, compute_discovery_pvalue +from utils.evm_stats import fit_params #build_channel_data_scalar, compute_discovery_pvalue, +from utils.logging import BLUE, GREEN, RED, RESET, log_banner, get_console +from rich.table import Table +from rich.text import Text from utils.mva import JAXNetwork, TFNetwork from utils.plot import ( create_cms_histogram, @@ -236,23 +238,27 @@ def _log_parameter_update( p_value_change_initial = 0.0 p_value_row.append(f"{p_value_change_initial:+.2f}%") - # Colour green for improvement (decrease), red for worsening (increase) + # Get console for Rich output + console = get_console() + + # Create Rich Table for p-values + p_value_table = Table(show_header=True, header_style="bold") + for header in p_value_headers: + p_value_table.add_column(header) + + # Determine color for p-value row if new_p_value < old_p_value: - p_value_row_coloured = [ - f"{GREEN}{item}{RESET}" for item in p_value_row - ] + # Green for improvement (decrease) + colored_row = [Text(item, style="green") for item in p_value_row] elif new_p_value > old_p_value: - p_value_row_coloured = [f"{RED}{item}{RESET}" for item in p_value_row] + # Red for worsening (increase) + colored_row = [Text(item, style="red") for item in p_value_row] else: - p_value_row_coloured = p_value_row - p_value_table = tabulate( - [p_value_row_coloured], headers=p_value_headers, tablefmt="grid" - ) + colored_row = [Text(item, style="white") for item in p_value_row] - # --- Parameter Table --- - table_data = [] - headers = ["Parameter", "Old Value", "New Value", "% Change"] + p_value_table.add_row(*colored_row) + # --- Parameter Table --- # Create a map from MVA name to its config for easy lookup mva_config_map = {mva.name: mva for mva in mva_configs or []} @@ -265,6 +271,15 @@ def _log_parameter_update( else {} ) + # Create Rich Table for parameters + param_headers = ["Parameter", "Old Value", "New Value", "% Change"] + if initial_params: + param_headers.append("% Change from Initial") + + param_table = Table(show_header=True, header_style="bold") + for header in param_headers: + param_table.add_column(header) + for name, old_val in sorted(all_old_params.items()): new_val = all_new_params[name] initial_val = all_initial_params.get(name, 0.0) @@ -308,8 +323,8 @@ def _log_parameter_update( else: percent_change = float("inf") if new_param != 0 else 0.0 - # Format for table - row = [ + # Create row data + row_data = [ name_display, f"{old_param:.4f}", f"{new_param:.4f}", @@ -317,8 +332,7 @@ def _log_parameter_update( ] # Calculate percentage change from initial - if initial_param is None: - headers.append("% Change from Initial") + if initial_params: if initial_param != 0: percent_change_from_initial = ( (new_param - initial_param) / initial_param @@ -327,15 +341,17 @@ def _log_parameter_update( percent_change_from_initial = ( float("inf") if new_param != 0 else 0.0 ) + row_data.append(f"{percent_change_from_initial:+.2f}%") - row.append(f"{percent_change_from_initial:+.2f}%") - - # Colour the row blue if the parameter value has changed + # Color the row green if the parameter value has changed, otherwise white if not np.allclose(old_param, new_param, atol=1e-6, rtol=1e-5): - row = [f"{BLUE}{item}{RESET}" for item in row] + colored_row = [Text(item, style="green") for item in row_data] + else: + colored_row = [Text(item, style="white") for item in row_data] - table_data.append(row) + param_table.add_row(*colored_row) + # Format header if isinstance(step, int): header = f"STEP {step:3d}" else: @@ -344,12 +360,18 @@ def _log_parameter_update( else: header = "" - if not table_data: - logger.info(f"\n{header}\n{p_value_table}\n(No parameters to log)") - return + # Print using Rich console directly + if header: + console.print(f"\n{header}") + + console.print(p_value_table) + + if param_table.row_count > 0: + console.print(param_table) + else: + console.print("(No parameters to log)") - table_str = tabulate(table_data, headers=headers, tablefmt="grid") - logger.info(f"\n{header}\n{p_value_table}\n{table_str}\n") + console.print() # Add newline # ----------------------------------------------------------------------------- @@ -781,7 +803,7 @@ def _prepare_dirs(self) -> None: def _log_config_summary(self) -> None: """Logs a structured summary of the key analysis configuration options.""" - log_banner("Differentiable Analysis Configuration Summary") + logger.info(log_banner("Differentiable Analysis Configuration Summary")) # --- General Settings --- general_cfg = self.config.general @@ -795,7 +817,8 @@ def _log_config_summary(self) -> None: ] logger.info( "General Settings:\n" - + tabulate(general_data, tablefmt="grid", stralign="left") + + tabulate(general_data, tablefmt="rounded_outline", stralign="left") + + "\n" ) # --- Channels --- @@ -809,8 +832,9 @@ def _log_config_summary(self) -> None: + tabulate( channel_data, headers=["Name", "Fit Observable"], - tablefmt="grid", + tablefmt="rounded_outline", ) + + "\n" ) # --- Processes --- @@ -823,7 +847,10 @@ def _log_config_summary(self) -> None: if self.config.general.processes: processes = [p for p in processes if p in self.config.general.processes] processes_data = [[p] for p in processes] - logger.info("Processes Included:\n" + tabulate(processes_data, headers=["Process"], tablefmt="grid")) + logger.info("Processes Included:\n" + + tabulate(processes_data, headers=["Process"], tablefmt="rounded_outline") + + "\n" + ) # --- Systematics --- if self.config.general.run_systematics: @@ -838,8 +865,8 @@ def _log_config_summary(self) -> None: + tabulate( syst_data, headers=["Systematic", "Type"], - tablefmt="grid", - ) + tablefmt="rounded_outline") + + "\n" ) if not self.config.jax: @@ -855,7 +882,8 @@ def _log_config_summary(self) -> None: ] logger.info( "Optimisation Settings:\n" - + tabulate(jax_data, tablefmt="grid", stralign="left") + + tabulate(jax_data, tablefmt="rounded_outline", stralign="left") + + "\n" ) # --- Optimisable Parameters --- @@ -871,7 +899,8 @@ def _log_config_summary(self) -> None: if params_data: logger.info( "Initial Optimisable Parameters:\n" - + tabulate(params_data, headers=headers, tablefmt="grid") + + tabulate(params_data, headers=headers, tablefmt="rounded_outline") + + "\n" ) # --- Learning Rates --- @@ -884,8 +913,9 @@ def _log_config_summary(self) -> None: + tabulate( lr_data, headers=["Parameter", "Learning Rate"], - tablefmt="grid", + tablefmt="rounded_outline", ) + + "\n" ) # --- MVA Models --- @@ -918,7 +948,8 @@ def _log_config_summary(self) -> None: ) logger.info( "MVA Models:\n" - + tabulate(mva_data, headers=headers, tablefmt="grid") + + tabulate(mva_data, headers=headers, tablefmt="rounded_outline") + + "\n" ) # ------------------------------------------------------------------------- @@ -1390,15 +1421,16 @@ def _histogramming( return histograms for channel in self.channels: - logger.info(f"Processing channel {channel.name}...") + channel_name = channel.name # Skip channels not participating in differentiable analysis if not channel.use_in_diff: warning_logger( - f"Skipping channel {channel.name} (use_in_diff=False)" + f"Skipping channel {channel_name}" ) continue - channel_name = channel.name + info_logger(f"Processing channel {channel_name}...") + # Skip if channel is not listed in requested channels if ( @@ -1478,9 +1510,7 @@ def _histogramming( info_logger( f"Histogramming: {process} | {variation} | {channel_name} | " f"{obs_name} | Events (Raw): {nevents:,} | " - f"Events(Weighted): {ak.sum(weights):,.2f}" - f"{obs_name} | Events (Raw): {nevents:,} | " - f"Events(Weighted): {ak.sum(weights):.2f}" + f"Events (Weighted): {ak.sum(weights):,.2f}" ) # Evaluate observable function @@ -1565,7 +1595,7 @@ def _collect_histograms( all_histograms = defaultdict(lambda: defaultdict(dict)) process = metadata["process"] xsec = metadata["xsec"] - n_gen = 1.0 #metadata["nevts"] + n_gen = metadata["nevts"] lumi = self.config["general"]["lumi"] # Calculate cross-section weight for MC (unit weight for data) @@ -1707,9 +1737,8 @@ def _run_traced_analysis_chain( info_logger = logger.info if not silent else logger.debug info_logger( log_banner( - "📊 Starting histogram collection and p-value calculation..." - ) - ) + "📊 Starting histogram collection and p-value calculation..." + )) histograms_by_process = defaultdict(dict) # ------------------------------------------------------------------------- @@ -1720,7 +1749,7 @@ def _run_traced_analysis_chain( info_logger( f" ⏳ Processing dataset: {dataset_name} " - f"(process: {process_name}, files: {len(dataset_files)})" + f"(process: {process_name})" ) # Ensure process histogram container exists @@ -1758,7 +1787,7 @@ def _run_traced_analysis_chain( # Compute statistical p-value from histograms # ------------------------------------------------------------------------- info_logger( - " ✅ Histogram collection complete. Starting p-value calculation..." + "✅ Histogram collection complete. Starting p-value calculation..." ) pvalue, aux = self._calculate_pvalue( histograms_by_process, params["fit"], silent=silent @@ -1806,7 +1835,7 @@ def _prepare_data( } summary_data = [] - log_banner("Processing skimmed data") + logger.info(log_banner("Processing skimmed data")) # Prepare dictionary to collect MVA training data mva_data: dict[str, dict[str, list[Tuple[dict, int]]]] = defaultdict( @@ -1968,7 +1997,7 @@ def record_mva_entry( + tabulate( [formatted_row], headers=headers, - tablefmt="grid", + tablefmt="rounded_outline", stralign="right", ) + "\n" @@ -1995,7 +2024,7 @@ def record_mva_entry( logger.info( "📊 Data Processing Summary\n" + tabulate( - table_data, headers=headers, tablefmt="grid", stralign="right" + table_data, headers=headers, tablefmt="rounded_outline", stralign="right" ) + "\n" ) @@ -2013,7 +2042,7 @@ def record_mva_entry( self.config.general.run_mva_training and (mva_cfg := self.config.mva) is not None ): - log_banner("Executing MVA Pre-training") + logger.info(log_banner("Executing MVA Pre-training")) models, nets = self._run_mva_training(mva_data) # Save trained models and attach to processed data @@ -2123,9 +2152,7 @@ def run_analysis_optimisation( # --------------------------------------------------------------------- # 3. Run initial traced analysis to compute KDE histograms # --------------------------------------------------------------------- - logger.info( - log_banner("Running initial p-value computation (traced)") - ) + logger.info(log_banner("Running initial p-value computation (traced)")) initial_pvalue, (mle_parameters, mle_parameters_uncertainties) = self._run_traced_analysis_chain( all_parameters, processed_data ) @@ -2155,9 +2182,7 @@ def run_analysis_optimisation( # ---------------------------------------------------------------------- # Compute gradients to seed optimiser # ---------------------------------------------------------------------- - logger.info( - log_banner("Computing parameter gradients before optimisation") - ) + logger.info(log_banner("Computing parameter gradients before optimisation")) (_, _), gradients = jax.value_and_grad( self._run_traced_analysis_chain, @@ -2168,7 +2193,7 @@ def run_analysis_optimisation( # ---------------------------------------------------------------------- # Prepare for optimisation # ---------------------------------------------------------------------- - log_banner("Preparing for parameter optimisation") + logger.info(log_banner("Preparing for parameter optimisation")) # Define objective for optimiser (p-value to minimise) def objective( @@ -2228,7 +2253,7 @@ def objective( )(all_parameters) # Set up optimisation loop - log_banner("Beginning parameter optimisation") + logger.info(log_banner("Beginning parameter optimisation")) initial_params = all_parameters.copy() pval_history = [] aux_history = { @@ -2326,7 +2351,7 @@ def optimise_and_log( ) # Log final summary table comparing initial and final states - log_banner("Optimisation results") + logger.info(log_banner("Optimisation results")) _log_parameter_update( step="", old_p_value=float(initial_pvalue), @@ -2339,11 +2364,9 @@ def optimise_and_log( # ---------------------------------------------------------------------- # Prepare post-optimisation histograms # ---------------------------------------------------------------------- - logger.info( - log_banner( - "Running analysis chain with optimised parameters (untraced)" - ) - ) + logger.info(log_banner( + "Running analysis chain with optimised parameters (untraced)" + )) # Run the traced analysis chain with final parameters _ = self._run_traced_analysis_chain(final_params, processed_data) @@ -2401,7 +2424,7 @@ def optimise_and_log( with open(path, "wb") as f: pickle.dump(jax.tree.map(np.array, optimised_nn_params), f) - log_banner("Making plots and summaries") + logger.info(log_banner("Making plots and summaries")) # --------------------------------------------------------------------- # 4. Reload results and generate summary plots # --------------------------------------------------------------------- @@ -2421,7 +2444,6 @@ def optimise_and_log( final_mva_scores = results["final_mva_scores"] initial_mva_scores = results["initial_mva_scores"] - log_banner("Generating parameter evolution plots") # Generate optimisation progress plots if self.config.jax.explicit_optimisation: logger.info("Generating parameter history plots") diff --git a/user/configuration.py b/user/configuration.py index eb078af..1b50926 100644 --- a/user/configuration.py +++ b/user/configuration.py @@ -251,7 +251,7 @@ { "name": "wjets_vs_ttbar_nn", "use_in_diff": True, - "epochs": 2, + "epochs": 500, "framework": "jax", # keras/tf/... if TF need more info # (e.g. Model: Sequential layers: Dense) "validation_split": 0.2, diff --git a/utils/logging.py b/utils/logging.py index 40548a6..8229eb2 100644 --- a/utils/logging.py +++ b/utils/logging.py @@ -1,42 +1,81 @@ import logging -from typing import Any, Dict, List, Optional, Tuple +from typing import Optional from rich.logging import RichHandler -from rich.text import Text from rich.console import Console -from rich.pretty import Pretty from rich.theme import Theme -from rich.style import Style -from tabulate import tabulate +from rich.markup import escape -# ANSI escape codes for colors +# ANSI escape codes for colors (kept for backward compatibility) BLUE = "\033[0;34m" -YELLOW = "\033[1;33m" RED = "\033[0;31m" -MAGENTA = "\033[95m" GREEN = "\033[0;32m" RESET = "\033[0m" -def log_banner(text: str) -> None: + +# ============================================================================= +# Console Management +# ============================================================================= + +_console = None + +def get_console() -> Console: + """Get the global Rich console instance for direct Rich output.""" + global _console + if _console is None: + custom_theme = Theme({ + "repr.path": "default", # no color for paths + "repr.filename": "default", + "log.message": "default", + }) + _console = Console(theme=custom_theme) + return _console + + +# ============================================================================= +# Specialized Logging Functions +# ============================================================================= + +def log_banner(text: str) -> str: """ - Logs a magenta-colored banner. + Returns a magenta-colored banner string for use with logger. + + This function creates a formatted banner with Rich markup that will be + properly rendered by the RichHandler when logged. Parameters ---------- text : str The text to display in the banner. + + Returns + ------- + str + Formatted banner string with Rich markup. """ - console = Console(theme=Theme({"log.message": "magenta", "repr.path": "white"})) + # Escape the text to prevent Rich from interpreting it as markup + upper_text = text.upper() + escaped_text = escape(upper_text) + + # Use original text length for centering calculation + banner_text = (f"{'=' * 80}\n" + f"{ ' ' * ((80 - len(upper_text)) // 2)}{escaped_text}\n" + f"{ '=' * 80}" + ) + return f"[magenta]{banner_text}[/magenta]" - text = (f"\n{'=' * 80}\n" - f"{ ' ' * ((80 - len(text)) // 2)}{text.upper()}\n" - f"{ '=' * 80}" - ) - console.print(text, style="log.message") + +# ============================================================================= +# Logger Setup +# ============================================================================= def setup_logging(level: str = "INFO") -> None: """ - Sets up logging with RichHandler. + Sets up logging with RichHandler configured for this project. + + The RichHandler is configured with markup enabled to support colored + banners and tables, but regular log messages should avoid using markup + unless specifically intended. Parameters ---------- @@ -49,13 +88,17 @@ def setup_logging(level: str = "INFO") -> None: if log.handlers: return - custom_theme = Theme({ - "repr.path": "default", # no color for paths - "repr.filename": "default", - }) + # Use the global console instance for consistency + console = get_console() - console = Console(theme=custom_theme) - handler = RichHandler(console=console, rich_tracebacks=True, show_time=True, markup=False) #, level_styles=level_styles) + # Configure RichHandler with markup enabled for banners and tables + handler = RichHandler( + console=console, + rich_tracebacks=True, + show_time=True, + markup=True, # Enable markup for banners and tables + log_time_format="%H:%M:%S", + ) handler.setFormatter( logging.Formatter("%(message)s") ) diff --git a/utils/mva.py b/utils/mva.py index 50ff266..8288d23 100644 --- a/utils/mva.py +++ b/utils/mva.py @@ -830,7 +830,7 @@ def train( parameters, valid_x, valid_y ) msg += f", val_acc={val_acc:.4f}" - print(msg) + logger.info(msg) self.parameters = parameters return self.parameters From c2c4be3acaf5dc96b030bcc8cce1ecaa8b9d04c1 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 22:03:13 +0200 Subject: [PATCH 17/24] fix pixi environment to restore evermore working --- pixi.lock | 1798 +++++++++++++++++++++++++++-------------------------- pixi.toml | 2 +- 2 files changed, 922 insertions(+), 878 deletions(-) diff --git a/pixi.lock b/pixi.lock index 4539374..72ac7d2 100644 --- a/pixi.lock +++ b/pixi.lock @@ -38,27 +38,27 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.13.0-h3cf044e_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.8.0-h736e048_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.12.0-ha633028_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.7.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/boost-histogram-1.6.1-py312h0a2e395_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h1289d80_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cabinetry-0.6.0-pyhff2d567_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h35888ee_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.91-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/correctionlib-2.7.0-py312ha04a795_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cramjam-2.11.0-py312h848b54d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cramjam-2.11.0-py312h848b54d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.0.1-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.3.0-pyhd8ed1ab_0.conda @@ -71,26 +71,26 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/etils-1.12.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/evermore-0.3.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.59.1-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.59.2-py312h8a5da7c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.13.3-ha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py312h447239a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-xrootd-0.5.1-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-2.9.0-pyhb7efba9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-base-2.9.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/histoprint-2.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.31.1-py312h8285ef7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.31.1-py312h8285ef7_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.7.0-h40b2b14_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.4.0-pyhfa0c392_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.5.0-pyhfa0c392_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jax-0.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jaxlib-0.7.0-cpu_py312h73730d4_0.conda @@ -98,13 +98,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jaxtyping-0.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.25.1-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.4.1-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1423503_1.conda @@ -114,11 +114,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-20.0.0-hcb10f89_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-20.0.0-hcb10f89_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-20.0.0-h1bed206_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-34_h59b9bed_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-34_he106b2a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-35_h59b9bed_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-35_he106b2a_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.14.1-h332b0f4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda @@ -129,19 +129,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.13.3-ha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.13.3-h48d6fc4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.36.0-hc4361e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.36.0-h0121fbd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.71.0-h8e591d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-34_h7ac8fdf_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-35_h7ac8fdf_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hd1b1c89_0.conda @@ -152,8 +152,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2025.06.26-hba17884_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.21.0-h0e7cc3e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.0-h8261f1e_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.10.0-h202a827_0.conda @@ -164,22 +164,22 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.8-h2cb61b6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lineax-0.0.7-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.44.0-py312h374181b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.44.0-py312he100287_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312hf0f0c11_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312h5d89b6d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.5-py312he3d6523_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.6-py312he3d6523_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.1-py312hf9745cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.1-py312hf79963d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep_data-0.0.4-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.1-py312h68727a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.1-py312hd9148b4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.6.3-py312h178313f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.1.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h3f2d84a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numba-0.61.2-py312h7bcfee6_1.conda @@ -193,13 +193,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.1.2-h17f744e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.2-py312hf79963d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h80c1187_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h0e488c8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py312h178313f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.0.0-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda @@ -228,10 +228,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.36.2-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.1.0-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.27.0-py312h868fb18_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.27.1-py312h868fb18_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.22-h96f233e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.7.1-py312h4f0b9e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.1-py312h4ebe9ca_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.1-py312h7a1785b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scitokens-cpp-1.1.3-h6ac2c77_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda @@ -244,17 +244,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.9-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.1-h4440ef1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.10-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.1-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uhi-1.0.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h66e93f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.4-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/vector-1.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wadler-lindig-0.1.7-pyhe01879c_0.conda @@ -269,7 +269,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.24.0-py312h3fa7853_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda - pypi: git+https://github.com/pfackeldey/relaxed.git?branch=fixes_for_zprime#b5f5ca674cf49e6d48f60a53a75bc35db636894d osx-arm64: @@ -301,27 +301,27 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.13.0-h7585a09_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.8.0-h9ca1f76_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.12.0-hcdd55da_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.7.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/boost-histogram-1.6.1-py312hdc12c9d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hd8f9ff3_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312h6b01ec3_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.5-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cabinetry-0.6.0-pyhff2d567_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h429097b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.91-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/correctionlib-2.7.0-py312h674a3be_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cramjam-2.11.0-py312h82c2aec_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cramjam-2.11.0-py312h82c2aec_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.0.1-py312hea69d52_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.3.0-pyhd8ed1ab_0.conda @@ -334,15 +334,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/etils-1.12.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/evermore-0.3.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.59.1-py312h6daa0e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.59.2-py312h6daa0e5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.13.3-hce30654_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.7.0-py312h512c567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-xrootd-0.5.1-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-2.9.0-pyhb7efba9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-base-2.9.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/histoprint-2.6.0-pyhd8ed1ab_0.conda @@ -350,11 +350,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/iminuit-2.31.1-py312he360a15_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/iminuit-2.31.1-py312he360a15_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.7.0-h40b2b14_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.4.0-pyhfa0c392_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.5.0-pyhfa0c392_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jax-0.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jaxlib-0.7.0-cpu_py312h1f4f324_0.conda @@ -362,12 +362,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jaxtyping-0.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.25.1-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.4.1-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.4.9-py312hdc12c9d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.4.9-py312hdc12c9d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.17-h7eeda09_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda @@ -376,14 +376,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-20.0.0-hf07054f_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-20.0.0-hf07054f_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-20.0.0-he749cb8_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-34_h10e41b3_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-34_hb3479ef_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-35_h10e41b3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-35_hb3479ef_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.14.1-h73640d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-20.1.8-hf598326_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-21.1.0-hf598326_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.24-h5773f1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda @@ -392,16 +392,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.13.3-hce30654_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.13.3-h1d14073_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.1.0-hfdf1602_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.1.0-hb74de2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.1.0-hfdf1602_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.1.0-hb74de2c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.36.0-h9484b08_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.36.0-h7081f7f_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.71.0-h857da87_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-h23cfdf5_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.0-h5505292_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-34_hc9a63f6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-35_hc9a63f6_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.67.0-hc438710_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.30-openmp_h60d53f8_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-h0181452_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_0.conda @@ -420,23 +420,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.8-h4a9ca0c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lineax-0.0.7-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-20.1.8-hbb9b287_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmlite-0.44.0-py312h728bc31_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-21.1.0-hbb9b287_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmlite-0.44.0-py312hc9b382d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.4-py312hf263c89_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.4-py312hb64cbc0_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py312h998013c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.5-py312h05635fa_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.6-py312h605b88b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ml_dtypes-0.5.1-py312hcb1e3ce_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ml_dtypes-0.5.1-py312h98f7732_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep_data-0.0.4-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.1-py312hb23fbb9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.1-py312ha0dd364_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.6.3-py312hdb8e49c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.1.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/nlohmann_json-3.12.0-ha1acc90_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numba-0.61.2-py312h22bc582_1.conda @@ -450,13 +450,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.1.2-hd90e43c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.2-py312h98f7732_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-11.3.0-py312h50aef2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-11.3.0-py312hce42e9c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.3.1-py312h998013c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.0.0-py312h163523d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pthread-stubs-0.4-hd74edd7_1002.conda @@ -485,9 +485,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.36.2-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.1.0-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.27.0-py312h6f58b40_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.27.1-py312h6f58b40_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.7.1-py312h54d6233_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.16.1-py312h286a95b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.16.1-py312h6e75237_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scitokens-cpp-1.1.3-h9f99f3a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda @@ -500,17 +500,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.2-py312h163523d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.2-py312h163523d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.9-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.1-h4440ef1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.10-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.1-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uhi-1.0.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-16.0.0-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-16.0.0-py312h163523d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.4-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/vector-1.5.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wadler-lindig-0.1.7-pyhe01879c_0.conda @@ -525,7 +525,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312hea69d52_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.24.0-py312h26de6b3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda - pypi: git+https://github.com/pfackeldey/relaxed.git?branch=fixes_for_zprime#b5f5ca674cf49e6d48f60a53a75bc35db636894d lab: @@ -537,6 +537,7 @@ environments: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_x86_64-microarch-level-1-2_x86_64.conda - conda: https://conda.anaconda.org/conda-forge/noarch/absl-py-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda @@ -572,40 +573,41 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.8.0-h736e048_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.12.0-ha633028_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.5-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyh29332c3_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.2.0-h82add2a_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.7.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/boost-histogram-1.6.1-py312h0a2e395_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h1289d80_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.5-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cabinetry-0.6.0-pyhff2d567_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h35888ee_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.91-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/correctionlib-2.7.0-py312ha04a795_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cramjam-2.11.0-py312h848b54d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.11-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cramjam-2.11.0-py312h848b54d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.0.1-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-awkward-2025.5.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-histogram-2025.2.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.16-py312h8285ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.16-py312h8285ef7_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.3.0-pyhd8ed1ab_0.conda @@ -613,17 +615,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/etils-1.12.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/evermore-0.3.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.59.1-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.59.2-py312h8a5da7c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.13.3-ha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py312h447239a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-xrootd-0.5.1-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-2.9.0-pyhb7efba9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-base-2.9.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/histoprint-2.6.0-pyhd8ed1ab_0.conda @@ -632,12 +634,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.31.1-py312h8285ef7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.31.1-py312h8285ef7_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.7.0-h40b2b14_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.30.1-pyh82676e8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.4.0-pyhfa0c392_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.5.0-pyhfa0c392_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jax-0.7.0-pyhd8ed1ab_0.conda @@ -646,24 +648,24 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jaxtyping-0.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.25.1-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.4.1-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.25.1-he01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.6-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.8.1-pyh31011fe_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.0-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.16.0-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.17.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.4.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.4.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.2.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda @@ -674,11 +676,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-20.0.0-hcb10f89_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-20.0.0-hcb10f89_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-20.0.0-h1bed206_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-34_h59b9bed_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-34_he106b2a_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-35_h59b9bed_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb03c661_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-35_he106b2a_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.14.1-h332b0f4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda @@ -689,19 +691,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.13.3-ha770c72_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.13.3-h48d6fc4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.36.0-hc4361e1_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.36.0-h0121fbd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.71.0-h8e591d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-34_h7ac8fdf_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-35_h7ac8fdf_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopentelemetry-cpp-1.21.0-hd1b1c89_0.conda @@ -713,8 +715,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.21.0-h0e7cc3e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.0-h8261f1e_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.10.0-h202a827_0.conda @@ -725,23 +727,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.8-h2cb61b6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lineax-0.0.7-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.44.0-py312h374181b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.44.0-py312he100287_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312hf0f0c11_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312h5d89b6d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.5-py312he3d6523_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.6-py312he3d6523_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.3-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.1-py312hf9745cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.1-py312hf79963d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep_data-0.0.4-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.1-py312h68727a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.1-py312hd9148b4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.6.3-py312h178313f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.1.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.6-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda @@ -763,15 +765,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.2-py312hf79963d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h80c1187_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.8-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h0e488c8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.4.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.22.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py312h178313f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.0.0-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda @@ -789,13 +791,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.11-h9e4cc4f_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.11-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.5.0-py312h0d868a3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h178313f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.0.2-py312h6748674_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.0.2-py312hfb55c3c_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2025.06.26-h9925aae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda @@ -805,10 +808,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.1.0-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.27.0-py312h868fb18_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.27.1-py312h868fb18_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.22-h96f233e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.7.1-py312h4f0b9e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.1-py312h4ebe9ca_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.1-py312h7a1785b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scitokens-cpp-1.1.3-h6ac2c77_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda @@ -816,7 +819,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.1.0-pyhd8ed1ab_0.conda @@ -827,19 +830,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py312h4c3975b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.10-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20250822-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.1-h4440ef1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.1-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uhi-1.0.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h66e93f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.4-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/vector-1.5.1-pyhd8ed1ab_0.conda @@ -855,14 +858,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2025.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.20.1-py312h178313f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3989a48_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.24.0-py312h3fa7853_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda - pypi: git+https://github.com/pfackeldey/relaxed.git?branch=fixes_for_zprime#b5f5ca674cf49e6d48f60a53a75bc35db636894d osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/absl-py-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.12.15-py312h6daa0e5_0.conda @@ -898,40 +902,41 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.8.0-h9ca1f76_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.12.0-hcdd55da_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.5-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyh29332c3_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.2.0-h82add2a_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.7.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/boost-histogram-1.6.1-py312hdc12c9d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hd8f9ff3_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312h6b01ec3_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.5-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cabinetry-0.6.0-pyhff2d567_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h429097b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.91-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/coffea-2025.7.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/correctionlib-2.7.0-py312h674a3be_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cramjam-2.11.0-py312h82c2aec_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.11-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cramjam-2.11.0-py312h82c2aec_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cytoolz-1.0.1-py312hea69d52_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-2025.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-awkward-2025.5.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-core-2025.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/dask-histogram-2025.2.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.16-py312he360a15_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.16-py312he360a15_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/distributed-2025.3.0-pyhd8ed1ab_0.conda @@ -939,17 +944,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/etils-1.12.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/evermore-0.3.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.59.1-py312h6daa0e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.59.2-py312h6daa0e5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.13.3-hce30654_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.7.0-py312h512c567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-xrootd-0.5.1-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-2.9.0-pyhb7efba9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hist-base-2.9.0-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/histoprint-2.6.0-pyhd8ed1ab_0.conda @@ -959,12 +964,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/iminuit-2.31.1-py312he360a15_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/iminuit-2.31.1-py312he360a15_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.7.0-h40b2b14_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.30.1-pyh92f572d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.4.0-pyhfa0c392_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.5.0-pyhfa0c392_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jax-0.7.0-pyhd8ed1ab_0.conda @@ -973,23 +978,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jaxtyping-0.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.33-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.25.1-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.4.1-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.25.1-he01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.6-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.8.1-pyh31011fe_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.0-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.16.0-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.17.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.4.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.4.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.4.9-py312hdc12c9d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.4.9-py312hdc12c9d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.2.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.17-h7eeda09_0.conda @@ -999,14 +1004,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-20.0.0-hf07054f_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-20.0.0-hf07054f_8_cpu.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-20.0.0-he749cb8_8_cpu.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-34_h10e41b3_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h5505292_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-34_hb3479ef_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-35_h10e41b3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h6caf38d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-35_hb3479ef_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.14.1-h73640d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-20.1.8-hf598326_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-21.1.0-hf598326_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.24-h5773f1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda @@ -1015,16 +1020,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.13.3-hce30654_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.13.3-h1d14073_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.1.0-hfdf1602_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.1.0-hb74de2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.1.0-hfdf1602_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.1.0-hb74de2c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.36.0-h9484b08_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.36.0-h7081f7f_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.71.0-h857da87_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-h23cfdf5_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.1.0-h5505292_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-34_hc9a63f6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-35_hc9a63f6_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.1-h39f12f2_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.67.0-hc438710_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.30-openmp_h60d53f8_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-1.21.0-h0181452_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopentelemetry-cpp-headers-1.21.0-hce30654_0.conda @@ -1044,24 +1049,24 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.8-h4a9ca0c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lineax-0.0.7-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-20.1.8-hbb9b287_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmlite-0.44.0-py312h728bc31_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-21.1.0-hbb9b287_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmlite-0.44.0-py312hc9b382d_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.4-py312hf263c89_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.4-py312hb64cbc0_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py312h998013c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.5-py312h05635fa_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.6-py312h605b88b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.3-pyh29332c3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ml_dtypes-0.5.1-py312hcb1e3ce_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ml_dtypes-0.5.1-py312h98f7732_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep_data-0.0.4-pyhd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.1-py312hb23fbb9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.1-py312ha0dd364_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.6.3-py312hdb8e49c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.1.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.6-pyh29332c3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda @@ -1083,15 +1088,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.3.2-py312h98f7732_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-11.3.0-py312h50aef2c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.8-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-11.3.0-py312hce42e9c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.4.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/prometheus-cpp-1.3.0-h0967b3e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.22.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.3.1-py312h998013c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.0.0-py312h163523d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pthread-stubs-0.4-hd74edd7_1002.conda @@ -1104,20 +1109,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.33.2-py312hd3c0895_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyhf-0.7.6-pyh29332c3_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-11.1-py312h4c66426_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-11.1-py312hb9d441b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-11.1-py312h4c66426_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-11.1-py312h3964663_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.11-hc22306f_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.11-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-xxhash-3.5.0-py312h7a9b006_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h998013c_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.0.2-py312h211b278_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.0.2-py312hd65ceae_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/qhull-2020.2-h420ef59_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2025.06.26-h6589ca4_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda @@ -1127,9 +1133,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.1.0-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.27.0-py312h6f58b40_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.27.1-py312h6f58b40_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.7.1-py312h54d6233_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.16.1-py312h286a95b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.16.1-py312h6e75237_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scitokens-cpp-1.1.3-h9f99f3a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh31c8845_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda @@ -1137,7 +1143,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.2-hd121638_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sortedcontainers-2.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tblib-3.1.0-pyhd8ed1ab_0.conda @@ -1148,19 +1154,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.2-py312h163523d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.2-py312h163523d_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.10-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20250822-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.1-h4440ef1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.1-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uhi-1.0.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-16.0.0-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.3-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-16.0.0-py312h163523d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.4-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/vector-1.5.1-pyhd8ed1ab_0.conda @@ -1176,11 +1182,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/xyzservices-2025.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.20.1-py312h998013c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-hc1bb282_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-hc0cf3cd_8.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312hea69d52_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.24.0-py312h26de6b3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda - pypi: git+https://github.com/pfackeldey/relaxed.git?branch=fixes_for_zprime#b5f5ca674cf49e6d48f60a53a75bc35db636894d packages: @@ -1205,6 +1211,17 @@ packages: purls: [] size: 23621 timestamp: 1650670423406 +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 + md5: aaa2a381ccc56eac91d63b6c1240312f + depends: + - cpython + - python-gil + license: MIT + license_family: MIT + purls: [] + size: 8191 + timestamp: 1744137672556 - conda: https://conda.anaconda.org/conda-forge/noarch/_x86_64-microarch-level-1-2_x86_64.conda build_number: 2 sha256: 7623b2b804165b458f520371c40f5a607847336a882a55d3cfbdfb6407082794 @@ -1277,7 +1294,7 @@ packages: license: MIT AND Apache-2.0 license_family: Apache purls: - - pkg:pypi/aiohttp?source=compressed-mapping + - pkg:pypi/aiohttp?source=hash-mapping size: 978588 timestamp: 1753805356065 - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda @@ -2009,19 +2026,19 @@ packages: - pkg:pypi/babel?source=hash-mapping size: 6938256 timestamp: 1738490268466 -- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.4-pyha770c72_0.conda - sha256: ddb0df12fd30b2d36272f5daf6b6251c7625d6a99414d7ea930005bbaecad06d - md5: 9f07c4fc992adb2d6c30da7fab3959a7 +- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.13.5-pyha770c72_0.conda + sha256: d2124c0ea13527c7f54582269b3ae19541141a3740d6d779e7aa95aa82eaf561 + md5: de0fd9702fd4c1186e930b8c35af6b6b depends: - - python >=3.9 + - python >=3.10 - soupsieve >=1.2 - typing-extensions license: MIT license_family: MIT purls: - - pkg:pypi/beautifulsoup4?source=hash-mapping - size: 146613 - timestamp: 1744783307123 + - pkg:pypi/beautifulsoup4?source=compressed-mapping + size: 88278 + timestamp: 1756094375546 - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyh29332c3_4.conda sha256: a05971bb80cca50ce9977aad3f7fc053e54ea7d5321523efc7b9a6e12901d3cd md5: f0b4c8e370446ef89797608d60a564b3 @@ -2046,9 +2063,9 @@ packages: purls: [] size: 4213 timestamp: 1737382993425 -- conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.7.3-pyhd8ed1ab_0.conda - sha256: dd116a77a5aca118cfdfcc97553642295a3fb176a4e741fd3d1363ee81cebdfd - md5: 708d2f99b8a2c833ff164a225a265e76 +- conda: https://conda.anaconda.org/conda-forge/noarch/bokeh-3.8.0-pyhd8ed1ab_0.conda + sha256: 3a0af5b0c30d1e50cda6fea8c7783f3ea925e83f427b059fa81b2f36cde72e28 + md5: 30698cfea774ec175babb8ff08dbc07a depends: - contourpy >=1.2 - jinja2 >=2.9 @@ -2065,8 +2082,8 @@ packages: license_family: BSD purls: - pkg:pypi/bokeh?source=hash-mapping - size: 4934851 - timestamp: 1747091638593 + size: 5020661 + timestamp: 1756543232734 - conda: https://conda.anaconda.org/conda-forge/linux-64/boost-histogram-1.6.1-py312h0a2e395_0.conda sha256: ebd510d0c01d9a78a92757cecdddc7e1b1daac394de483712f954d0d32d96a18 md5: dae288a03d46bb20737c7b78a0746ea6 @@ -2099,92 +2116,92 @@ packages: - pkg:pypi/boost-histogram?source=hash-mapping size: 875180 timestamp: 1755136812318 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb9d3cd8_3.conda - sha256: c969baaa5d7a21afb5ed4b8dd830f82b78e425caaa13d717766ed07a61630bec - md5: 5d08a0ac29e6a5a984817584775d4131 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hb03c661_4.conda + sha256: 294526a54fa13635341729f250d0b1cf8f82cad1e6b83130304cbf3b6d8b74cc + md5: eaf3fbd2aa97c212336de38a51fe404e depends: - __glibc >=2.17,<3.0.a0 - - brotli-bin 1.1.0 hb9d3cd8_3 - - libbrotlidec 1.1.0 hb9d3cd8_3 - - libbrotlienc 1.1.0 hb9d3cd8_3 - - libgcc >=13 + - brotli-bin 1.1.0 hb03c661_4 + - libbrotlidec 1.1.0 hb03c661_4 + - libbrotlienc 1.1.0 hb03c661_4 + - libgcc >=14 license: MIT license_family: MIT purls: [] - size: 19810 - timestamp: 1749230148642 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h5505292_3.conda - sha256: 97e2a90342869cc122921fdff0e6be2f5c38268555c08ba5d14e1615e4637e35 - md5: 03c7865dd4dbf87b7b7d363e24c632f1 + size: 19883 + timestamp: 1756599394934 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-1.1.0-h6caf38d_4.conda + sha256: 8aa8ee52b95fdc3ef09d476cbfa30df722809b16e6dca4a4f80e581012035b7b + md5: ce8659623cea44cc812bc0bfae4041c5 depends: - __osx >=11.0 - - brotli-bin 1.1.0 h5505292_3 - - libbrotlidec 1.1.0 h5505292_3 - - libbrotlienc 1.1.0 h5505292_3 + - brotli-bin 1.1.0 h6caf38d_4 + - libbrotlidec 1.1.0 h6caf38d_4 + - libbrotlienc 1.1.0 h6caf38d_4 license: MIT license_family: MIT purls: [] - size: 20094 - timestamp: 1749230390021 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb9d3cd8_3.conda - sha256: ab74fa8c3d1ca0a055226be89e99d6798c65053e2d2d3c6cb380c574972cd4a7 - md5: 58178ef8ba927229fba6d84abf62c108 + size: 20003 + timestamp: 1756599758165 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hb03c661_4.conda + sha256: 444903c6e5c553175721a16b7c7de590ef754a15c28c99afbc8a963b35269517 + md5: ca4ed8015764937c81b830f7f5b68543 depends: - __glibc >=2.17,<3.0.a0 - - libbrotlidec 1.1.0 hb9d3cd8_3 - - libbrotlienc 1.1.0 hb9d3cd8_3 - - libgcc >=13 + - libbrotlidec 1.1.0 hb03c661_4 + - libbrotlienc 1.1.0 hb03c661_4 + - libgcc >=14 license: MIT license_family: MIT purls: [] - size: 19390 - timestamp: 1749230137037 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h5505292_3.conda - sha256: 5c6a808326c3bbb6f015a57c9eb463d65f259f67154f4f06783d8829ce9239b4 - md5: cc435eb5160035fd8503e9a58036c5b5 + size: 19615 + timestamp: 1756599385418 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-bin-1.1.0-h6caf38d_4.conda + sha256: e57d402b02c9287b7c02d9947d7b7b55a4f7d73341c210c233f6b388d4641e08 + md5: ab57f389f304c4d2eb86d8ae46d219c3 depends: - __osx >=11.0 - - libbrotlidec 1.1.0 h5505292_3 - - libbrotlienc 1.1.0 h5505292_3 + - libbrotlidec 1.1.0 h6caf38d_4 + - libbrotlienc 1.1.0 h6caf38d_4 license: MIT license_family: MIT purls: [] - size: 17185 - timestamp: 1749230373519 -- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_3.conda - sha256: dc27c58dc717b456eee2d57d8bc71df3f562ee49368a2351103bc8f1b67da251 - md5: a32e0c069f6c3dcac635f7b0b0dac67e + size: 17373 + timestamp: 1756599741779 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h1289d80_4.conda + sha256: 52a9ac412512b418ecdb364ba21c0f3dc96f0abbdb356b3cfbb980020b663d9b + md5: fd0e7746ed0676f008daacb706ce69e4 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 + - libgcc >=14 + - libstdcxx >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 constrains: - - libbrotlicommon 1.1.0 hb9d3cd8_3 + - libbrotlicommon 1.1.0 hb03c661_4 license: MIT license_family: MIT purls: - - pkg:pypi/brotli?source=hash-mapping - size: 351721 - timestamp: 1749230265727 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hd8f9ff3_3.conda - sha256: 35df7079768b4c51764149c42b14ccc25c4415e4365ecc06c38f74562d9e4d16 - md5: c7c728df70dc05a443f1e337c28de22d + - pkg:pypi/brotli?source=compressed-mapping + size: 354149 + timestamp: 1756599553574 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312h6b01ec3_4.conda + sha256: e45f24660a89c734c3d54f185ecdc359e52a5604d7e0b371e35dce042fa3cf3a + md5: 0d50ab05d6d8fa7a38213c809637ba6d depends: - __osx >=11.0 - - libcxx >=18 + - libcxx >=19 - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 constrains: - - libbrotlicommon 1.1.0 h5505292_3 + - libbrotlicommon 1.1.0 h6caf38d_4 license: MIT license_family: MIT purls: - pkg:pypi/brotli?source=hash-mapping - size: 339365 - timestamp: 1749230606596 + size: 341750 + timestamp: 1756600036931 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d md5: 62ee74e96c5ebb0af99386de58cf9553 @@ -2274,17 +2291,17 @@ packages: - pkg:pypi/cached-property?source=hash-mapping size: 11065 timestamp: 1615209567874 -- conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.1.0-pyhd8ed1ab_0.conda - sha256: b8da50f4b85f267f2369f9f1ac60f9a8dae547140f343023fdf61065fdf7ca0a - md5: f84eb05fa7f862602bfaf4dd844bd61b +- conda: https://conda.anaconda.org/conda-forge/noarch/cachetools-6.2.0-pyhd8ed1ab_0.conda + sha256: 5cdf6c2624ad70baab0374d3a582e302b98d3cbfa7935e0aeab6a1857de0a7a0 + md5: 33a59a2cf83ab89ee546c72254521a4a depends: - - python >=3.9 + - python >=3.10 license: MIT license_family: MIT purls: - pkg:pypi/cachetools?source=hash-mapping - size: 16431 - timestamp: 1750147985559 + size: 16514 + timestamp: 1756198358026 - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.8.3-pyhd8ed1ab_0.conda sha256: a1ad5b0a2a242f439608f22a538d2175cac4444b7b3f4e2b8c090ac337aaea40 md5: 11f59985f49df4620890f3e746ed7102 @@ -2295,13 +2312,13 @@ packages: - pkg:pypi/certifi?source=compressed-mapping size: 158692 timestamp: 1754231530168 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda - sha256: cba6ea83c4b0b4f5b5dc59cb19830519b28f95d7ebef7c9c5cf1c14843621457 - md5: a861504bbea4161a9170b85d4d2be840 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h35888ee_1.conda + sha256: 13bf94678e7a853a39a2c6dc2674b096cfe80f43ad03d7fff4bcde05edf9fda4 + md5: 918e2510c64000a916355dcf09d26da2 depends: - __glibc >=2.17,<3.0.a0 - - libffi >=3.4,<4.0a0 - - libgcc >=13 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=14 - pycparser - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 @@ -2309,14 +2326,14 @@ packages: license_family: MIT purls: - pkg:pypi/cffi?source=hash-mapping - size: 294403 - timestamp: 1725560714366 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda - sha256: 8d91a0d01358b5c3f20297c6c536c5d24ccd3e0c2ddd37f9d0593d0f0070226f - md5: 19a5456f72f505881ba493979777b24e + size: 295227 + timestamp: 1756808421998 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h429097b_1.conda + sha256: d6f96b95916d994166d2649374420b11132b33043c68d8681ab9afe29df3fbc3 + md5: 9641dfbf70709463180c574a3a7a0b13 depends: - __osx >=11.0 - - libffi >=3.4,<4.0a0 + - libffi >=3.4.6,<3.5.0a0 - pycparser - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython @@ -2325,8 +2342,8 @@ packages: license_family: MIT purls: - pkg:pypi/cffi?source=hash-mapping - size: 281206 - timestamp: 1725560813378 + size: 287170 + timestamp: 1756808571913 - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.3-pyhd8ed1ab_0.conda sha256: 838d5a011f0e7422be6427becba3de743c78f3874ad2743c341accbba9bb2624 md5: 7e7d5ef1b9ed630e4a1c358d6bc62284 @@ -2338,24 +2355,24 @@ packages: - pkg:pypi/charset-normalizer?source=hash-mapping size: 51033 timestamp: 1754767444665 -- conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.90-pyhd8ed1ab_0.conda - sha256: afaa1913ba6b35a74e0f1d1ecf1ff80a6d727f86675901db0dc1a552d59ab385 - md5: 16d1408b8727d5cabb745b37b6a05207 +- conda: https://conda.anaconda.org/conda-forge/noarch/chex-0.1.91-pyhd8ed1ab_0.conda + sha256: 139d7b38a543ba6c7b8aebaa64e9bfc05dd4f8f56977c3ee740892f76fd49546 + md5: 207c50a7c4059d9235329e59085f06a0 depends: - - absl-py >=0.9.0 - - jax >=0.4.27 - - jaxlib >=0.4.27 + - absl-py >=2.3.1 + - jax >=0.7.0 + - jaxlib >=0.7.0 - numpy >=1.24.1 - - python >=3.9 - - toolz >=0.9.0 + - python >=3.11 + - toolz >=1.0.0 - typing-extensions >=4.2.0 - - typing_extensions >=4.2.0 + - typing_extensions >=4.15.0 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/chex?source=hash-mapping - size: 81101 - timestamp: 1753385859048 + size: 80820 + timestamp: 1756790803659 - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda sha256: 8aee789c82d8fdd997840c952a586db63c6890b00e88c4fb6e80a38edd5f51c0 md5: 94b550b8d3a614dbd326af798c7dfb40 @@ -2434,12 +2451,12 @@ packages: license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/comm?source=compressed-mapping + - pkg:pypi/comm?source=hash-mapping size: 14690 timestamp: 1753453984907 -- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_1.conda - sha256: d9cb7f97a184a383bf0c72e1fa83b983a1caa68d7564f4449a4de7c97df9cb3f - md5: e25ed6c2e3b1effedfe9cd10a15ca8d8 +- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_2.conda + sha256: cedae3c71ad59b6796d182f9198e881738b7a2c7b70f18427d7788f3173befb2 + md5: bce621e43978c245261c76b45edeaa3d depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 @@ -2450,12 +2467,12 @@ packages: license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/contourpy?source=compressed-mapping - size: 291827 - timestamp: 1754063770363 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_1.conda - sha256: a51a6f7f7e236cadc45790880dc0b7c91cf6a950277ffe839b689f072783a8d0 - md5: e0b0bffaccf76ef33679dd2e5309442e + - pkg:pypi/contourpy?source=hash-mapping + size: 295534 + timestamp: 1756544766129 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/contourpy-1.3.3-py312ha0dd364_2.conda + sha256: 95c3f2a595be008ec861ea6bddbf6e2abdfbc115b0e01112b3ae64c7ae641b9e + md5: bb1a2ab9b69fe1bb11d6ad9f1b39c0c4 depends: - __osx >=11.0 - libcxx >=19 @@ -2467,8 +2484,8 @@ packages: license_family: BSD purls: - pkg:pypi/contourpy?source=hash-mapping - size: 257410 - timestamp: 1754063952152 + size: 259025 + timestamp: 1756544906767 - conda: https://conda.anaconda.org/conda-forge/linux-64/correctionlib-2.7.0-py312ha04a795_0.conda sha256: a1ba5aecba02e6c097a835ba6735f81e6fc16596674271307c0f5e97d97f0fa9 md5: 21b524c9949587d0fa07ea4dde450978 @@ -2509,15 +2526,25 @@ packages: - pkg:pypi/correctionlib?source=hash-mapping size: 349264 timestamp: 1746557633533 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cramjam-2.11.0-py312h848b54d_0.conda - sha256: 877f046f4ffc35998a921e70242c8b6e3c3b89fd110b3772d478d70acc3f69a7 - md5: b91caa551c3daa2c48b8aa48fcdfffa6 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.11-py312hd8ed1ab_0.conda + noarch: generic + sha256: 7e7bc8e73a2f3736444a8564cbece7216464c00f0bc38e604b0c792ff60d621a + md5: e5279009e7a7f7edd3cd2880c502b3cc + depends: + - python >=3.12,<3.13.0a0 + - python_abi * *_cp312 + license: Python-2.0 + purls: [] + size: 45852 + timestamp: 1749047748072 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cramjam-2.11.0-py312h848b54d_1.conda + sha256: f7d8515fb12daf0acace81e868777e27a41e3f675545e911f72058f6c448f102 + md5: 413e0bc364c0cd7d0432cc0bc42eab10 depends: - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - libstdcxx >=14 - libgcc >=14 + - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 constrains: - __glibc >=2.17 @@ -2525,11 +2552,11 @@ packages: license_family: MIT purls: - pkg:pypi/cramjam?source=hash-mapping - size: 1815497 - timestamp: 1753699211797 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cramjam-2.11.0-py312h82c2aec_0.conda - sha256: 0f4103ea3177d6be44e2448aaca23990d710652ec64629dfac87c5ceadbdc6ba - md5: ef5648cddcd10943a5b3d53a04ff5adc + size: 1811797 + timestamp: 1756864826716 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cramjam-2.11.0-py312h82c2aec_1.conda + sha256: 48a59b50ebd5e160dd4af20fda0a7a977bdd542c7c3c54fbf475f4c25031d133 + md5: 377bd6c81b1a2efeaea71211420457bb depends: - python - __osx >=11.0 @@ -2542,8 +2569,8 @@ packages: license_family: MIT purls: - pkg:pypi/cramjam?source=hash-mapping - size: 1638171 - timestamp: 1753699232961 + size: 1636933 + timestamp: 1756864829531 - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda sha256: 9827efa891e507a91a8a2acf64e210d2aff394e1cde432ad08e1f8c66b12293c md5: 44600c4667a319d67dbe0681fc0bc833 @@ -2656,37 +2683,36 @@ packages: - pkg:pypi/dask-histogram?source=hash-mapping size: 29209 timestamp: 1751928117365 -- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.16-py312h8285ef7_0.conda - sha256: ad6193b4c2771a82a8df3408d9c6174016b487fd1f7501b1618fa034c5118534 - md5: 6205bf8723b4b79275dd52ef60cf6af1 +- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.16-py312h8285ef7_1.conda + sha256: 1212cba3b9eb610b53a59c88460049f0cce4e3b8b66c6376e10df3cdd74d80f1 + md5: 45b13b9f0c8995cef3cc4e62f8b4a3f3 depends: - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - libstdcxx >=14 - libgcc >=14 + - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - - pkg:pypi/debugpy?source=compressed-mapping - size: 2856116 - timestamp: 1754523420446 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.16-py312he360a15_0.conda - sha256: 144542a7c6f3970a8c7012f2b0bea625e0024e809091861f688a7c0786c3e4ee - md5: 5324a4353a78309f0cb874d1fa98e4da + - pkg:pypi/debugpy?source=hash-mapping + size: 2856148 + timestamp: 1756742065364 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.16-py312he360a15_1.conda + sha256: cba7445a8f66174db5474635f57be16366f868609ad4cb8d9fd1bcda0d4c574e + md5: a32874675d3568f218e4ebd9a94cbd43 depends: - python + - libcxx >=19 - __osx >=11.0 - python 3.12.* *_cpython - - libcxx >=19 - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - - pkg:pypi/debugpy?source=compressed-mapping - size: 2752346 - timestamp: 1754523441845 + - pkg:pypi/debugpy?source=hash-mapping + size: 2752432 + timestamp: 1756742046739 - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda sha256: c17c6b9937c08ad63cb20a26f403a3234088e57d4455600974a0ce865cb14017 md5: 9ce473d1d1be1cc3810856a48b3fab32 @@ -2776,6 +2802,7 @@ packages: - treescope - python license: BSD-3-Clause + license_family: BSD purls: - pkg:pypi/evermore?source=hash-mapping size: 36671 @@ -2791,20 +2818,20 @@ packages: - pkg:pypi/exceptiongroup?source=hash-mapping size: 21284 timestamp: 1746947398083 -- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.0-pyhd8ed1ab_0.conda - sha256: 7510dd93b9848c6257c43fdf9ad22adf62e7aa6da5f12a6a757aed83bcfedf05 - md5: 81d30c08f9a3e556e8ca9e124b044d14 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad + md5: ff9efb7f7469aed3c4a8106ffa29593c depends: - - python >=3.9 + - python >=3.10 license: MIT license_family: MIT purls: - - pkg:pypi/executing?source=hash-mapping - size: 29652 - timestamp: 1745502200340 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.59.1-py312h8a5da7c_0.conda - sha256: 8c65a6c9592828ca767161b47e66e66fe8d32b8e1f8af37b10b6594ad1c77340 - md5: 313520338e97b747315b5be6a563c315 + - pkg:pypi/executing?source=compressed-mapping + size: 30753 + timestamp: 1756729456476 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.59.2-py312h8a5da7c_0.conda + sha256: da1c642961e2cad6748266c55ee625062fbdec9f191dc16a29859b2b996a4eea + md5: 4c3f3c752ec0cd37b0a0990af20fd952 depends: - __glibc >=2.17,<3.0.a0 - brotli @@ -2817,11 +2844,11 @@ packages: license_family: MIT purls: - pkg:pypi/fonttools?source=hash-mapping - size: 2863893 - timestamp: 1755224234236 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.59.1-py312h6daa0e5_0.conda - sha256: 2751b170e19e03252b4e3a537f42e62396d7a87afa5b8ebce97eea565abbb95a - md5: 55d9d37b29f97b6cd08d6c3dcc8a0712 + size: 2891057 + timestamp: 1756328984659 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/fonttools-4.59.2-py312h6daa0e5_0.conda + sha256: d566e5096981a70c87523ff7aff057c9c13bab851df861861003482efb7825e4 + md5: 715f0ac9bac5abe18951f66738cc3e3a depends: - __osx >=11.0 - brotli @@ -2834,8 +2861,8 @@ packages: license_family: MIT purls: - pkg:pypi/fonttools?source=hash-mapping - size: 2831709 - timestamp: 1755224364277 + size: 2796136 + timestamp: 1756329018672 - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda sha256: 2509992ec2fd38ab27c7cdb42cf6cadc566a1cc0d1021a2673475d9fa87c6276 md5: d3549fd50d450b6d9e7dddff25dd2110 @@ -2898,17 +2925,17 @@ packages: - pkg:pypi/frozenlist?source=hash-mapping size: 52265 timestamp: 1752167495152 -- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.7.0-pyhd8ed1ab_0.conda - sha256: f734d98cd046392fbd9872df89ac043d72ac15f6a2529f129d912e28ab44609c - md5: a31ce802cd0ebfce298f342c02757019 +- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2025.9.0-pyhd8ed1ab_0.conda + sha256: 05e55a2bd5e4d7f661d1f4c291ca8e65179f68234d18eb70fc00f50934d3c4d3 + md5: 76f492bd8ba8a0fb80ffe16fc1a75b3b depends: - - python >=3.9 + - python >=3.10 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/fsspec?source=compressed-mapping - size: 145357 - timestamp: 1752608821935 + - pkg:pypi/fsspec?source=hash-mapping + size: 145678 + timestamp: 1756908673345 - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-xrootd-0.5.1-pyhe01879c_1.conda sha256: 6a282fe2e51699d7af943abc411560a2f63ee621b03fa4e28b9bd5a566021810 md5: 49f1201fc27ee744ff168596536b7fd1 @@ -2982,19 +3009,20 @@ packages: - pkg:pypi/h11?source=hash-mapping size: 37697 timestamp: 1745526482242 -- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.2.0-pyhd8ed1ab_0.conda - sha256: 0aa1cdc67a9fe75ea95b5644b734a756200d6ec9d0dff66530aec3d1c1e9df75 - md5: b4754fb1bdcb70c8fd54f918301582c6 +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 depends: - - hpack >=4.1,<5 + - python >=3.10 - hyperframe >=6.1,<7 - - python >=3.9 + - hpack >=4.1,<5 + - python license: MIT license_family: MIT purls: - - pkg:pypi/h2?source=hash-mapping - size: 53888 - timestamp: 1738578623567 + - pkg:pypi/h2?source=compressed-mapping + size: 95967 + timestamp: 1756364871835 - conda: https://conda.anaconda.org/conda-forge/noarch/hist-2.9.0-pyhb7efba9_0.conda sha256: 8a7f38ca7c08c62da2c8baea73d895b7c11486693d195e0d04f324af3690f589 md5: 7ce0c713e6e2007fca4aaafaac374d38 @@ -3116,38 +3144,38 @@ packages: - pkg:pypi/idna?source=hash-mapping size: 49765 timestamp: 1733211921194 -- conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.31.1-py312h8285ef7_1.conda - sha256: ef388e178c31d68e9ceb9024ff9d80ce17405d064fd8f78eb73defd794b01e06 - md5: 79baca8c7406cecf8fffb126d4fde120 +- conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.31.1-py312h8285ef7_2.conda + sha256: 48ea144759c2dc73ba5efdcc553a69936daf6a9d07416199b38b968f1c05d9d6 + md5: 13efa82eaf70729e34c858fb87f14117 depends: - python - numpy - - __glibc >=2.17,<3.0.a0 - libstdcxx >=14 - libgcc >=14 + - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 license: LGPL-2.0-or-later license_family: LGPL purls: - pkg:pypi/iminuit?source=hash-mapping - size: 579438 - timestamp: 1753662193587 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/iminuit-2.31.1-py312he360a15_1.conda - sha256: 5ab5e4babff26521a56d61d2323689dccd74654637121f4106f2d0bca73670d8 - md5: eb53f65e80f6d0c058ef39d683de204a + size: 570769 + timestamp: 1756910194162 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/iminuit-2.31.1-py312he360a15_2.conda + sha256: 072444ef80170e5b1faea2ecc687256e514c90f44841dd5834ddfcf25c593bf0 + md5: b40f210e6e542015bcc9c60ab8b1357f depends: - python - numpy + - __osx >=11.0 - libcxx >=19 - python 3.12.* *_cpython - - __osx >=11.0 - python_abi 3.12.* *_cp312 license: LGPL-2.0-or-later license_family: LGPL purls: - pkg:pypi/iminuit?source=hash-mapping - size: 538819 - timestamp: 1753662199774 + size: 525155 + timestamp: 1756910167346 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 md5: 63ccfdc3a3ce25b027b8767eb722fca8 @@ -3234,9 +3262,9 @@ packages: - pkg:pypi/ipykernel?source=hash-mapping size: 121397 timestamp: 1754353050327 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.4.0-pyhfa0c392_0.conda - sha256: ff5138bf6071ca01d84e1329f6baa96f0723df6fe183cfa1ab3ebc96240e6d8f - md5: cb7706b10f35e7507917cefa0978a66d +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.5.0-pyhfa0c392_0.conda + sha256: e9ca009d3aab9d8a85f0241d6ada2c7fbc84072008e95f803fa59da3294aa863 + md5: c0916cc4b733577cd41df93884d857b0 depends: - __unix - pexpect >4.3 @@ -3257,8 +3285,8 @@ packages: license_family: BSD purls: - pkg:pypi/ipython?source=hash-mapping - size: 628259 - timestamp: 1751465044469 + size: 630826 + timestamp: 1756474504536 - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 md5: bd80ba060603cc228d9d81c257093119 @@ -3404,18 +3432,18 @@ packages: - pkg:pypi/jinja2?source=hash-mapping size: 112714 timestamp: 1741263433881 -- conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.1-pyhd8ed1ab_0.conda - sha256: e5a4eca9a5d8adfaa3d51e24eefd1a6d560cb3b33a7e1eee13e410bec457b7ed - md5: fb1c14694de51a476ce8636d92b6f42c +- conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.5.2-pyhd8ed1ab_0.conda + sha256: 6fc414c5ae7289739c2ba75ff569b79f72e38991d61eb67426a8a4b92f90462c + md5: 4e717929cfa0d49cef92d911e31d0e90 depends: - - python >=3.9 + - python >=3.10 - setuptools license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/joblib?source=hash-mapping - size: 224437 - timestamp: 1748019237972 + size: 224671 + timestamp: 1756321850584 - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.12.1-pyhd8ed1ab_0.conda sha256: 4e08ccf9fa1103b617a4167a270768de736a36be795c6cd34c2761100d332f74 md5: 0fc93f473c31a2f85c0bde213e7c63ca @@ -3439,9 +3467,9 @@ packages: - pkg:pypi/jsonpatch?source=hash-mapping size: 17311 timestamp: 1733814664790 -- conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda - sha256: 76ccb7bffc7761d1d3133ffbe1f7f1710a0f0d9aaa9f7ea522652e799f3601f4 - md5: 6b51f7459ea4073eeb5057207e2e1e3d +- conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_2.conda + sha256: 39c77cd86d9f544e3ce11fdbab1047181d08dd14a72461d06d957b5fcfc78615 + md5: eeaf37c3dc2d1660668bd102c841f783 depends: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 @@ -3449,11 +3477,11 @@ packages: license_family: BSD purls: - pkg:pypi/jsonpointer?source=hash-mapping - size: 17277 - timestamp: 1725303032027 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_1.conda - sha256: f6fb3734e967d1cd0cde32844ee952809f6c0a49895da7ec1c8cfdf97739b947 - md5: 80f403c03290e1662be03e026fb5f8ab + size: 17957 + timestamp: 1756754245172 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_2.conda + sha256: 1580c22576df479b8a05370a162aa1bca8ba048f6f5c43ec9269e600c64f43b0 + md5: bfd72094f8390de02e426ac61fb7b8ee depends: - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython @@ -3462,8 +3490,8 @@ packages: license_family: BSD purls: - pkg:pypi/jsonpointer?source=hash-mapping - size: 17865 - timestamp: 1725303130815 + size: 18540 + timestamp: 1756754421272 - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.25.1-pyhe01879c_0.conda sha256: ac377ef7762e49cb9c4f985f1281eeff471e9adc3402526eea78e6ac6589cf1d md5: 341fd940c242cf33e832c0402face56f @@ -3512,20 +3540,20 @@ packages: purls: [] size: 4744 timestamp: 1755595646123 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.6-pyhe01879c_0.conda - sha256: 6f2d6c5983e013af68e7e1d7082cc46b11f55e28147bd0a72a44488972ed90a3 - md5: 7129ed52335cc7164baf4d6508a3f233 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.0-pyhcf101f3_0.conda + sha256: 897ad2e2c2335ef3c2826d7805e16002a1fd0d509b4ae0bc66617f0e0ff07bc2 + md5: 62b7c96c6cd77f8173cc5cada6a9acaa depends: - importlib-metadata >=4.8.3 - jupyter_server >=1.1.2 - - python >=3.9 + - python >=3.10 - python license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/jupyter-lsp?source=compressed-mapping - size: 58416 - timestamp: 1752935193718 + - pkg:pypi/jupyter-lsp?source=hash-mapping + size: 60377 + timestamp: 1756388269267 - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda sha256: 19d8bd5bb2fde910ec59e081eeb59529491995ce0d653a5209366611023a0b3a md5: 4ebae00eae9705b0c3d6d1018a81d047 @@ -3577,9 +3605,9 @@ packages: - pkg:pypi/jupyter-events?source=hash-mapping size: 23647 timestamp: 1738765986736 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.16.0-pyhe01879c_0.conda - sha256: 0082fb6f0afaf872affee4cde3b210f7f7497a5fb47f2944ab638fef0f0e2e77 - md5: f062e04d7cd585c937acbf194dceec36 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.17.0-pyhcf101f3_0.conda + sha256: 74c4e642be97c538dae1895f7052599dfd740d8bd251f727bce6453ce8d6cd9a + md5: d79a87dcfa726bcea8e61275feed6f83 depends: - anyio >=3.1.0 - argon2-cffi >=21.1 @@ -3593,7 +3621,7 @@ packages: - overrides >=5.0 - packaging >=22.0 - prometheus_client >=0.9 - - python >=3.9 + - python >=3.10 - pyzmq >=24 - send2trash >=1.8.2 - terminado >=0.8.3 @@ -3605,8 +3633,8 @@ packages: license_family: BSD purls: - pkg:pypi/jupyter-server?source=hash-mapping - size: 344376 - timestamp: 1747083217715 + size: 347094 + timestamp: 1755870522134 - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda sha256: 0890fc79422191bc29edf17d7b42cff44ba254aa225d31eb30819f8772b775b8 md5: 2d983ff1b82a1ccb6f2e9d8784bdd6bd @@ -3619,9 +3647,9 @@ packages: - pkg:pypi/jupyter-server-terminals?source=hash-mapping size: 19711 timestamp: 1733428049134 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.4.6-pyhd8ed1ab_0.conda - sha256: c3558f1c2a5977799ce425f1f7c8d8d1cae3408da41ec4f5c3771a21e673d465 - md5: 70cb2903114eafc6ed5d70ca91ba6545 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.4.7-pyhd8ed1ab_0.conda + sha256: 042bdb981ad5394530bee8329a10c76b9e17c12651d15a885d68e2cbbfef6869 + md5: 460d51bb21b7a4c4b6e100c824405fbb depends: - async-lru >=1.0.0 - httpx >=0.25.0,<1 @@ -3634,7 +3662,7 @@ packages: - jupyterlab_server >=2.27.1,<3 - notebook-shim >=0.2 - packaging - - python >=3.9 + - python >=3.10 - setuptools >=41.1.0 - tomli >=1.2.2 - tornado >=6.2.0 @@ -3642,9 +3670,9 @@ packages: license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/jupyterlab?source=compressed-mapping - size: 8408461 - timestamp: 1755263247917 + - pkg:pypi/jupyterlab?source=hash-mapping + size: 8479512 + timestamp: 1756911706349 - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda sha256: dc24b900742fdaf1e077d9a3458fd865711de80bca95fe3c6d46610c532c6ef0 md5: fd312693df06da3578383232528c468d @@ -3690,24 +3718,24 @@ packages: purls: [] size: 134088 timestamp: 1754905959823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_0.conda - sha256: abe5ba0c956c5b830c237a5aaf50516ac9ebccf3f9fd9ffb18a5a11640f43677 - md5: f1f7cfc42b0fa6adb4c304d609077a78 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_1.conda + sha256: 42f856c17ea4b9bce5ac5e91d6e58e15d835a3cac32d71bc592dd5031f9c0fb8 + md5: cec5c1ea565944a94f82cdd6fba7cc76 depends: - python - - __glibc >=2.17,<3.0.a0 - libstdcxx >=14 - libgcc >=14 + - __glibc >=2.17,<3.0.a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/kiwisolver?source=hash-mapping - size: 77278 - timestamp: 1754889408033 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.4.9-py312hdc12c9d_0.conda - sha256: 290d8f1016c9581bd4d2246bb21832ba4e4ba1c7b059eb9106d92bba561bccc7 - md5: 91384df8de4c340a1232793cf39a12ce + - pkg:pypi/kiwisolver?source=compressed-mapping + size: 77266 + timestamp: 1756467527669 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/kiwisolver-1.4.9-py312hdc12c9d_1.conda + sha256: 3ad43b1e740a7bce1025a61d55a838eae6196f448f05a2f84447ec796d3148d9 + md5: 57697b25f636e864e62917dfaa9bfcba depends: - python - python 3.12.* *_cpython @@ -3718,8 +3746,8 @@ packages: license_family: BSD purls: - pkg:pypi/kiwisolver?source=hash-mapping - size: 67692 - timestamp: 1754889447292 + size: 67716 + timestamp: 1756467597403 - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 md5: 3f43953b7d3fb3aaa1d0d0723d91e368 @@ -4025,139 +4053,139 @@ packages: purls: [] size: 450755 timestamp: 1750864011299 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-34_h59b9bed_openblas.conda - build_number: 34 - sha256: 08a394ba934f68f102298259b150eb5c17a97c30c6da618e1baab4247366eab3 - md5: 064c22bac20fecf2a99838f9b979374c +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-35_h59b9bed_openblas.conda + build_number: 35 + sha256: 83d0755acd486660532003bc2562223504b57732bc7e250985391ce335692cf7 + md5: eaf80af526daf5745295d9964c2bd3cf depends: - libopenblas >=0.3.30,<0.3.31.0a0 - libopenblas >=0.3.30,<1.0a0 constrains: + - blas 2.135 openblas + - liblapack 3.9.0 35*_openblas + - libcblas 3.9.0 35*_openblas + - liblapacke 3.9.0 35*_openblas - mkl <2025 - - blas 2.134 openblas - - liblapacke 3.9.0 34*_openblas - - libcblas 3.9.0 34*_openblas - - liblapack 3.9.0 34*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 19306 - timestamp: 1754678416811 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-34_h10e41b3_openblas.conda - build_number: 34 - sha256: 5de3c3bfcdc8ba05da1a7815c9953fe392c2065d9efdc2491f91df6d0d1d9e76 - md5: cdb3e1ca1661dbf19f9aad7dad524996 + size: 16937 + timestamp: 1757002815691 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-35_h10e41b3_openblas.conda + build_number: 35 + sha256: 52ddab13634559d8fc9c7808c52200613bb3825c6e0708820f5744aa55324702 + md5: 0b59bf8bb0bc16b2c5bdae947a44e1f1 depends: - libopenblas >=0.3.30,<0.3.31.0a0 - libopenblas >=0.3.30,<1.0a0 constrains: - - blas 2.134 openblas + - libcblas 3.9.0 35*_openblas + - liblapacke 3.9.0 35*_openblas + - liblapack 3.9.0 35*_openblas - mkl <2025 - - liblapacke 3.9.0 34*_openblas - - libcblas 3.9.0 34*_openblas - - liblapack 3.9.0 34*_openblas + - blas 2.135 openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 19533 - timestamp: 1754678956963 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_3.conda - sha256: 462a8ed6a7bb9c5af829ec4b90aab322f8bcd9d8987f793e6986ea873bbd05cf - md5: cb98af5db26e3f482bebb80ce9d947d3 + size: 17191 + timestamp: 1757003619794 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb03c661_4.conda + sha256: 2338a92d1de71f10c8cf70f7bb9775b0144a306d75c4812276749f54925612b6 + md5: 1d29d2e33fe59954af82ef54a8af3fe1 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - libgcc >=14 license: MIT license_family: MIT purls: [] - size: 69233 - timestamp: 1749230099545 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h5505292_3.conda - sha256: 0e9c196ad8569ca199ea05103707cde0ae3c7e97d0cdf0417d873148ea9ad640 - md5: fbc4d83775515e433ef22c058768b84d + size: 69333 + timestamp: 1756599354727 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-h6caf38d_4.conda + sha256: 023b609ecc35bfee7935d65fcc5aba1a3ba6807cbba144a0730198c0914f7c79 + md5: 231cffe69d41716afe4525c5c1cc5ddd depends: - __osx >=11.0 license: MIT license_family: MIT purls: [] - size: 68972 - timestamp: 1749230317752 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_3.conda - sha256: 3eb27c1a589cbfd83731be7c3f19d6d679c7a444c3ba19db6ad8bf49172f3d83 - md5: 1c6eecffad553bde44c5238770cfb7da + size: 68938 + timestamp: 1756599687687 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb03c661_4.conda + sha256: fcec0d26f67741b122f0d5eff32f0393d7ebd3ee6bb866ae2f17f3425a850936 + md5: 5cb5a1c9a94a78f5b23684bcb845338d depends: - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.1.0 hb9d3cd8_3 - - libgcc >=13 + - libbrotlicommon 1.1.0 hb03c661_4 + - libgcc >=14 license: MIT license_family: MIT purls: [] - size: 33148 - timestamp: 1749230111397 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h5505292_3.conda - sha256: d888c228e7d4f0f2303538f6a9705498c81d56fedaab7811e1186cb6e24d689b - md5: 01c4b35a1c4b94b60801f189f1ac6ee3 + size: 33406 + timestamp: 1756599364386 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-h6caf38d_4.conda + sha256: 7f1cf83a00a494185fc087b00c355674a0f12e924b1b500d2c20519e98fdc064 + md5: cb7e7fe96c9eee23a464afd57648d2cd depends: - __osx >=11.0 - - libbrotlicommon 1.1.0 h5505292_3 + - libbrotlicommon 1.1.0 h6caf38d_4 license: MIT license_family: MIT purls: [] - size: 29249 - timestamp: 1749230338861 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_3.conda - sha256: 76e8492b0b0a0d222bfd6081cae30612aa9915e4309396fdca936528ccf314b7 - md5: 3facafe58f3858eb95527c7d3a3fc578 + size: 29015 + timestamp: 1756599708339 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb03c661_4.conda + sha256: d42c7f0afce21d5279a0d54ee9e64a2279d35a07a90e0c9545caae57d6d7dc57 + md5: 2e55011fa483edb8bfe3fd92e860cd79 depends: - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.1.0 hb9d3cd8_3 - - libgcc >=13 + - libbrotlicommon 1.1.0 hb03c661_4 + - libgcc >=14 license: MIT license_family: MIT purls: [] - size: 282657 - timestamp: 1749230124839 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h5505292_3.conda - sha256: 0734a54db818ddfdfbf388fa53c5036a06bbe17de14005f33215d865d51d8a5e - md5: 1ce5e315293309b5bf6778037375fb08 + size: 289680 + timestamp: 1756599375485 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-h6caf38d_4.conda + sha256: a2f2c1c2369360147c46f48124a3a17f5122e78543275ff9788dc91a1d5819dc + md5: 4ce5651ae5cd6eebc5899f9bfe0eac3c depends: - __osx >=11.0 - - libbrotlicommon 1.1.0 h5505292_3 + - libbrotlicommon 1.1.0 h6caf38d_4 license: MIT license_family: MIT purls: [] - size: 274404 - timestamp: 1749230355483 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-34_he106b2a_openblas.conda - build_number: 34 - sha256: edde454897c7889c0323216516abb570a593de728c585b14ef41eda2b08ddf3a - md5: 148b531b5457ad666ed76ceb4c766505 + size: 275791 + timestamp: 1756599724058 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-35_he106b2a_openblas.conda + build_number: 35 + sha256: 6f296f1567a7052c0f8b9527f74cfebc5418dbbae6dcdbae8659963f8ae7f48e + md5: e62d58d32431dabed236c860dfa566ca depends: - - libblas 3.9.0 34_h59b9bed_openblas + - libblas 3.9.0 35_h59b9bed_openblas constrains: - - liblapacke 3.9.0 34*_openblas - - blas 2.134 openblas - - liblapack 3.9.0 34*_openblas + - blas 2.135 openblas + - liblapack 3.9.0 35*_openblas + - liblapacke 3.9.0 35*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 19313 - timestamp: 1754678426220 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-34_hb3479ef_openblas.conda - build_number: 34 - sha256: 6639f6c6b2e76cb1be62cd6d9033bda7dc3fab2e5a80f5be4b5c522c27dcba17 - md5: e15018d609b8957c146dcb6c356dd50c + size: 16900 + timestamp: 1757002826333 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-35_hb3479ef_openblas.conda + build_number: 35 + sha256: dfd8dd4eea94894a01c1e4d9a409774ad2b71f77e713eb8c0dc62bb47abe2f0b + md5: 7f8a6b52d39bde47c6f2d3ef96bd5e68 depends: - - libblas 3.9.0 34_h10e41b3_openblas + - libblas 3.9.0 35_h10e41b3_openblas constrains: - - liblapack 3.9.0 34*_openblas - - blas 2.134 openblas - - liblapacke 3.9.0 34*_openblas + - liblapacke 3.9.0 35*_openblas + - blas 2.135 openblas + - liblapack 3.9.0 35*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 19521 - timestamp: 1754678970336 + size: 17163 + timestamp: 1757003634172 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 md5: c965a5aa0d5c1c37ffc62dff36e28400 @@ -4212,16 +4240,16 @@ packages: purls: [] size: 403456 timestamp: 1749033320430 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-20.1.8-hf598326_1.conda - sha256: 119b3ac75cb1ea29981e5053c2cb10d5f0b06fcc81b486cb7281f160daf673a1 - md5: a69ef3239d3268ef8602c7a7823fd982 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-21.1.0-hf598326_1.conda + sha256: 58427116dc1b58b13b48163808daa46aacccc2c79d40000f8a3582938876fed7 + md5: 0fb2c0c9b1c1259bc7db75c1342b1d99 depends: - __osx >=11.0 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 568267 - timestamp: 1752814881595 + size: 568692 + timestamp: 1756698505599 - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda sha256: 8420748ea1cc5f18ecc5068b4f24c7a023cc9b20971c99c824ba10641fb95ddf md5: 64f0c503da58ec25ebd359e4d990afa8 @@ -4398,55 +4426,55 @@ packages: purls: [] size: 333529 timestamp: 1745370142848 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_4.conda - sha256: 144e35c1c2840f2dc202f6915fc41879c19eddbb8fa524e3ca4aa0d14018b26f - md5: f406dcbb2e7bef90d793e50e79a2882b +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_5.conda + sha256: 0caed73aac3966bfbf5710e06c728a24c6c138605121a3dacb2e03440e8baa6a + md5: 264fbfba7fb20acf3b29cde153e345ce depends: - __glibc >=2.17,<3.0.a0 - _openmp_mutex >=4.5 constrains: - - libgcc-ng ==15.1.0=*_4 - - libgomp 15.1.0 h767d61c_4 + - libgomp 15.1.0 h767d61c_5 + - libgcc-ng ==15.1.0=*_5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 824153 - timestamp: 1753903866511 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_4.conda - sha256: 76ceac93ed98f208363d6e9c75011b0ff7b97b20f003f06461a619557e726637 - md5: 28771437ffcd9f3417c66012dc49a3be + size: 824191 + timestamp: 1757042543820 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_5.conda + sha256: f54bb9c3be12b24be327f4c1afccc2969712e0b091cdfbd1d763fb3e61cda03f + md5: 069afdf8ea72504e48d23ae1171d951c depends: - - libgcc 15.1.0 h767d61c_4 + - libgcc 15.1.0 h767d61c_5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 29249 - timestamp: 1753903872571 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_4.conda - sha256: 2fe41683928eb3c57066a60ec441e605a69ce703fc933d6d5167debfeba8a144 - md5: 53e876bc2d2648319e94c33c57b9ec74 + size: 29187 + timestamp: 1757042549554 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.1.0-h69a702a_5.conda + sha256: 4c1a526198d0d62441549fdfd668cc8e18e77609da1e545bdcc771dd8dc6a990 + md5: 0c91408b3dec0b97e8a3c694845bd63b depends: - - libgfortran5 15.1.0 hcea5267_4 + - libgfortran5 15.1.0 hcea5267_5 constrains: - - libgfortran-ng ==15.1.0=*_4 + - libgfortran-ng ==15.1.0=*_5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 29246 - timestamp: 1753903898593 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.1.0-hfdf1602_0.conda - sha256: 9620b4ac9d32fe7eade02081cd60d6a359a927d42bb8e121bd16489acd3c4d8c - md5: e3b7dca2c631782ca1317a994dfe19ec + size: 29169 + timestamp: 1757042575979 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-15.1.0-hfdf1602_1.conda + sha256: 981e3fac416e80b007a2798d6c1d4357ebebeb72a039aca1fb3a7effe9dcae86 + md5: c98207b6e2b1a309abab696d229f163e depends: - - libgfortran5 15.1.0 hb74de2c_0 + - libgfortran5 15.1.0 hb74de2c_1 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 133859 - timestamp: 1750183546047 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_4.conda - sha256: 3070e5e2681f7f2fb7af0a81b92213f9ab430838900da8b4f9b8cf998ddbdd84 - md5: 8a4ab7ff06e4db0be22485332666da0f + size: 134383 + timestamp: 1756239485494 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.1.0-hcea5267_5.conda + sha256: 9d06adc6d8e8187ddc1cad87525c690bc8202d8cb06c13b76ab2fc80a35ed565 + md5: fbd4008644add05032b6764807ee2cba depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15.1.0 @@ -4455,11 +4483,11 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 1564595 - timestamp: 1753903882088 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.1.0-hb74de2c_0.conda - sha256: 44b8ce4536cc9a0e59c09ff404ef1b0120d6a91afc32799331d85268cbe42438 - md5: 8b158ccccd67a40218e12626a39065a1 + size: 1564589 + timestamp: 1757042559498 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-15.1.0-hb74de2c_1.conda + sha256: 1f8f5b2fdd0d2559d0f3bade8da8f57e9ee9b54685bd6081c6d6d9a2b0239b41 + md5: 4281bd1c654cb4f5cab6392b3330451f depends: - llvm-openmp >=8.0.0 constrains: @@ -4467,18 +4495,18 @@ packages: license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 758352 - timestamp: 1750182604206 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_4.conda - sha256: e0487a8fec78802ac04da0ac1139c3510992bc58a58cde66619dde3b363c2933 - md5: 3baf8976c96134738bba224e9ef6b1e5 + size: 759679 + timestamp: 1756238772083 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_5.conda + sha256: 125051d51a8c04694d0830f6343af78b556dd88cc249dfec5a97703ebfb1832d + md5: dcd5ff1940cd38f6df777cac86819d60 depends: - __glibc >=2.17,<3.0.a0 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 447289 - timestamp: 1753903801049 + size: 447215 + timestamp: 1757042483384 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.36.0-hc4361e1_1.conda sha256: 3a56c653231d6233de5853dc01f07afad6a332799a39c3772c0948d2e68547e4 md5: ae36e6296a8dd8e8a9a8375965bf6398 @@ -4638,36 +4666,36 @@ packages: purls: [] size: 553624 timestamp: 1745268405713 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-34_h7ac8fdf_openblas.conda - build_number: 34 - sha256: 9c941d5da239f614b53065bc5f8a705899326c60c9f349d9fbd7bd78298f13ab - md5: f05a31377b4d9a8d8740f47d1e70b70e +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-35_h7ac8fdf_openblas.conda + build_number: 35 + sha256: 3967e62d4d1d5c1492f861864afca95aaa8cac14e696ce7b9be7d0b6a50507e8 + md5: 88fa5489509c1da59ab2ee6b234511a5 depends: - - libblas 3.9.0 34_h59b9bed_openblas + - libblas 3.9.0 35_h59b9bed_openblas constrains: - - liblapacke 3.9.0 34*_openblas - - libcblas 3.9.0 34*_openblas - - blas 2.134 openblas + - blas 2.135 openblas + - libcblas 3.9.0 35*_openblas + - liblapacke 3.9.0 35*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 19324 - timestamp: 1754678435277 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-34_hc9a63f6_openblas.conda - build_number: 34 - sha256: 659c7cc2d7104c5fa33482d28a6ce085fd116ff5625a117b7dd45a3521bf8efc - md5: 94b13d05122e301de02842d021eea5fb + size: 16920 + timestamp: 1757002835750 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-35_hc9a63f6_openblas.conda + build_number: 35 + sha256: 84f1c11187b564a9fdf464dad46d436ade966262e3000f7c5037b56b244f6fb8 + md5: 437d6c679b3d959d87b3b735fcc0b4ee depends: - - libblas 3.9.0 34_h10e41b3_openblas + - libblas 3.9.0 35_h10e41b3_openblas constrains: - - libcblas 3.9.0 34*_openblas - - blas 2.134 openblas - - liblapacke 3.9.0 34*_openblas + - liblapacke 3.9.0 35*_openblas + - libcblas 3.9.0 35*_openblas + - blas 2.135 openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 19532 - timestamp: 1754678979401 + size: 17166 + timestamp: 1757003647724 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 md5: 1a580f7796c7bf6393fddb8bbbde58dc @@ -4691,39 +4719,39 @@ packages: purls: [] size: 92286 timestamp: 1749230283517 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda - sha256: b0f2b3695b13a989f75d8fd7f4778e1c7aabe3b36db83f0fe80b2cd812c0e975 - md5: 19e57602824042dfd0446292ef90488b +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + sha256: a4a7dab8db4dc81c736e9a9b42bdfd97b087816e029e221380511960ac46c690 + md5: b499ce4b026493a13774bcf0f4c33849 depends: - __glibc >=2.17,<3.0.a0 - - c-ares >=1.32.3,<2.0a0 + - c-ares >=1.34.5,<2.0a0 - libev >=4.33,<4.34.0a0 - libev >=4.33,<5.0a0 - - libgcc >=13 - - libstdcxx >=13 + - libgcc >=14 + - libstdcxx >=14 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.3.2,<4.0a0 + - openssl >=3.5.2,<4.0a0 license: MIT license_family: MIT purls: [] - size: 647599 - timestamp: 1729571887612 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda - sha256: 00cc685824f39f51be5233b54e19f45abd60de5d8847f1a56906f8936648b72f - md5: 3408c02539cee5f1141f9f11450b6a51 + size: 666600 + timestamp: 1756834976695 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.67.0-hc438710_0.conda + sha256: a07cb53b5ffa2d5a18afc6fd5a526a5a53dd9523fbc022148bd2f9395697c46d + md5: a4b4dd73c67df470d091312ab87bf6ae depends: - __osx >=11.0 - - c-ares >=1.34.2,<2.0a0 - - libcxx >=17 + - c-ares >=1.34.5,<2.0a0 + - libcxx >=19 - libev >=4.33,<4.34.0a0 - libev >=4.33,<5.0a0 - libzlib >=1.3.1,<2.0a0 - - openssl >=3.3.2,<4.0a0 + - openssl >=3.5.2,<4.0a0 license: MIT license_family: MIT purls: [] - size: 566719 - timestamp: 1729572385640 + size: 575454 + timestamp: 1756835746393 - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 md5: d864d34357c3b65a4b731f78c0801dc4 @@ -4997,27 +5025,27 @@ packages: purls: [] size: 279193 timestamp: 1745608793272 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_4.conda - sha256: b5b239e5fca53ff90669af1686c86282c970dd8204ebf477cf679872eb6d48ac - md5: 3c376af8888c386b9d3d1c2701e2f3ab +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.1.0-h8f9b012_5.conda + sha256: 0f5f61cab229b6043541c13538d75ce11bd96fb2db76f94ecf81997b1fde6408 + md5: 4e02a49aaa9d5190cb630fa43528fbe6 depends: - __glibc >=2.17,<3.0.a0 - - libgcc 15.1.0 h767d61c_4 + - libgcc 15.1.0 h767d61c_5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 3903453 - timestamp: 1753903894186 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_4.conda - sha256: 81c841c1cf4c0d06414aaa38a249f9fdd390554943065c3a0b18a9fb7e8cc495 - md5: 2d34729cbc1da0ec988e57b13b712067 + size: 3896432 + timestamp: 1757042571458 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.1.0-h4852527_5.conda + sha256: 7b8cabbf0ab4fe3581ca28fe8ca319f964078578a51dd2ca3f703c1d21ba23ff + md5: 8bba50c7f4679f08c861b597ad2bda6b depends: - - libstdcxx 15.1.0 h8f9b012_4 + - libstdcxx 15.1.0 h8f9b012_5 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL purls: [] - size: 29317 - timestamp: 1753903924491 + size: 29233 + timestamp: 1757042603319 - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.21.0-h0e7cc3e_0.conda sha256: ebb395232973c18745b86c9a399a4725b2c39293c9a91b8e59251be013db42f0 md5: dcb95c0a98ba9ff737f7ae482aef7833 @@ -5251,26 +5279,26 @@ packages: - pkg:pypi/lineax?source=hash-mapping size: 48045 timestamp: 1734897369744 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-20.1.8-hbb9b287_1.conda - sha256: e56f46b253dd1a99cc01dde038daba7789fc6ed35b2a93e3fc44b8578a82b3ec - md5: a10bdc3e5d9e4c1ce554c83855dff6c4 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-21.1.0-hbb9b287_0.conda + sha256: c6750073a128376a14bedacfa90caab4c17025c9687fcf6f96e863b28d543af4 + md5: e57d95fec6eaa747e583323cba6cfe5c depends: - __osx >=11.0 constrains: - - openmp 20.1.8|20.1.8.* - intel-openmp <0.0a0 + - openmp 21.1.0|21.1.0.* license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] - size: 283300 - timestamp: 1753978829840 -- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.44.0-py312h374181b_1.conda - sha256: 1fff6550e0adaaf49dd844038b6034657de507ca50ac695e22284898e8c1e2c2 - md5: 146d3cc72c65fdac198c09effb6ad133 + size: 286039 + timestamp: 1756673290280 +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmlite-0.44.0-py312he100287_2.conda + sha256: 254102ea2e878ddccd4e7b6468cf0d65d6be52242f7b009dbde299c8e58f1842 + md5: 36676f8daca4611c7566837b838695b9 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 + - libgcc >=14 + - libstdcxx >=14 - libzlib >=1.3.1,<2.0a0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 @@ -5278,14 +5306,14 @@ packages: license_family: BSD purls: - pkg:pypi/llvmlite?source=hash-mapping - size: 29996918 - timestamp: 1742815908291 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmlite-0.44.0-py312h728bc31_1.conda - sha256: a8c486e6094863fdcd0ddf6f8e53d25b604c3b246bd70c26aaee42336c059de0 - md5: dfb6368d07cc87bc9ca88e50d8c957eb + size: 29999586 + timestamp: 1756303919897 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmlite-0.44.0-py312hc9b382d_2.conda + sha256: 7d4f44686411d569119df4c340292f4cdb9b27a5040caaea95cd570282bf14be + md5: 768549d1e202865d3933d28d38fea5e3 depends: - __osx >=11.0 - - libcxx >=18 + - libcxx >=19 - libzlib >=1.3.1,<2.0a0 - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython @@ -5294,8 +5322,8 @@ packages: license_family: BSD purls: - pkg:pypi/llvmlite?source=hash-mapping - size: 18899919 - timestamp: 1742816321457 + size: 18895658 + timestamp: 1756304209362 - conda: https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2 sha256: 9afe0b5cfa418e8bdb30d8917c5a6cec10372b037924916f1f85b9f4899a67a6 md5: 91e27ef3d05cc772ce627e51cff111c4 @@ -5307,24 +5335,24 @@ packages: - pkg:pypi/locket?source=hash-mapping size: 8250 timestamp: 1650660473123 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312hf0f0c11_0.conda - sha256: a04aff570a27173eea3a2b515b4794ce20e058b658f642475f72ccc1f6d88cff - md5: f770ae71fc1800e7a735a7b452c0ab81 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.4-py312h5d89b6d_1.conda + sha256: 672bd94e67feff49461b7eb7a3ca08100681ebf76456e1f98fa0f08b17a04d2e + md5: bdcd58b62f85ad9554b5b6b5020683b8 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - libgcc >=14 - lz4-c >=1.10.0,<1.11.0a0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/lz4?source=hash-mapping - size: 40315 - timestamp: 1746562078119 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.4-py312hf263c89_0.conda - sha256: 265cd74fdace1106dbaf395bcf8d1cc2b1d20f998ff0694451f2a91f9804c7d8 - md5: be22e508c6268b4c7b7b147845deb7f5 + - pkg:pypi/lz4?source=compressed-mapping + size: 40272 + timestamp: 1756752102787 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.4-py312hb64cbc0_1.conda + sha256: 0239fb52b2d9e0d9e2e38653c1e01c7524ca86ca7d497e714d770040676f11b0 + md5: bb2585a3de046f966d4ec64694b3b3df depends: - __osx >=11.0 - lz4-c >=1.10.0,<1.11.0a0 @@ -5335,8 +5363,8 @@ packages: license_family: BSD purls: - pkg:pypi/lz4?source=hash-mapping - size: 106981 - timestamp: 1746562316986 + size: 106834 + timestamp: 1756752258937 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda sha256: 47326f811392a5fd3055f0f773036c392d26fdb32e4d8e7a8197eed951489346 md5: 9de5350a85c4a20c685259b889aa6393 @@ -5404,9 +5432,9 @@ packages: - pkg:pypi/markupsafe?source=hash-mapping size: 24048 timestamp: 1733219945697 -- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.5-py312he3d6523_0.conda - sha256: 66e94e6226fd3dd04bb89d04079e2d8e2c74d923c0bbf255e483f127aee621ff - md5: 9246288e5ef2a944f7c9c648f9f331c7 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.6-py312he3d6523_1.conda + sha256: 9af1c0e8a9551edfb1fbee0595a00108204af3d34c1680271b0121846dc21e77 + md5: 94926ee1d68e678fb4cfdb0727a0927e depends: - __glibc >=2.17,<3.0.a0 - contourpy >=1.0.1 @@ -5431,12 +5459,12 @@ packages: license: PSF-2.0 license_family: PSF purls: - - pkg:pypi/matplotlib?source=compressed-mapping - size: 8071030 - timestamp: 1754005868258 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.5-py312h05635fa_0.conda - sha256: bc44413a9f1984e6ab39bd0b805430a4e11e41e1d0389254c4d2d056be610512 - md5: 96e5de8c96b4557430f6af0d6693d4c9 + - pkg:pypi/matplotlib?source=hash-mapping + size: 8250974 + timestamp: 1756869718533 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/matplotlib-base-3.10.6-py312h605b88b_1.conda + sha256: 9d55cdf55760552e42cfd0bc867f6902754aa2aeb4f661cee715a27e447b4886 + md5: 63773c3db15b238aaa49b34a27cdee9b depends: - __osx >=11.0 - contourpy >=1.0.1 @@ -5460,9 +5488,9 @@ packages: license: PSF-2.0 license_family: PSF purls: - - pkg:pypi/matplotlib?source=compressed-mapping - size: 8031746 - timestamp: 1754005848626 + - pkg:pypi/matplotlib?source=hash-mapping + size: 8215007 + timestamp: 1756870267276 - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda sha256: 69b7dc7131703d3d60da9b0faa6dd8acbf6f6c396224cf6aef3e855b8c0c41c6 md5: af6ab708897df59bd6e7283ceab1b56b @@ -5486,52 +5514,52 @@ packages: - pkg:pypi/mdurl?source=hash-mapping size: 14465 timestamp: 1733255681319 -- conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.3-pyh29332c3_0.conda - sha256: a67484d7dd11e815a81786580f18b6e4aa2392f292f29183631a6eccc8dc37b3 - md5: 7ec6576e328bc128f4982cd646eeba85 +- conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.4-pyhcf101f3_0.conda + sha256: 609ea628ace5c6cdbdce772704e6cb159ead26969bb2f386ca1757632b0f74c6 + md5: f5a4d548d1d3bdd517260409fc21e205 depends: - - python >=3.9 + - python >=3.10 - typing_extensions - python license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/mistune?source=hash-mapping - size: 72749 - timestamp: 1742402716323 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.1-py312hf9745cd_0.conda - sha256: 87928a36d350c470455a322c4c2b82266b88322d0fd5187ae8cc6fb5e3aad61f - md5: c45ac8395a27736c27b2e50b53ffe62c + size: 72996 + timestamp: 1756495311698 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.1-py312hf79963d_1.conda + sha256: 973b99bc7f54698875b1b075ae515e407cf0c2fe7776668f009862bc3fa5f8c2 + md5: ea06beae50d783cc5741f7b221a7444c depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - - numpy >=1.19,<3 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.23,<3 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MPL-2.0 AND Apache-2.0 purls: - pkg:pypi/ml-dtypes?source=hash-mapping - size: 290991 - timestamp: 1736538940686 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ml_dtypes-0.5.1-py312hcb1e3ce_0.conda - sha256: 17f70a0f345722e67f7437895a78cce84b758419f1c373186cec671607270747 - md5: d7a33fc18bf71480224e069be3072bbf + size: 293495 + timestamp: 1756742390741 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ml_dtypes-0.5.1-py312h98f7732_1.conda + sha256: 7feec9d78e66607f61ebce14dcb670001414ce9e6b4db8cecc5ac294daf323be + md5: c87e654e2417d4b2de8b148b4c993ff6 depends: - __osx >=11.0 - - libcxx >=18 - - numpy >=1.19,<3 + - libcxx >=19 + - numpy >=1.23,<3 - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 license: MPL-2.0 AND Apache-2.0 purls: - pkg:pypi/ml-dtypes?source=hash-mapping - size: 200130 - timestamp: 1736539205286 -- conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.0-pyhd8ed1ab_0.conda - sha256: 25062ab9e7d77334c843b43e895da3f13f9fccc8bf07fe043ee5fdbda063e337 - md5: 012edca20f48cfc8d92199777dcd7a90 + size: 205416 + timestamp: 1756742744061 +- conda: https://conda.anaconda.org/conda-forge/noarch/mplhep-0.4.1-pyhd8ed1ab_0.conda + sha256: 8cc30255a5eda612db4fa6b7eb998a34432213c7a2b62c06773a88adb26ea4f0 + md5: 2969d22d9c6ca07d5087ce9fbbb1d39b depends: - matplotlib-base >=3.4 - mplhep_data >=0.0.4 @@ -5543,8 +5571,8 @@ packages: license_family: MIT purls: - pkg:pypi/mplhep?source=hash-mapping - size: 45836 - timestamp: 1751407321164 + size: 47103 + timestamp: 1756231131892 - conda: https://conda.anaconda.org/conda-forge/noarch/mplhep_data-0.0.4-pyhd8ed1ab_2.conda sha256: 6d2ca813c319e53248b91980fd1ed10e2368c0a80421b6964c498158c24b3e6e md5: 5bd1e05f702e5928d6405dd33d879d0b @@ -5555,27 +5583,27 @@ packages: - pkg:pypi/mplhep-data?source=hash-mapping size: 5816472 timestamp: 1734632891284 -- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.1-py312h68727a3_0.conda - sha256: 969b8e50922b592228390c25ac417c0761fd6f98fccad870ac5cc84f35da301a - md5: 6998b34027ecc577efe4e42f4b022a98 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.1-py312hd9148b4_1.conda + sha256: 5c1a49c4afecfc7c542760711e8075cb8115997c47f52b7af0fc554f6f260b5c + md5: f81ef4109d77d92188bdc25712c0ff17 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 + - libgcc >=14 + - libstdcxx >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/msgpack?source=hash-mapping - size: 102924 - timestamp: 1749813333354 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.1-py312hb23fbb9_0.conda - sha256: 0cdc5fcdb75727a13cbcfc49e00b0fddf6705c7bd908aee1dd1e7a869de8dfe9 - md5: 4ae8111ba5af53e50cb6f9d1705c408c + size: 103174 + timestamp: 1756678658638 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/msgpack-python-1.1.1-py312ha0dd364_1.conda + sha256: e2faf46924ecf94aebdaa78c093b0b2c05fa72f06be2d311e26fb5fee89c3ba7 + md5: feaa731094db962528c2f51e24370597 depends: - __osx >=11.0 - - libcxx >=18 + - libcxx >=19 - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 @@ -5583,8 +5611,8 @@ packages: license_family: Apache purls: - pkg:pypi/msgpack?source=hash-mapping - size: 91155 - timestamp: 1749813638452 + size: 91520 + timestamp: 1756678855205 - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.6.3-py312h178313f_0.conda sha256: c703d148a85ffb4f11001d31b7c4c686a46ad554eeeaa02c69da59fbf0e00dbb md5: f4e246ec4ccdf73e50eefb0fa359a64e @@ -5624,18 +5652,18 @@ packages: - pkg:pypi/munkres?source=hash-mapping size: 15851 timestamp: 1749895533014 -- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.1.2-pyhe01879c_0.conda - sha256: 54c58f45029b79a1fec25dc6f6179879afa4dddb73e5c38c85e574f66bb1d930 - md5: 90d3b6c75c144e8c461b846410d7c0bf +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.3.0-pyhcf101f3_0.conda + sha256: 8877c4bc67b9578766f905139e510ac8669d7200f0e3adf0b4e04d7ecc214c15 + md5: ae268cbf8676bb70014132fc9dd1a0e3 depends: - - python >=3.9 + - python >=3.10 - python license: MIT license_family: MIT purls: - pkg:pypi/narwhals?source=hash-mapping - size: 243121 - timestamp: 1755254908603 + size: 251171 + timestamp: 1756741653794 - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda sha256: a20cff739d66c2f89f413e4ba4c6f6b59c50d5c30b5f0d840c13e8c9c2df9135 md5: 6bb0d77277061742744176ab555b723c @@ -6149,17 +6177,18 @@ packages: - pkg:pypi/pandocfilters?source=hash-mapping size: 11627 timestamp: 1631603397334 -- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda - sha256: 17131120c10401a99205fc6fe436e7903c0fa092f1b3e80452927ab377239bcc - md5: 5c092057b6badd30f75b06244ecd01c9 +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda + sha256: 30de7b4d15fbe53ffe052feccde31223a236dae0495bab54ab2479de30b2990f + md5: a110716cdb11cf51482ff4000dc253d7 depends: - - python >=3.9 + - python >=3.10 + - python license: MIT license_family: MIT purls: - pkg:pypi/parso?source=hash-mapping - size: 75295 - timestamp: 1733271352153 + size: 81562 + timestamp: 1755974222274 - conda: https://conda.anaconda.org/conda-forge/noarch/partd-1.4.2-pyhd8ed1ab_0.conda sha256: 472fc587c63ec4f6eba0cc0b06008a6371e0a08a5986de3cf4e8024a47b4fe6c md5: 0badf9c54e24cecfb0ad2f99d680c163 @@ -6195,18 +6224,18 @@ packages: - pkg:pypi/pickleshare?source=hash-mapping size: 11748 timestamp: 1733327448200 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h80c1187_0.conda - sha256: 7c9a8f65a200587bf7a0135ca476f9c472348177338ed8b825ddcc08773fde68 - md5: 7911e727a6c24db662193a960b81b6b2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h0e488c8_1.conda + sha256: 27248be068e1ad8be4872e49d89f22904bb578e2a5bafcb2bfffef7da544f242 + md5: 6b8bc565d829a9e46178da86e05e19d0 depends: - __glibc >=2.17,<3.0.a0 - lcms2 >=2.17,<3.0a0 - libfreetype >=2.13.3 - libfreetype6 >=2.13.3 - - libgcc >=13 + - libgcc >=14 - libjpeg-turbo >=3.1.0,<4.0a0 - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.5.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 - libxcb >=1.17.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - openjpeg >=2.5.3,<3.0a0 @@ -6215,12 +6244,12 @@ packages: - tk >=8.6.13,<8.7.0a0 license: HPND purls: - - pkg:pypi/pillow?source=hash-mapping - size: 42964111 - timestamp: 1751482158083 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-11.3.0-py312h50aef2c_0.conda - sha256: 3d60288e8cfd42e4548c9e5192a285e73f81df2869f69b9d3905849b45d9bd2a - md5: dddff48655b5cd24a5170a6df979943a + - pkg:pypi/pillow?source=compressed-mapping + size: 42228308 + timestamp: 1756853546193 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pillow-11.3.0-py312hce42e9c_1.conda + sha256: 01c6a1cca59bac7bb9c22bfbc04806246abd4833d9b2ba7f4087935099f69211 + md5: 2f34c31cdeb63c63316484b268b8500e depends: - __osx >=11.0 - lcms2 >=2.17,<3.0a0 @@ -6228,7 +6257,7 @@ packages: - libfreetype6 >=2.13.3 - libjpeg-turbo >=3.1.0,<4.0a0 - libtiff >=4.7.0,<4.8.0a0 - - libwebp-base >=1.5.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 - libxcb >=1.17.0,<2.0a0 - libzlib >=1.3.1,<2.0a0 - openjpeg >=2.5.3,<3.0a0 @@ -6239,20 +6268,20 @@ packages: license: HPND purls: - pkg:pypi/pillow?source=hash-mapping - size: 42514714 - timestamp: 1751482419501 -- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.8-pyhe01879c_0.conda - sha256: 0f48999a28019c329cd3f6fd2f01f09fc32cc832f7d6bbe38087ddac858feaa3 - md5: 424844562f5d337077b445ec6b1398a7 + size: 41849213 + timestamp: 1756853810909 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.4.0-pyhcf101f3_0.conda + sha256: dfe0fa6e351d2b0cef95ac1a1533d4f960d3992f9e0f82aeb5ec3623a699896b + md5: cc9d9a3929503785403dbfad9f707145 depends: - - python >=3.9 + - python >=3.10 - python license: MIT license_family: MIT purls: - - pkg:pypi/platformdirs?source=hash-mapping - size: 23531 - timestamp: 1746710438805 + - pkg:pypi/platformdirs?source=compressed-mapping + size: 23653 + timestamp: 1756227402815 - conda: https://conda.anaconda.org/conda-forge/linux-64/prometheus-cpp-1.3.0-ha5d0236_0.conda sha256: 013669433eb447548f21c3c6b16b2ed64356f726b5f77c1b39d5ba17a8a4b8bc md5: a83f6a2fdc079e643237887a37460668 @@ -6293,20 +6322,20 @@ packages: - pkg:pypi/prometheus-client?source=hash-mapping size: 52641 timestamp: 1748896836631 -- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.51-pyha770c72_0.conda - sha256: ebc1bb62ac612af6d40667da266ff723662394c0ca78935340a5b5c14831227b - md5: d17ae9db4dc594267181bd199bf9a551 +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae + md5: edb16f14d920fb3faf17f5ce582942d6 depends: - - python >=3.9 + - python >=3.10 - wcwidth constrains: - - prompt_toolkit 3.0.51 + - prompt_toolkit 3.0.52 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/prompt-toolkit?source=hash-mapping - size: 271841 - timestamp: 1744724188108 + size: 273927 + timestamp: 1756321848365 - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py312h178313f_0.conda sha256: d0ff67d89cf379a9f0367f563320621f0bc3969fe7f5c85e020f437de0927bb4 md5: 0cf580c1b73146bb9ff1bbdb4d4c8cf9 @@ -6571,9 +6600,9 @@ packages: - pkg:pypi/pyhf?source=hash-mapping size: 120909 timestamp: 1740702170788 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-11.1-py312h4c66426_0.conda - sha256: d4b1ae7f925720c1a6643c03199c6a47ba6a536bfd630f522baa5fe6ebf4a786 - md5: 02247b8a9ba52a15a53edd6d4cf9dac4 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-11.1-py312h4c66426_1.conda + sha256: d681491154780f106cdecda4c03b2952ced102013a9c1631d21baa6500e9d335 + md5: 443e404c3d27e6c7925dd5e4a9672c5e depends: - __osx >=11.0 - libffi >=3.4.6,<3.5.0a0 @@ -6584,12 +6613,12 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/pyobjc-core?source=hash-mapping - size: 474838 - timestamp: 1750207878592 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-11.1-py312hb9d441b_0.conda - sha256: a6f262fe5706c73dce7ca7fbec9a055fc225422ad8d7fc45dd66ad9dddb0afe3 - md5: 5b7a58b273bca2c67dd8ddaea92e404e + - pkg:pypi/pyobjc-core?source=compressed-mapping + size: 474222 + timestamp: 1756813261461 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-11.1-py312h3964663_1.conda + sha256: f4f6ef1261080336fa3c37cb1a853fcd5119845f8a91d3f3cadec40ea39dbbd6 + md5: bf1e3e9543301d705427a763a92eb2ef depends: - __osx >=11.0 - libffi >=3.4.6,<3.5.0a0 @@ -6601,8 +6630,8 @@ packages: license_family: MIT purls: - pkg:pypi/pyobjc-framework-cocoa?source=hash-mapping - size: 386128 - timestamp: 1750225477437 + size: 382439 + timestamp: 1756824097019 - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.3-pyhe01879c_2.conda sha256: afe32182b1090911b64ac0f29eb47e03a015d142833d8a917defd65d91c99b74 md5: aa0028616c0750c773698fdc254b2b8d @@ -6701,6 +6730,16 @@ packages: - pkg:pypi/fastjsonschema?source=hash-mapping size: 244628 timestamp: 1755304154927 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.11-hd8ed1ab_0.conda + sha256: b8afeaefe409d61fa4b68513b25a66bb17f3ca430d67cfea51083c7bfbe098ef + md5: 859c6bec94cd74119f12b961aba965a8 + depends: + - cpython 3.12.11.* + - python_abi * *_cp312 + license: Python-2.0 + purls: [] + size: 45836 + timestamp: 1749047798827 - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda sha256: 4790787fe1f4e8da616edca4acf6a4f8ed4e7c6967aa31b920208fc8f95efcca md5: a61bf9ec79426938ff785eb69dbb1960 @@ -6805,40 +6844,39 @@ packages: - pkg:pypi/pyyaml?source=hash-mapping size: 192148 timestamp: 1737454886351 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.0.2-py312h6748674_0.conda - sha256: d697fb7e36427b085feffd63288365be543f7c2a779e35205cb1e52d1ca49957 - md5: e0770749ec419e8e68e71716507c1be4 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.0.2-py312hfb55c3c_3.conda + noarch: python + sha256: b129a83b432c6302b10be57205f0ed47682575720a6c04f342e925872636a3ef + md5: 22a9ef9d4c242cc03376844ed54e1756 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libsodium >=1.0.20,<1.0.21.0a0 + - python - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - _python_abi3_support 1.* + - cpython >=3.12 - zeromq >=4.3.5,<4.4.0a0 license: BSD-3-Clause - license_family: BSD purls: - - pkg:pypi/pyzmq?source=compressed-mapping - size: 381481 - timestamp: 1755799909607 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.0.2-py312h211b278_0.conda - sha256: b958515ddde46cd2301df2e10236087222bf0cb740f0298f12a6dc94ed9635f3 - md5: a4a61ef89d6d5a2c2c4b3acd6bf338b4 + - pkg:pypi/pyzmq?source=hash-mapping + size: 211830 + timestamp: 1757116192543 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.0.2-py312hd65ceae_3.conda + noarch: python + sha256: 165c6bb07a03c03a2e49e44ec0ae93e232c8713ae2174dd63173123a4f904a29 + md5: 8c630a2acaf139386e9d9eb8d5da0d12 depends: - - __osx >=11.0 + - python - libcxx >=19 - - libsodium >=1.0.20,<1.0.21.0a0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - __osx >=11.0 + - _python_abi3_support 1.* + - cpython >=3.12 - zeromq >=4.3.5,<4.4.0a0 license: BSD-3-Clause - license_family: BSD purls: - pkg:pypi/pyzmq?source=hash-mapping - size: 358689 - timestamp: 1755799848254 + size: 190675 + timestamp: 1757116278310 - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc md5: 353823361b1d27eb3960efb076dfcaf6 @@ -7004,9 +7042,9 @@ packages: - pkg:pypi/rich?source=hash-mapping size: 201098 timestamp: 1753436991345 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.27.0-py312h868fb18_0.conda - sha256: cfc9c79f0e2658754b02efb890fe3c835d865ed0535155787815ae16e56dbe9c - md5: 3d3d11430ec826a845a0e9d6ccefa294 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.27.1-py312h868fb18_1.conda + sha256: 76efba673e02d4d47bc2de6e48a8787ed98bae4933233dee5ce810fa3de6ef2b + md5: 0e32f9c8ca00c1b926a1b77be6937112 depends: - python - __glibc >=2.17,<3.0.a0 @@ -7017,12 +7055,12 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/rpds-py?source=compressed-mapping - size: 388899 - timestamp: 1754570135763 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.27.0-py312h6f58b40_0.conda - sha256: 0a14b856d41b4ef51a4c67fd8200b18c1c21ba0f252a2e3f9f85678149e08141 - md5: ccbe846733e149a842df80f53f66ca72 + - pkg:pypi/rpds-py?source=hash-mapping + size: 389483 + timestamp: 1756737801011 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.27.1-py312h6f58b40_1.conda + sha256: 6a7d5d862f90a1d594213d2be34598988e34dd19040fd865dcd60c4fca023cbc + md5: ba21b22f398ede2df8c35f88a967be97 depends: - python - __osx >=11.0 @@ -7033,9 +7071,9 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/rpds-py?source=compressed-mapping - size: 357078 - timestamp: 1754569997063 + - pkg:pypi/rpds-py?source=hash-mapping + size: 355109 + timestamp: 1756737521820 - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.22-h96f233e_0.conda sha256: 12dc8ff959fbf28384fdfd8946a71bdfa77ec84f40dcd0ca5a4ae02a652583ca md5: 2f6fc0cf7cd248a32a52d7c8609d93a9 @@ -7090,9 +7128,9 @@ packages: - pkg:pypi/scikit-learn?source=hash-mapping size: 8931629 timestamp: 1752826246695 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.1-py312h4ebe9ca_0.conda - sha256: 988c9fb07058639c3ff6d8e1171a11dbd64bcc14d5b2dfe3039b610f6667b316 - md5: b01bd2fd775d142ead214687b793d20d +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.1-py312h7a1785b_1.conda + sha256: d5e65c845446ae64ad55b2ee0571f29d1ac39c8ced36e9f5a04d2d105e61fab9 + md5: b965f164d14d4cffe1ddcf39195b63d6 depends: - __glibc >=2.17,<3.0.a0 - libblas >=3.9.0,<4.0a0 @@ -7111,11 +7149,11 @@ packages: license_family: BSD purls: - pkg:pypi/scipy?source=hash-mapping - size: 17190354 - timestamp: 1754970575489 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.16.1-py312h286a95b_0.conda - sha256: 2d9d0173b58010c2ee09280b7e4fa185d191380a4f042698263b4ffa2671818b - md5: 9841d229c34dbca6fd039e76cfca307b + size: 17014751 + timestamp: 1756530097597 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.16.1-py312h6e75237_1.conda + sha256: 005096a5a5731c61484e1a901a11f082e83d92ad13588a59bea186be9f41bb85 + md5: a1f1ef4fafc37c93d4f77947d2b5e5d2 depends: - __osx >=11.0 - libblas >=3.9.0,<4.0a0 @@ -7135,8 +7173,8 @@ packages: license_family: BSD purls: - pkg:pypi/scipy?source=hash-mapping - size: 13840981 - timestamp: 1754970654942 + size: 13773643 + timestamp: 1756530081074 - conda: https://conda.anaconda.org/conda-forge/linux-64/scitokens-cpp-1.1.3-h6ac2c77_0.conda sha256: 44e6a7c1e3c1ea78614644cda41af6df2f9800dc8c7d313729138d96c87fdb18 md5: ac1d30b957982568fb034629771c94f2 @@ -7261,17 +7299,17 @@ packages: - pkg:pypi/sortedcontainers?source=hash-mapping size: 28657 timestamp: 1738440459037 -- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.7-pyhd8ed1ab_0.conda - sha256: 7518506cce9a736042132f307b3f4abce63bf076f5fb07c1f4e506c0b214295a - md5: fb32097c717486aa34b38a9db57eb49e +- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8-pyhd8ed1ab_0.conda + sha256: c978576cf9366ba576349b93be1cfd9311c00537622a2f9e14ba2b90c97cae9c + md5: 18c019ccf43769d211f2cf78e9ad46c2 depends: - - python >=3.9 + - python >=3.10 license: MIT license_family: MIT purls: - - pkg:pypi/soupsieve?source=hash-mapping - size: 37773 - timestamp: 1746563720271 + - pkg:pypi/soupsieve?source=compressed-mapping + size: 37803 + timestamp: 1756330614547 - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 md5: b1b505328da7a6b246787df4b5a49fbc @@ -7416,9 +7454,9 @@ packages: - pkg:pypi/toolz?source=hash-mapping size: 52475 timestamp: 1733736126261 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py312h4c3975b_0.conda - sha256: 891965f8e495ad5cef399db03a13df48df7add06ae131f4b77a88749c74b2060 - md5: 82dacd4832dcde0c2b7888248a3b3d7c +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.2-py312h4c3975b_1.conda + sha256: 7cd30a558a00293a33ab9bfe0e174311546f0a1573c9f6908553ecd9a9bc417b + md5: 66b988f7f1dc9fcc9541483cb0ab985b depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 @@ -7427,12 +7465,12 @@ packages: license: Apache-2.0 license_family: Apache purls: - - pkg:pypi/tornado?source=compressed-mapping - size: 850503 - timestamp: 1754732194289 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.2-py312h163523d_0.conda - sha256: 82ceea2527ac484f5c8d7dee95033935b7fecb0b42afb2d9538f7397404aa6d8 - md5: 181a5ca410bad66be792da0e11038016 + - pkg:pypi/tornado?source=hash-mapping + size: 850925 + timestamp: 1756855054247 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.5.2-py312h163523d_1.conda + sha256: 00e9adcab3564cc579af09c6089c60e5abf5b1fbdca5e4f0fa7299d90f35dc13 + md5: e5f3e0a27abcae26a90645dfff8d68a4 depends: - __osx >=11.0 - python >=3.12,<3.13.0a0 @@ -7442,8 +7480,8 @@ packages: license_family: Apache purls: - pkg:pypi/tornado?source=hash-mapping - size: 853490 - timestamp: 1754732280524 + size: 850838 + timestamp: 1756855106235 - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda sha256: 11e2c85468ae9902d24a27137b6b39b4a78099806e551d390e394a8c34b48e40 md5: 9efbfdc37242619130ea42b1cc4ed861 @@ -7466,18 +7504,19 @@ packages: - pkg:pypi/traitlets?source=hash-mapping size: 110051 timestamp: 1733367480074 -- conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.9-pyhd8ed1ab_0.conda - sha256: 20239fe58a8cce4f5ccb1985bbfacfa630f04e6d6c8c406bbb44d49da5705483 - md5: 14e2a9a27f168d52591755618a0b9c5b +- conda: https://conda.anaconda.org/conda-forge/noarch/treescope-0.1.10-pyhcf101f3_0.conda + sha256: 65e0ae292eded21b0c48645c9ca8db305fbceebc83f0f0cb90d536a3d57c28f2 + md5: 1ffcc20967a4e3bbea41ab3ba1af663f depends: - - numpy >=1.25.2 - python >=3.10 + - numpy >=1.25.2 + - python license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/treescope?source=hash-mapping - size: 121194 - timestamp: 1739897197893 + size: 131315 + timestamp: 1755968402632 - conda: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20250822-pyhd8ed1ab_0.conda sha256: dfdf6e3dea87c873a86cfa47f7cba6ffb500bad576d083b3de6ad1b17e1a59c3 md5: 5e9220c892fe069da8de2b9c63663319 @@ -7488,16 +7527,16 @@ packages: - pkg:pypi/types-python-dateutil?source=hash-mapping size: 24939 timestamp: 1755865615651 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.14.1-h4440ef1_0.conda - sha256: 349951278fa8d0860ec6b61fcdc1e6f604e6fce74fabf73af2e39a37979d0223 - md5: 75be1a943e0a7f99fcf118309092c635 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c + md5: edd329d7d3a4ab45dcf905899a7a6115 depends: - - typing_extensions ==4.14.1 pyhe01879c_0 + - typing_extensions ==4.15.0 pyhcf101f3_0 license: PSF-2.0 license_family: PSF purls: [] - size: 90486 - timestamp: 1751643513473 + size: 91383 + timestamp: 1756220668932 - conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.1-pyhd8ed1ab_0.conda sha256: 4259a7502aea516c762ca8f3b8291b0d4114e094bdb3baae3171ccc0900e722f md5: e0c3cd765dc15751ee2f0b03cd015712 @@ -7510,18 +7549,18 @@ packages: - pkg:pypi/typing-inspection?source=hash-mapping size: 18809 timestamp: 1747870776989 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.14.1-pyhe01879c_0.conda - sha256: 4f52390e331ea8b9019b87effaebc4f80c6466d09f68453f52d5cdc2a3e1194f - md5: e523f4f1e980ed7a4240d7e27e9ec81f +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 + md5: 0caa1af407ecff61170c9437a808404d depends: - - python >=3.9 + - python >=3.10 - python license: PSF-2.0 license_family: PSF purls: - - pkg:pypi/typing-extensions?source=hash-mapping - size: 51065 - timestamp: 1751643513473 + - pkg:pypi/typing-extensions?source=compressed-mapping + size: 51692 + timestamp: 1756220668932 - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda sha256: 3088d5d873411a56bf988eee774559335749aed6f6c28e07bf933256afb9eb6c md5: f6d7aa696c67756a650e91e15e88223c @@ -7555,23 +7594,23 @@ packages: - pkg:pypi/uhi?source=hash-mapping size: 35119 timestamp: 1755818259613 -- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h66e93f0_0.conda - sha256: 638916105a836973593547ba5cf4891d1f2cb82d1cf14354fcef93fd5b941cdc - md5: 617f5d608ff8c28ad546e5d9671cbb95 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py312h4c3975b_1.conda + sha256: cbf7d13819cf526a094f0cfe2da7f7ba22c4fbae4d231c9004520fbbf93f7027 + md5: 4da303c1e91703d178817252615ca0a7 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - libgcc >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache purls: - pkg:pypi/unicodedata2?source=hash-mapping - size: 404401 - timestamp: 1736692621599 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-16.0.0-py312hea69d52_0.conda - sha256: c6ca9ea11eecc650df4bce4b3daa843821def6d753eeab6d81de35bb43f9d984 - md5: 9a835052506b91ea8f0d8e352cd12246 + size: 404974 + timestamp: 1756494558558 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/unicodedata2-16.0.0-py312h163523d_1.conda + sha256: 6620dfce63e763460d586f8b04c986e2318a58d6be06f30591a0d41902dd39cf + md5: e7e792c655daeca54a98cf44fe0bbb5a depends: - __osx >=11.0 - python >=3.12,<3.13.0a0 @@ -7581,18 +7620,18 @@ packages: license_family: Apache purls: - pkg:pypi/unicodedata2?source=hash-mapping - size: 409745 - timestamp: 1736692768349 -- conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.3-pyhe01879c_0.conda - sha256: 7ef2830f06ecd5a2ba72c3207d66af657df891a8a34c0ad63a975f50bb11ea84 - md5: 99072b2b0e29981272cdf58cb1d6f065 + size: 410699 + timestamp: 1756494753956 +- conda: https://conda.anaconda.org/conda-forge/noarch/uproot-5.6.4-pyhe01879c_0.conda + sha256: 3bb6887bf11540d7b265709d623ec77a51915b8fca0fdd16bf2f01f56e6267de + md5: bc45ee2982dea85937f5f54e8b303af0 depends: - python >=3.9 - awkward >=2.4.6 - cramjam >=2.5.0 - python-xxhash - numpy - - fsspec + - fsspec !=2025.7.0 - packaging - typing_extensions >=4.1.0 - python @@ -7600,8 +7639,8 @@ packages: license_family: BSD purls: - pkg:pypi/uproot?source=hash-mapping - size: 271170 - timestamp: 1751970080607 + size: 271997 + timestamp: 1754856697980 - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda sha256: e0eb6c8daf892b3056f08416a96d68b0a358b7c46b99c8a50481b22631a4dfc0 md5: e7cb0f5745e4c5035a460248334af7eb @@ -7890,33 +7929,34 @@ packages: - pkg:pypi/yarl?source=hash-mapping size: 144423 timestamp: 1749555083669 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_7.conda - sha256: a4dc72c96848f764bb5a5176aa93dd1e9b9e52804137b99daeebba277b31ea10 - md5: 3947a35e916fcc6b9825449affbf4214 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3989a48_8.conda + sha256: 7e6c633537f4d80a57ad959eeddeef28ff731c96712e151b0160cff04beec72f + md5: f181964ddc6cf678a478e782043598c2 depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 - __glibc >=2.17,<3.0.a0 - krb5 >=1.21.3,<1.22.0a0 - - libgcc >=13 - libsodium >=1.0.20,<1.0.21.0a0 - - libstdcxx >=13 license: MPL-2.0 license_family: MOZILLA purls: [] - size: 335400 - timestamp: 1731585026517 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-hc1bb282_7.conda - sha256: 9e585569fe2e7d3bea71972cd4b9f06b1a7ab8fa7c5139f92a31cbceecf25a8a - md5: f7e6b65943cb73bce0143737fded08f1 + size: 309341 + timestamp: 1757042827773 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-hc0cf3cd_8.conda + sha256: f6472d0e300256702a5911de5e83e0f714ccf449c63b7d11a6de2fff7496ab8e + md5: 51521e723a51751a032f8f3797101093 depends: - __osx >=11.0 + - libcxx >=19 - krb5 >=1.21.3,<1.22.0a0 - - libcxx >=18 - libsodium >=1.0.20,<1.0.21.0a0 license: MPL-2.0 license_family: MOZILLA purls: [] - size: 281565 - timestamp: 1731585108039 + size: 243880 + timestamp: 1757042936223 - conda: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d md5: e52c2ef711ccf31bb7f70ca87d144b9e @@ -7962,36 +8002,40 @@ packages: purls: [] size: 77606 timestamp: 1727963209370 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312h66e93f0_2.conda - sha256: ff62d2e1ed98a3ec18de7e5cf26c0634fd338cb87304cf03ad8cbafe6fe674ba - md5: 630db208bc7bbb96725ce9832c7423bb +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.24.0-py312h3fa7853_1.conda + sha256: 0c9a5cd2a38361af58d29351dcaa9b16f45784b885562875ed96be315d025439 + md5: e14ae4525748c648ba9cc6b6116349b6 depends: - __glibc >=2.17,<3.0.a0 - cffi >=1.11 - - libgcc >=13 + - libgcc >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.5.8.0a0 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/zstandard?source=hash-mapping - size: 732224 - timestamp: 1745869780524 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312hea69d52_2.conda - sha256: c499a2639c2981ac2fd33bae2d86c15d896bc7524f1c5651a7d3b088263f7810 - md5: ba0eb639914e4033e090b46f53bec31c + - pkg:pypi/zstandard?source=compressed-mapping + size: 424205 + timestamp: 1756841111538 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.24.0-py312h26de6b3_1.conda + sha256: d84e71855f8f0168e0e6f2b9c8eefc36d4df5b95f6f3e85ae85bd3c3e5132fc1 + md5: 1c7500a891878a61a136605b711af46b depends: - __osx >=11.0 - cffi >=1.11 - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.5.8.0a0 + - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/zstandard?source=hash-mapping - size: 532173 - timestamp: 1745870087418 + - pkg:pypi/zstandard?source=compressed-mapping + size: 345168 + timestamp: 1756841514802 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 diff --git a/pixi.toml b/pixi.toml index 505b5cf..44e68a2 100644 --- a/pixi.toml +++ b/pixi.toml @@ -55,4 +55,4 @@ description = "Get started with the repository" depends-on = ["lab"] [environments] -lab = ["lab"] +lab = ["lab"] \ No newline at end of file From c2f052bdc1fa679eedfac0a6c99ec6daddd61347 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 22:04:26 +0200 Subject: [PATCH 18/24] fix jax stats to work with current analysis code if needed and switch back to evermore stat --- analysis/diff.py | 6 +++--- utils/evm_stats.py | 8 ++++---- utils/jax_stats.py | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/analysis/diff.py b/analysis/diff.py index ffa17a6..a8df3c1 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -35,8 +35,8 @@ # ============================================================================= from analysis.base import Analysis from user.cuts import lumi_mask -from utils.jax_stats import build_channel_data_scalar, compute_discovery_pvalue -from utils.evm_stats import fit_params #build_channel_data_scalar, compute_discovery_pvalue, +#from utils.jax_stats import build_channel_data_scalar, compute_discovery_pvalue +from utils.evm_stats import fit_params, build_channel_data_scalar, compute_discovery_pvalue from utils.logging import BLUE, GREEN, RED, RESET, log_banner, get_console from rich.table import Table from rich.text import Text @@ -1833,8 +1833,8 @@ def _prepare_data( all_channel_names = { f"Channel: {c.name}" for c in config.channels if c.use_in_diff } - summary_data = [] + summary_data = [] logger.info(log_banner("Processing skimmed data")) # Prepare dictionary to collect MVA training data diff --git a/utils/evm_stats.py b/utils/evm_stats.py index 8b0f2b9..7ecc3ed 100644 --- a/utils/evm_stats.py +++ b/utils/evm_stats.py @@ -48,7 +48,7 @@ def update(params: Params, values: PyTree[FScalar]) -> Params: def model_per_channel(params: Params, hists: Hists1D) -> Hists1D: # we put all modifiers into a list, so that we can compose them for application (scaling). # composing is important! it ensures that there's no order dependency in the application of the modifiers, - # and it allows us to apply multiple modifiers at once through batching (vmap) of the same modifier types, + # and it allows us to apply multiple modifiers at once through batching (vmap) of the same modifier types, # which greatly improves performance and reduces compiletime. out = {} @@ -133,14 +133,14 @@ def optx_loss(dynamic, args): ) # NLL nll = total_loss(fitresult.value, static, channels) - + # bestfit parameters bestfit_params = evm.tree.combine(fitresult.value, static) # bestfit parameter uncertainties # We use the Cramer-Rao bound to estimate uncertainties # use the bestfit parameters to compute the uncertainties, and split it by value of the parameters - # we explicitly not use `filter=evm.filter.is_not_frozen` here, because we want to compute uncertainties + # we explicitly not use `filter=evm.filter.is_not_frozen` here, because we want to compute uncertainties # for all parameters, not just the "unfrozen" ones dynamic, static = evm.tree.partition(bestfit_params, filter=evm.filter.is_value) bestfit_params_uncertainties = evm.loss.cramer_rao_uncertainty( @@ -365,7 +365,7 @@ def compute_discovery_pvalue( if not channels: logger.error("Discovery calculation aborted: no valid channels") return jnp.array(0.0), {} - + # update the internal evm parameters with the provided values optimized by the analysis # the internal evm_params have much more information that is needed for the fit (like names, constraints, etc), but they are not supposed to be trainable params = update(evm_params, parameters) diff --git a/utils/jax_stats.py b/utils/jax_stats.py index 580c4f0..23ed095 100644 --- a/utils/jax_stats.py +++ b/utils/jax_stats.py @@ -497,4 +497,4 @@ def compute_discovery_pvalue( return_mle_pars=True, # Return fitted nuisance parameters test_stat="q0", # Discovery test statistic ) - return p_value, mle_parameters + return p_value, (mle_parameters, {}) From 15742aad3e1152b4b41f02a2875d93fee9320789 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 22:04:41 +0200 Subject: [PATCH 19/24] remove import of removed module --- utils/__init__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/utils/__init__.py b/utils/__init__.py index b879f5a..5298fce 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -1,5 +1,4 @@ from . import metadata_extractor as metadata_extractor -from . import input_files as input_files from . import jax_stats as jax_stats from . import output_files as output_files from . import schema as schema @@ -8,7 +7,6 @@ "build_fileset_json", "configuration", "cuts", - "input_files", "jax_stats", "observables", "output_files", From 0985ea2213a65d955ce6443bf7c40a502db0cdc8 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 22:06:23 +0200 Subject: [PATCH 20/24] dont track cabinetry histograms --- .../cabinetry_histograms/CMS_WORKSHOP_data.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_data_modified.npz | Bin 996 -> 0 bytes .../cabinetry_histograms/CMS_WORKSHOP_signal.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_signal_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...MS_WORKSHOP_signal_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_signal_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_signal_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_signal_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...S_WORKSHOP_signal_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_signal_PU_weight_Up.npz | Bin 1332 -> 0 bytes ...CMS_WORKSHOP_signal_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_signal_modified.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_ttbar_had.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...WORKSHOP_ttbar_had_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_had_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...S_WORKSHOP_ttbar_had_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_had_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...ORKSHOP_ttbar_had_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz | Bin 1332 -> 0 bytes ..._WORKSHOP_ttbar_had_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_had_modified.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_ttbar_lep.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...WORKSHOP_ttbar_lep_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...S_WORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...ORKSHOP_ttbar_lep_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_lep_PU_weight_Up.npz | Bin 1332 -> 0 bytes ..._WORKSHOP_ttbar_lep_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_lep_modified.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_ttbar_semilep.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...SHOP_ttbar_semilep_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...RKSHOP_ttbar_semilep_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes ...CMS_WORKSHOP_ttbar_semilep_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...HOP_ttbar_semilep_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_semilep_PU_weight_Up.npz | Bin 1332 -> 0 bytes ...KSHOP_ttbar_semilep_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_ttbar_semilep_modified.npz | Bin 996 -> 0 bytes .../cabinetry_histograms/CMS_WORKSHOP_wjets.npz | Bin 996 -> 0 bytes .../CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...CMS_WORKSHOP_wjets_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_wjets_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_wjets_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...MS_WORKSHOP_wjets_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_wjets_PU_weight_Up.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_wjets_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../CMS_WORKSHOP_wjets_modified.npz | Bin 996 -> 0 bytes .../cabinetry_histograms/Zprime_channel_data.npz | Bin 1332 -> 0 bytes .../Zprime_channel_data_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_signal.npz | Bin 1332 -> 0 bytes .../Zprime_channel_signal_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...ime_channel_signal_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_signal_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...prime_channel_signal_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_signal_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...me_channel_signal_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_signal_PU_weight_Up.npz | Bin 1332 -> 0 bytes ...rime_channel_signal_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_signal_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_had.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_had_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ..._channel_ttbar_had_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_had_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...me_channel_ttbar_had_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_had_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...channel_ttbar_had_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_had_PU_weight_Up.npz | Bin 1332 -> 0 bytes ...e_channel_ttbar_had_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_had_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_lep.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ..._channel_ttbar_lep_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_lep_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...me_channel_ttbar_lep_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_lep_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...channel_ttbar_lep_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_lep_PU_weight_Up.npz | Bin 1332 -> 0 bytes ...e_channel_ttbar_lep_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_lep_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_semilep.npz | Bin 1332 -> 0 bytes ...prime_channel_ttbar_semilep_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...nnel_ttbar_semilep_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_semilep_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...hannel_ttbar_semilep_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes ...rime_channel_ttbar_semilep_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...nel_ttbar_semilep_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes ...Zprime_channel_ttbar_semilep_PU_weight_Up.npz | Bin 1332 -> 0 bytes ...annel_ttbar_semilep_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_ttbar_semilep_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_wjets.npz | Bin 1332 -> 0 bytes .../Zprime_channel_wjets_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...rime_channel_wjets_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_wjets_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...Zprime_channel_wjets_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_wjets_PU_weight_Down.npz | Bin 1332 -> 0 bytes ...ime_channel_wjets_PU_weight_Down_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_wjets_PU_weight_Up.npz | Bin 1332 -> 0 bytes ...prime_channel_wjets_PU_weight_Up_modified.npz | Bin 1332 -> 0 bytes .../Zprime_channel_wjets_modified.npz | Bin 1332 -> 0 bytes .../cabinetry_histograms/channel_data.npz | Bin 1332 -> 0 bytes .../channel_data_modified.npz | Bin 1332 -> 0 bytes .../cabinetry_histograms/channel_signal.npz | Bin 1332 -> 0 bytes .../channel_signal_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes .../channel_signal_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../channel_signal_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes .../channel_signal_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../channel_signal_modified.npz | Bin 1332 -> 0 bytes .../cabinetry_histograms/channel_ttbar_had.npz | Bin 1332 -> 0 bytes .../channel_ttbar_had_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes .../channel_ttbar_had_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../channel_ttbar_had_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes .../channel_ttbar_had_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../channel_ttbar_had_modified.npz | Bin 1332 -> 0 bytes .../channel_ttbar_semilep.npz | Bin 1332 -> 0 bytes .../channel_ttbar_semilep_MU_ID_SF_Down.npz | Bin 1332 -> 0 bytes ...nnel_ttbar_semilep_MU_ID_SF_Down_modified.npz | Bin 1332 -> 0 bytes .../channel_ttbar_semilep_MU_ID_SF_Up.npz | Bin 1332 -> 0 bytes ...hannel_ttbar_semilep_MU_ID_SF_Up_modified.npz | Bin 1332 -> 0 bytes .../channel_ttbar_semilep_modified.npz | Bin 1332 -> 0 bytes 124 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_data.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_data_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_had_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up_modified.npz delete mode 100644 nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_modified.npz diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data.npz deleted file mode 100644 index 517f0d60cde00fd47f37e21bb063e7b15acb5f1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;2?0Gr*8|Dk}3L4=_)Gc_lrSTC=jl954x;Q~}0jGpWl>KhQr$WX>m zt)7xvoLr=CrJ!z;W}&X5pq`drR8o|f7oT60k_r-cOUx-w1&SAEBo?Fs`5J}>I+{8P zwF=||F0gYBWIKTA3l$JLp$0-bbV29^Z4mkcRK6ht!aooJp&Ps)G=s5207_U?Pd=>% z3kyzQSQM9}q?QfVpy2p&`oe-Ux(>d%b9)ZIF?QhZS~Gv8pQ!`SnYp{C{6g jpdbce4wxPw-M}c$!~l%pe{B6$RQa diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_data_modified.npz deleted file mode 100644 index 517f0d60cde00fd47f37e21bb063e7b15acb5f1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;2?0Gr*8|Dk}3L4=_)Gc_lrSTC=jl954x;Q~}0jGpWl>KhQr$WX>m zt)7xvoLr=CrJ!z;W}&X5pq`drR8o|f7oT60k_r-cOUx-w1&SAEBo?Fs`5J}>I+{8P zwF=||F0gYBWIKTA3l$JLp$0-bbV29^Z4mkcRK6ht!aooJp&Ps)G=s5207_U?Pd=>% z3kyzQSQM9}q?QfVpy2p&`oe-Ux(>d%b9)ZIF?QhZS~Gv8pQ!`SnYp{C{6g jpdbce4wxPw-M}c$!~l%pe{B6$RQa diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal.npz deleted file mode 100644 index 388efe696d551b59adfaca91d3c487e5e912b800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;1X)-w-h{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0YukywxlcGJ8VCtgJdO&&u-_0wQK)PfK*H%9uz0WSCF&;>NfBJGp7LXRL z{@0ohq!}0gcS-@$yH5Sx9RQ>wjG1Q|I0T@CMbyo`ov^Ur1cpU%NlI$jU=4~;txDTP z>mJ(MoIja&I`XOg$3H6s`li0N-}hO5r>4tSdv+K3_QhrY?9CDyx(=RVcG%B;SCzYm z)nO%nrK7(aql3P$?92_u-|Xj{jCU=Nd1j9q6x>IxOJPC50St(s^oN!$X3=NDtK%MYJhOP}11)v}XVGa~+;!F(i V2nq0JWdlhv1L0C2t;r1H0RS~Q?TG*Y diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_MU_ID_SF_Down.npz deleted file mode 100644 index 9e381f907d1fd16db8c36e2bb04365191609a9db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?#fdYD{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku849jMluvzp*}f(3t#gGxr$gQe$w~cjVh$cVGQINjgdF7i|E~ISg4=;Z z`1+eZLtzJlE)HM+=h6-}#eV|!m*MkMy1Pw#%&@8lIYa zO` zt}FHxHUi(b^j^0=kXxP>lX1u17P>wCK+AV~=U1zw7`K17 zzppZ{GG*R3`^_BrGP`TP+CO{p+f1?ii#@x*{IuyopX_@doMxM<_rd;hhV#7qZ!hgp zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-m*MkMy1Pw#%&@8lIYa zO` zt}FHxHUi(b^j^0=kXxP>lX1u17P>wCK+AV~=U1zw7`K17 zzppZ{GG*R3`^_BrGP`TP+CO{p+f1?ii#@x*{IuyopX_@doMxM<_rd;hhV#7qZ!hgp zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-2|3hEN!_{P9k&CE zDbubMKEe)%*6rty3*r7N@D@VvD{$JL|T z7VLF)=zG%@CHc(5A))o&AE9-=4*zy6c5!G6bU1m>yV1ld*rBQGoMw7Yume+EOwfiC zfev~L^PcqZ1vs=vIbWI}=j-4xbyw1pFn5RAYT1QPjGY{oO_Qp!$~AWgKneR8o<~No zu;&DZeQ`-jYS~~9dezJOZ@-b=Vc)WrxBiFKWqXEv)~o*~+_c|$BmYAe_jUW3X;Zre z)vnm{HRKN)zwc8!k*<(|PBC{p`Qi|3rPB+Lvi8RVw)O!ak_r=@s_E zH}NdW*7Vf3^R*RH`|0@)vuauDeX#*`Mq^S02vZ>hi&UHebC^r{pVp z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O2|3hEN!_{P9k&CE zDbubMKEe)%*6rty3*r7N@D@VvD{$JL|T z7VLF)=zG%@CHc(5A))o&AE9-=4*zy6c5!G6bU1m>yV1ld*rBQGoMw7Yume+EOwfiC zfev~L^PcqZ1vs=vIbWI}=j-4xbyw1pFn5RAYT1QPjGY{oO_Qp!$~AWgKneR8o<~No zu;&DZeQ`-jYS~~9dezJOZ@-b=Vc)WrxBiFKWqXEv)~o*~+_c|$BmYAe_jUW3X;Zre z)vnm{HRKN)zwc8!k*<(|PBC{p`Qi|3rPB+Lvi8RVw)O!ak_r=@s_E zH}NdW*7Vf3^R*RH`|0@)vuauDeX#*`Mq^S02vZ>hi&UHebC^r{pVp z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&OP5YdBiRhT!*X^Z! zTn~Qfx?;b+>fBqinj7|}E9Lrg9^bJqW3fCQR{qfb%8|kYzUt5H6TUI-lt@>_1fkphl|DJF5S~ZC_N)=!24MnPhSGs<-53S3aYWnSieUpBq(=Vpi z_NYO>?%(Teu%PDv27OXy9z4-|KodQTrYzB$QYq2gyvWVp?@p`CVoaHU1rpx2UM_tFg#~7FfcTL!yi!)q3Z)>8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYuiI?W diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Down_modified.npz deleted file mode 100644 index fe6974f86fba2d6b0e2e531b00c69671c8390de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?+3GL-{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8I%iMyXS4bVxPDE318T04u@F_W$Zge#2nI0U!A#TC**K~r~U`eb8ZKd z?I|}lW(Yf&g-%KOy;<7fSNLt6?Z=fJdYzVT(qFCb5T;rqwd$^^LqXNe1@#ZC9d13i zA6KvD;xK*H%P5YdBiRhT!*X^Z! zTn~Qfx?;b+>fBqinj7|}E9Lrg9^bJqW3fCQR{qfb%8|kYzUt5H6TUI-lt@>_1fkphl|DJF5S~ZC_N)=!24MnPhSGs<-53S3aYWnSieUpBq(=Vpi z_NYO>?%(Teu%PDv27OXy9z4-|KodQTrYzB$QYq2gyvWVp?@p`CVoaHU1rpx2UM_tFg#~7FfcTL!yi!)q3Z)>8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYuiI?W diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up.npz deleted file mode 100644 index 5450614b957d6c3631f21657e9e30f152aae590c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1X3*k)Z|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*A_78haa1#7Me`+b#O3bIa#|U&_T@aKmWbM!44(1WeuTIf*rOQ1!#t} z2092`{OMhn9^h~-`uDG0B7P3LExxX2f93A*cH;6YXgDnk_Sn~ZddQ?7yJoMf``78T^DTQePbcZ`#Hz%L`^^V z+ummKv+LWh{Ip;6!dQ|0)ld6BHw!*!efwem^kHa;$Ct16Mki9#uh05yA9m{Znijx__^?!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=KxOp4QUYiKoNv?sDjWB8X)w7 z76_ft0ihLopz{3?`ocsAyJgsu;iZD9I1 zf$CwPfw2at6P}6CwSl4>6r~`{0n-Dd8yLScF~Ac*fHx}}NRk-{mjdZZ77z~ra?5IP diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_PU_weight_Up_modified.npz deleted file mode 100644 index 5450614b957d6c3631f21657e9e30f152aae590c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1X3*k)Z|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*A_78haa1#7Me`+b#O3bIa#|U&_T@aKmWbM!44(1WeuTIf*rOQ1!#t} z2092`{OMhn9^h~-`uDG0B7P3LExxX2f93A*cH;6YXgDnk_Sn~ZddQ?7yJoMf``78T^DTQePbcZ`#Hz%L`^^V z+ummKv+LWh{Ip;6!dQ|0)ld6BHw!*!efwem^kHa;$Ct16Mki9#uh05yA9m{Znijx__^?!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=KxOp4QUYiKoNv?sDjWB8X)w7 z76_ft0ihLopz{3?`ocsAyJgsu;iZD9I1 zf$CwPfw2at6P}6CwSl4>6r~`{0n-Dd8yLScF~Ac*fHx}}NRk-{mjdZZ77z~ra?5IP diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_signal_modified.npz deleted file mode 100644 index 388efe696d551b59adfaca91d3c487e5e912b800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;1X)-w-h{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0YukywxlcGJ8VCtgJdO&&u-_0wQK)PfK*H%9uz0WSCF&;>NfBJGp7LXRL z{@0ohq!}0gcS-@$yH5Sx9RQ>wjG1Q|I0T@CMbyo`ov^Ur1cpU%NlI$jU=4~;txDTP z>mJ(MoIja&I`XOg$3H6s`li0N-}hO5r>4tSdv+K3_QhrY?9CDyx(=RVcG%B;SCzYm z)nO%nrK7(aql3P$?92_u-|Xj{jCU=Nd1j9q6x>IxOJPC50St(s^oN!$X3=NDtK%MYJhOP}11)v}XVGa~+;!F(i V2nq0JWdlhv1L0C2t;r1H0RS~Q?TG*Y diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had.npz deleted file mode 100644 index 4002dd70c7a021a2d73dd51563ce20ae0280f020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;2?1vgWc|AzuD1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl0c3@y|(B5h<4WhZi?kWN4gvUB^ia`3ntX4j8Ak8q_YBM8 z%^pbanJIb;L@RWkzYC?;+6SP71&0XN6h%XBqgJ;_ZI0eT()0wyl&yC z?T77eGu(a~AaWE(P;ei$E`$WmmM9FVkSIW|$#ejb3=DM+ zVCq0Sgm#z!p%+Yn&goUh diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_MU_ID_SF_Down.npz deleted file mode 100644 index 2c28af2f27932931ca9be56436e15432f879099e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1XR<`8C|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*@bRE9PY;%>-Va?yzT{1_Q9E@)-cqi8V%ibaE zqZQY!Z}zv0RCjKYes5p1@sm`h>U(?poKuS~s6VlnUzsrVy8c=F(yBDmw7k9chH5j` zehWBjUw1#vw*B<6xhM&4Wbp9W;4?qd~J?}DS!or>t z81}^_DXC?HJ?MW~{(JH_YN!46#`%jm9j@8iMF;Hpa`~FQfPhTypW^HG`r*eMQZ`<) z7dcR{(_-31`?x-_0;B!c?f?D0@;yQQy8Uy#-8}9$uGxRNFmcU3rW^Jl|MvKcq+GG* zdvIv6tj8sLZSf=>8NGA%fq%95V$ILlU$psrkJ0~xebRb^ClB=Z+Uv2)f1ZDSi~TF( zg|mJK?6sez(sryR@qqoqlCL_yYj)bJZN5<)wQ&nP=#MjrB!s8!L<{WOA+*OL2yL+#LTfC6&=N}_ zG{-Us{bQL!fHxzPE;DM;11eZR7@o5k7#JGB;g2YY(Di|`4NM;=P(2JZFxCKd!ZQ)N nHc*s@bRE9PY;%>-Va?yzT{1_Q9E@)-cqi8V%ibaE zqZQY!Z}zv0RCjKYes5p1@sm`h>U(?poKuS~s6VlnUzsrVy8c=F(yBDmw7k9chH5j` zehWBjUw1#vw*B<6xhM&4Wbp9W;4?qd~J?}DS!or>t z81}^_DXC?HJ?MW~{(JH_YN!46#`%jm9j@8iMF;Hpa`~FQfPhTypW^HG`r*eMQZ`<) z7dcR{(_-31`?x-_0;B!c?f?D0@;yQQy8Uy#-8}9$uGxRNFmcU3rW^Jl|MvKcq+GG* zdvIv6tj8sLZSf=>8NGA%fq%95V$ILlU$psrkJ0~xebRb^ClB=Z+Uv2)f1ZDSi~TF( zg|mJK?6sez(sryR@qqoqlCL_yYj)bJZN5<)wQ&nP=#MjrB!s8!L<{WOA+*OL2yL+#LTfC6&=N}_ zG{-Us{bQL!fHxzPE;DM;11eZR7@o5k7#JGB;g2YY(Di|`4NM;=P(2JZFxCKd!ZQ)N nHc*s*HL=zJGEX3r6PJLEP4qr;v3Cs{r=>|&gdZO`nyD5;hR0% z1FI!FO}^T1Vo-_Fk7jmw&b+@bBa6vF^;_bFz7LEJ)8b8g{@!JB=#2?Yy|w=o24HZ9HFYY%hpiEf1j-Ezn515m<#;s-4jSlDv{ z!@jsACADm@2mMvOqE#$4JMAYdnfu~q%r*N5kK@XT_{AJaFcc z{TU&?KhM@*w6B=@b@JUO*X_@&S~n}&`?~#X@8CTSzpvSEm1zt)p?t&seAavR?G0D# z4;^(|IxFRpeeAcNlbiWmK>IAA|*HL=zJGEX3r6PJLEP4qr;v3Cs{r=>|&gdZO`nyD5;hR0% z1FI!FO}^T1Vo-_Fk7jmw&b+@bBa6vF^;_bFz7LEJ)8b8g{@!JB=#2?Yy|w=o24HZ9HFYY%hpiEf1j-Ezn515m<#;s-4jSlDv{ z!@jsACADm@2mMvOqE#$4JMAYdnfu~q%r*N5kK@XT_{AJaFcc z{TU&?KhM@*w6B=@b@JUO*X_@&S~n}&`?~#X@8CTSzpvSEm1zt)p?t&seAavR?G0D# z4;^(|IxFRpeeAcNlbiWmK>IAA| z=Dttg@y$No=VIgEh!6HwMh}l_Xur2FlwZVo(eR1AuEp%{ox3mCPnfMz^Yqw3`%QY+ zb3>k-wtv@u=)OMB75kp0S$E&C9kFLS@@RQ?(*b*!d-dNtm4;qBZXbXW_Teu)&%nZ- z6BzczB`K+8gFWb3UKcIzTyVhtK@dmE!Ob`91#CAO*ZSSC|KyrJJ$BCx`>kgu?YS>^ z#r|&0y1fc&m+kk$-_c)vnuz9Bg}f%KwJ_j-VAuhkx9(_lS-Y*Gsu( z|I*$fxn{y8`#&km&MlX?U|;9ls&=77Cj;Q}io+nx3~ z*D5l4x%SvA#ItVM<#Nb=uF0xDPYDk072Z|uHLluO6&;X$qv_R;D4hXH#1C{TG z&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI`u>e9xEQHV=iy*YcVhF9V1VT$J zh0q+!AoP!A4gubbOuEddMGvT80bzK~W?*1w0Ea)KAVSv%$~G{4oIv$3(7;#&)Ctc- o=-NP04vJC`=78w|(hZE?nHb;+Ai$fI4J647giC>RB@2iL0F3i)uK)l5 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Down_modified.npz deleted file mode 100644 index 8eeeac7fb06f30122cd22e03f036f3d197f1740a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?KW;mh{f7cB1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGnihN5pLgi#=c~J52r#nlf%6W7aIa+GC0IMJ8|G;I-|qM-76-pIsDE3 zo#@O5R&&1D|2wi`(o!`RhbN!<(#z&EI=D{dtE=*5a^Tpl^ubPr#bNJ_PXe~Qf9<&> z=Dttg@y$No=VIgEh!6HwMh}l_Xur2FlwZVo(eR1AuEp%{ox3mCPnfMz^Yqw3`%QY+ zb3>k-wtv@u=)OMB75kp0S$E&C9kFLS@@RQ?(*b*!d-dNtm4;qBZXbXW_Teu)&%nZ- z6BzczB`K+8gFWb3UKcIzTyVhtK@dmE!Ob`91#CAO*ZSSC|KyrJJ$BCx`>kgu?YS>^ z#r|&0y1fc&m+kk$-_c)vnuz9Bg}f%KwJ_j-VAuhkx9(_lS-Y*Gsu( z|I*$fxn{y8`#&km&MlX?U|;9ls&=77Cj;Q}io+nx3~ z*D5l4x%SvA#ItVM<#Nb=uF0xDPYDk072Z|uHLluO6&;X$qv_R;D4hXH#1C{TG z&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI`u>e9xEQHV=iy*YcVhF9V1VT$J zh0q+!AoP!A4gubbOuEddMGvT80bzK~W?*1w0Ea)KAVSv%$~G{4oIv$3(7;#&)Ctc- o=-NP04vJC`=78w|(hZE?nHb;+Ai$fI4J647giC>RB@2iL0F3i)uK)l5 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up.npz deleted file mode 100644 index 4cfb5490f5b6cf350380516687b931db5897d864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1Xfx6?$|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TKUW9!Blc--VXiwx@7OCxJP(`geb>IHBwjx7z&-n2(evHe-dwSN zGq-4qK-)F@h(=~kH>Df)9~pQ(#vi!$!2a}stDh{+-?N|3 zpeQRf|C0TdbcY@FeAn&wDootD{qF_)sQ4uTJJuby@6$^z>fL|Hp5^JC*)r32+0V{M z{Kne4-TwcZ10hGHkJ!5!-Zpdlx5@s~5LR&0`&>Bl1w8T;f z&9MwZ|5)Y_;LXUS%Zys|fC?56hUaVs28IT3_#+A;bbX*~1JlO|R1X6Uj5R==@JxiR m4HV^|CwYA!1$es0iFN?yjj^mlFUH36i8RHfOr7XwPo%A diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_PU_weight_Up_modified.npz deleted file mode 100644 index 4cfb5490f5b6cf350380516687b931db5897d864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1Xfx6?$|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TKUW9!Blc--VXiwx@7OCxJP(`geb>IHBwjx7z&-n2(evHe-dwSN zGq-4qK-)F@h(=~kH>Df)9~pQ(#vi!$!2a}stDh{+-?N|3 zpeQRf|C0TdbcY@FeAn&wDootD{qF_)sQ4uTJJuby@6$^z>fL|Hp5^JC*)r32+0V{M z{Kne4-TwcZ10hGHkJ!5!-Zpdlx5@s~5LR&0`&>Bl1w8T;f z&9MwZ|5)Y_;LXUS%Zys|fC?56hUaVs28IT3_#+A;bbX*~1JlO|R1X6Uj5R==@JxiR m4HV^|CwYA!1$es0iFN?yjj^mlFUH36i8RHfOr7XwPo%A diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_had_modified.npz deleted file mode 100644 index 4002dd70c7a021a2d73dd51563ce20ae0280f020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;2?1vgWc|AzuD1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl0c3@y|(B5h<4WhZi?kWN4gvUB^ia`3ntX4j8Ak8q_YBM8 z%^pbanJIb;L@RWkzYC?;+6SP71&0XN6h%XBqgJ;_ZI0eT()0wyl&yC z?T77eGu(a~AaWE(P;ei$E`$WmmM9FVkSIW|$#ejb3=DM+ zVCq0Sgm#z!p%+Yn&goUh diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep.npz deleted file mode 100644 index 149176edc41de5058e8604db5bd7de6001d7fb3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;1X0o(gW|3d*6g9t-qW@=7Kv0h$5B_o3X!v&~17(Ll9)HfiKk)e#C zT0JGTIJrpONQ_5*u%K5j9_|2ORW!2AnnLBW00x)c@^9KfJR%FKf&iW|Vt0|6LKS)wqcMxp?^ zCes1rCI*H&2QYP@9YQ-yfY1x3Kxl@U5ISKlgnqC9LJKU0&<;x>bis0m0B=SnU1rp* z0?G&=3`&VG(7*^{AuEncH0@4kPJV2fBM24;n6a}Cl24M~qZQ@J}@CXU; SW@Q6OG6UgKAg##^;sF3R`0G#r diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Down.npz deleted file mode 100644 index 9980e61de5ce9ce1b70763a6c19f317057f465c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?8OIDW{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8MY-`UUt~})V}aq?wXu#HHWx4@zyo=mJYkFlVR>bLVhK7Wwk%#3V+CGL>nW@tq6~f^2-+>i2)y2cU#KqrGE2 zEbKXfVP9O5l3F&{gFfjs!}=qi4%zqYw7C>m`Pe>Q@cHqhGH>le^^b|J(0*&*B$1ao z>BuYlZrSPEH(q>he}qwPlBMAb`&UojY;*B>X&<}g+V%x@FYWbC@IGnid1b%w@&CDn z7hl<%PwIYTtoYLYtDmRTnn};>6L(5!ZS8tuZ?Q-J+l}K7?FCMJ4V#zwz&_r30i(Fi zJ^Rq}KH4Gtx9nf|XGyBgzh)oMBD6|~^NM}B6dOx3&qaHIWV^o9&I|VOY()!CoIi^e z^y~h;-UbVL4q(tHW#+*Xy$3YW!)VG9y(yIvy`KX(@i(MF=mSL%+MxVR>bLVhK7Wwk%#3V+CGL>nW@tq6~f^2-+>i2)y2cU#KqrGE2 zEbKXfVP9O5l3F&{gFfjs!}=qi4%zqYw7C>m`Pe>Q@cHqhGH>le^^b|J(0*&*B$1ao z>BuYlZrSPEH(q>he}qwPlBMAb`&UojY;*B>X&<}g+V%x@FYWbC@IGnid1b%w@&CDn z7hl<%PwIYTtoYLYtDmRTnn};>6L(5!ZS8tuZ?Q-J+l}K7?FCMJ4V#zwz&_r30i(Fi zJ^Rq}KH4Gtx9nf|XGyBgzh)oMBD6|~^NM}B6dOx3&qaHIWV^o9&I|VOY()!CoIi^e z^y~h;-UbVL4q(tHW#+*Xy$3YW!)VG9y(yIvy`KX(@i(MF=mSL%+MxT|@sxFo_T&*w4$*?()6HMH3MUZX`MT7)M}eLh%l&I_pdZ{n9xwD z%y7=gL11O+%)htv99FalGUTt&bhyBmv5`SS*}G=!}|NNKMcQF694?qd~BYgF& zu(0O@hJA5KN^03)5Bg}f2mgz>58Lm}tb1@~(qnsz?upG8o!;6nTAQTW67<%-HFu}s z^_Q>gcm3QDmh|bledk$*{Q|)+>VA9suW_WhVdt diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_MU_ID_SF_Up_modified.npz deleted file mode 100644 index 3f3580a4c15318a8b8c00dc1bc5d2cdcbcc0531b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1XiGxb7{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8H}4-W7{u2wU@4+aq`UyHHXei9w{{mmJaJwH(P2&S~@&1W|ptqVd_wA zyy?+>T|@sxFo_T&*w4$*?()6HMH3MUZX`MT7)M}eLh%l&I_pdZ{n9xwD z%y7=gL11O+%)htv99FalGUTt&bhyBmv5`SS*}G=!}|NNKMcQF694?qd~BYgF& zu(0O@hJA5KN^03)5Bg}f2mgz>58Lm}tb1@~(qnsz?upG8o!;6nTAQTW67<%-HFu}s z^_Q>gcm3QDmh|bledk$*{Q|)+>VA9suW_WhVdt diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Down.npz deleted file mode 100644 index 63480a4d6dd42bb85003854e286eb61eff2e3cd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?f=jbP{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8Ez#_KI=Z^nf?n(QgfJc##MYLla<4ZHzBtFrdvA5`g*2ZRxoqu z$yh!Aj;Eo+4r|%)kFG`z7jze?v&I-ZFe!h1*4Sa}aNj&lynU{zL&VfbHtBDs4!f)? zY)S=<9d1pZyH2D--(f>k-kFdYS`Gzk7CWx2R(4Q4_{;aboq|Kj22StNAJPsjHSBHQ zHj6lHGl|*ed5z!UB*)BK%(@&72kb9exvyk&h_{uG5d6X5@ah%Qlct2<_5mnipWI-Z z3JZHqVAvOzq@u*x1!0o5@9ML%-Mh&J}Mumy<)%pocI~5Wf$#F=&`&#lXB61Bg5uzufCi^ z3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQviQbe-iQdlvocJ5kAoPJE2<=b>p&v9r=mjkh zI-vtXEA&9+`yup&i4c0jWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ zZLt_aYb=4#5=$X8$1({0W0^yMHzSiSGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O?n(QgfJc##MYLla<4ZHzBtFrdvA5`g*2ZRxoqu z$yh!Aj;Eo+4r|%)kFG`z7jze?v&I-ZFe!h1*4Sa}aNj&lynU{zL&VfbHtBDs4!f)? zY)S=<9d1pZyH2D--(f>k-kFdYS`Gzk7CWx2R(4Q4_{;aboq|Kj22StNAJPsjHSBHQ zHj6lHGl|*ed5z!UB*)BK%(@&72kb9exvyk&h_{uG5d6X5@ah%Qlct2<_5mnipWI-Z z3JZHqVAvOzq@u*x1!0o5@9ML%-Mh&J}Mumy<)%pocI~5Wf$#F=&`&#lXB61Bg5uzufCi^ z3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQviQbe-iQdlvocJ5kAoPJE2<=b>p&v9r=mjkh zI-vtXEA&9+`yup&i4c0jWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ zZLt_aYb=4#5=$X8$1({0W0^yMHzSiSGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&OC{W#u3>IcKT(c}s_i{VQ{qFqt|0 z`@EZLMuMS3-F5G63%46NOcR;bB&=@iaR1o-$GqQ+9cC$6=mZs-I@}QPx}qLv=Ad}G zaebDAvBSH99ZU}x^&K{>>bp4grIy2qO)H{LDk?jyzALqZg-yXBb8+(SgVSXkJd2+% zSF0CuIQQ*=rrbh)2R+H%JgN~K4*w3BMX9`GaCmrXU3VfAqeIn(j=yI&|FRE23H#2L z?gg;0=LCj*aY;&Q*OcDJ&&C z>yiEZ&dJ`>y&l^Cx0OA=!QqxYvw5y=kLC^gwZ|Af{>Zvy|LC3m>8s6`?XzC>H`hM7 zfEM)Y{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5132+Fq(SHdMG)Gd3PL|8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYal~%T diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_PU_weight_Up_modified.npz deleted file mode 100644 index 146a11d10b6d23a6486cacc676a54770708ce365..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?_!i6O|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TC{W#u3>IcKT(c}s_i{VQ{qFqt|0 z`@EZLMuMS3-F5G63%46NOcR;bB&=@iaR1o-$GqQ+9cC$6=mZs-I@}QPx}qLv=Ad}G zaebDAvBSH99ZU}x^&K{>>bp4grIy2qO)H{LDk?jyzALqZg-yXBb8+(SgVSXkJd2+% zSF0CuIQQ*=rrbh)2R+H%JgN~K4*w3BMX9`GaCmrXU3VfAqeIn(j=yI&|FRE23H#2L z?gg;0=LCj*aY;&Q*OcDJ&&C z>yiEZ&dJ`>y&l^Cx0OA=!QqxYvw5y=kLC^gwZ|Af{>Zvy|LC3m>8s6`?XzC>H`hM7 zfEM)Y{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5132+Fq(SHdMG)Gd3PL|8<;*$ zpn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH;LXYgl4J(Lr9irp1;hgYal~%T diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_lep_modified.npz deleted file mode 100644 index 149176edc41de5058e8604db5bd7de6001d7fb3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;1X0o(gW|3d*6g9t-qW@=7Kv0h$5B_o3X!v&~17(Ll9)HfiKk)e#C zT0JGTIJrpONQ_5*u%K5j9_|2ORW!2AnnLBW00x)c@^9KfJR%FKf&iW|Vt0|6LKS)wqcMxp?^ zCes1rCI*H&2QYP@9YQ-yfY1x3Kxl@U5ISKlgnqC9LJKU0&<;x>bis0m0B=SnU1rp* z0?G&=3`&VG(7*^{AuEncH0@4kPJV2fBM24;n6a}Cl24M~qZQ@J}@CXU; SW@Q6OG6UgKAg##^;sF3R`0G#r diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep.npz deleted file mode 100644 index a03842b622119af155dce10406100e362099832c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;2?na`j0{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl(GT{hLBW00x)c@^9KfJR%FKf&iW>|N0HY~O z6oynt6d?D2A{hkg9Kh6pb_ne-0YWdB0-+gZLg<9K5cU}-50tE6`Z(db7#JEDd4M|Mi40vEC<;J948j~J+QgX{ W;1Lqw&B_LnWCp^eKw6U-!~*~ilGoJK^d5b-alVjO+N0%@)mYaN+G+?#NT9fSTqU&7=t^V28&)b&gb42~Bj zwiPluFx)xW6R?BPL2b>24-1|!ImFFd5h+;1=1_R{>1U7aTn=dpJZiZ?ybkf-lGZM7 z;B{CMyqaNkIJX0rdyUVVr5p}ktOchZY-DvfIF+$OLyp-YYV%e1&z~3^HU+JSexvl) z-r`F^Ko`eP``zECPvP3 zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-GoJK^d5b-alVjO+N0%@)mYaN+G+?#NT9fSTqU&7=t^V28&)b&gb42~Bj zwiPluFx)xW6R?BPL2b>24-1|!ImFFd5h+;1=1_R{>1U7aTn=dpJZiZ?ybkf-lGZM7 z;B{CMyqaNkIJX0rdyUVVr5p}ktOchZY-DvfIF+$OLyp-YYV%e1&z~3^HU+JSexvl) z-r`F^Ko`eP``zECPvP3 zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-uAIwq| z=wfu3W9RUq=OUv+^Us(~$Nw`qZ0D`=vzWu?aA|_%+uS=`4p*iA`s}Xebr9Wjdt%xu zUWXs~&mZU2aXYA4g(;Yx6(Wyu-e>;r8> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-uAIwq| z=wfu3W9RUq=OUv+^Us(~$Nw`qZ0D`=vzWu?aA|_%+uS=`4p*iA`s}Xebr9Wjdt%xu zUWXs~&mZU2aXYA4g(;Yx6(Wyu-e>;r8> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-_{tgIMyh)zyC^!L)A&|t|Y-yhd|Yc zilb^p4qb=cu3LKMI=uK;xz+xEn!}TicOuHJBszS#WwO|ONwmX`=+HBj8$ukEYR&vI zC;K^Eo3T%wPu|19@8%}Ms~pY_b;AGt%bc)sXt=(7;lKZ84m@|AIu+g#8T8n^A2CGS07)A!5%yoaQ$Tn@7XTVSN~?G|Q-3u3d3 z%B-0j)F(Cwvo2tA_`l~vN!A5s2dDe4jcy{Z1e?XZ%2?#Wkk_#A$HagJPb zjL*SQEaTP3E*=M?CG+=n&Ea$~Ysoz~do!DZUJ~nq<*Y0Yl{0t6SFT`m$g5tF7h3br zUY0XqovZIJdl5yJ&b2<@?W0c4J9d8m7yG%JCv9+Y`Dp(rD?P&1=7arf&R^D&{%`D2 zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-_{tgIMyh)zyC^!L)A&|t|Y-yhd|Yc zilb^p4qb=cu3LKMI=uK;xz+xEn!}TicOuHJBszS#WwO|ONwmX`=+HBj8$ukEYR&vI zC;K^Eo3T%wPu|19@8%}Ms~pY_b;AGt%bc)sXt=(7;lKZ84m@|AIu+g#8T8n^A2CGS07)A!5%yoaQ$Tn@7XTVSN~?G|Q-3u3d3 z%B-0j)F(Cwvo2tA_`l~vN!A5s2dDe4jcy{Z1e?XZ%2?#Wkk_#A$HagJPb zjL*SQEaTP3E*=M?CG+=n&Ea$~Ysoz~do!DZUJ~nq<*Y0Yl{0t6SFT`m$g5tF7h3br zUY0XqovZIJdl5yJ&b2<@?W0c4J9d8m7yG%JCv9+Y`Dp(rD?P&1=7arf&R^D&{%`D2 zgMQt=*V|x0&jAejq|7{cqW6F%dKgVvqBo^dqW5zEC;o;s2z{UkLOWDJ=m!lDdO-_> zPUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n&>0ILbi_gk?Xd_# zTP%jq8cQIw#8L>&u?#~0SO!e|j7+-Bs6`K`U;$xx&Sqd>XaI*lq98)o2g)`ueVjn` xFwnqQ1Jnu6MCjT;Q4Wey5axjC0n!bO-z_AGT&VESKEzBr>tkq31-}hTnC@W_sgfLr8{)FRh!q`Npx6Vq@NRTCECHa&-8qQcBlj2x7yG0 z;{Fc&Yajg7GxTuqF_|P-$L8#?VOtfe!!audiwIw*jn(E3E$4poPr7gD5P%Z)rhSbI zVPVe+4Ey4el+?1p9`u<%LT48Iyl20>_4w5oo`3dtSDgAIw2;-|PQm9@Go9HS3N>Rn z_O4`c&@V43aEV}bXi$FlF=-Z?!x5`z;SBq^99Fd@r_9;F?~p0~zpST9&>`Gts@s$n zL5ClA?>wDnCgAYGOHS>~aUO@JB=IY?YFrNYEjQI~JI&@`xXASOlXw;fwjSNNx6POw zZu?Gp6TA4IefIJNSEjfAvM>A+ylREVcYE1cisvLBezuP({N!-;<0t#0JzLMs?|yHO z8uaV_z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61|@TIPo{6LFfZT5Za*%LO*DL&oFmgw9w1p(7STXpcn@ z+F~(;)>s0eC6+>Hj%5(~$1-5zXJpc4MlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^d xhk*vh8lX;iCPLQ+igHktf-nb650GwP{LaJxPXGbltZX1jW*}S&q$^oKJOD{#W@-Qc diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_PU_weight_Up_modified.npz deleted file mode 100644 index aed93a4ec61e032640c663c99131d4a64b7660e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?nyA@Z{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8Mu#~tvJ~x;K0Q(Kk}=Bzk|VqwtGrb5**x4GYI+pOK_MrW#PxN@K^_# z+IprrpW+z_AGT&VESKEzBr>tkq31-}hTnC@W_sgfLr8{)FRh!q`Npx6Vq@NRTCECHa&-8qQcBlj2x7yG0 z;{Fc&Yajg7GxTuqF_|P-$L8#?VOtfe!!audiwIw*jn(E3E$4poPr7gD5P%Z)rhSbI zVPVe+4Ey4el+?1p9`u<%LT48Iyl20>_4w5oo`3dtSDgAIw2;-|PQm9@Go9HS3N>Rn z_O4`c&@V43aEV}bXi$FlF=-Z?!x5`z;SBq^99Fd@r_9;F?~p0~zpST9&>`Gts@s$n zL5ClA?>wDnCgAYGOHS>~aUO@JB=IY?YFrNYEjQI~JI&@`xXASOlXw;fwjSNNx6POw zZu?Gp6TA4IefIJNSEjfAvM>A+ylREVcYE1cisvLBezuP({N!-;<0t#0JzLMs?|yHO z8uaV_z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61|@TIPo{6LFfZT5Za*%LO*DL&oFmgw9w1p(7STXpcn@ z+F~(;)>s0eC6+>Hj%5(~$1-5zXJpc4MlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^d xhk*vh8lX;iCPLQ+igHktf-nb650GwP{LaJxPXGbltZX1jW*}S&q$^oKJOD{#W@-Qc diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_ttbar_semilep_modified.npz deleted file mode 100644 index a03842b622119af155dce10406100e362099832c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;2?na`j0{f7cB1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0Yukywxl(GT{hLBW00x)c@^9KfJR%FKf&iW>|N0HY~O z6oynt6d?D2A{hkg9Kh6pb_ne-0YWdB0-+gZLg<9K5cU}-50tE6`Z(db7#JEDd4M|Mi40vEC<;J948j~J+QgX{ W;1Lqw&B_LnWCp^eKw6U-!~*~ilS25^9e@%REU#4O!NP(Q z7#77PDXC>cB`E5@2HY&2X6lf}ld8Y)p0xvvzv0_TrmzKu4oLncA}F|zT9?9tf&&;7 zNtt=@L~#RZ6pW@UQ5aGwQDj1WSO=jGv_oiz2@rb06sY`62%Rt&LO)mlp#>I0XosZ` zx?s6OfHxzPE;DLY0c8XbMox(hj6eaTjDxNZl&oO-I6+FGpn;JGs1u&Z(6xc002IU^ g%mLE_q#GE;nHb;^65!3s29jh3!lgi3lNrPV08;$P0RR91 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Down.npz deleted file mode 100644 index 12ffb5f8e17cbe8df72cb51949c018128075d072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1X>%`64|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TDZ|l&{M){G$!wK@a1j)3Bg|iNpBB(!>S*x__^? z!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=Kv0YhBOF$pa?=cR6*zm4G?-k3xrPSfY1s( zQ2BlcePJSm-Y^+LPnZg!3#LQpfSC~5U^avnm%`64|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0TDZ|l&{M){G$!wK@a1j)3Bg|iNpBB(!>S*x__^? z!GfLx81zY*dGJK<0ZsHUnzBT1N~J{a=Kv0YhBOF$pa?=cR6*zm4G?-k3xrPSfY1s( zQ2BlcePJSm-Y^+LPnZg!3#LQpfSC~5U^avnmH5||-(8Zaa&AjBX!NTEk!uf?kM>QN^d~_OS4on=zCzeLH z7p5-&CF~!3;Apo z1`B!)V9+OJ=D`!a2Q<;cXvz}3DU}kvp944q8qy&2fg%X)Pz9kMG(hMDEf6}P141kG zK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0- zfzT35AvDJ_2>oN3Lx49UlP)uA(E}=2Ko~h^H-N(*Q4pc)17#bSK28P%Xke@X>V#(^ nbZww02Sq6eb0BmvG%$W=Vt^-r0B=?{kR&q@E(Ow+EFc~LyR!13 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_MU_ID_SF_Up_modified.npz deleted file mode 100644 index 90f09245327af0b6323fe7f4cfcde439bccce6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?Kd&$O{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RV^D_KDa`h>H5||-(8Zaa&AjBX!NTEk!uf?kM>QN^d~_OS4on=zCzeLH z7p5-&CF~!3;Apo z1`B!)V9+OJ=D`!a2Q<;cXvz}3DU}kvp944q8qy&2fg%X)Pz9kMG(hMDEf6}P141kG zK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0- zfzT35AvDJ_2>oN3Lx49UlP)uA(E}=2Ko~h^H-N(*Q4pc)17#bSK28P%Xke@X>V#(^ nbZww02Sq6eb0BmvG%$W=Vt^-r0B=?{kR&q@E(Ow+EFc~LyR!13 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down.npz deleted file mode 100644 index b7aa203538ef68540b4bcfcb43e920d64ae2f248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1Xv$_EN|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*|HkVS(B;5td;X;J9L@CgL-k=yQ2*j#&ABa zphg!bF6h_&d%X=7^c=vTPs+@LCwdQPqKDCxC3;gTC3-(dNHnBD=mSL%+MxQyAY2NhD_KB10LxSRR{#J2 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Down_modified.npz deleted file mode 100644 index b7aa203538ef68540b4bcfcb43e920d64ae2f248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1Xv$_EN|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*|HkVS(B;5td;X;J9L@CgL-k=yQ2*j#&ABa zphg!bF6h_&d%X=7^c=vTPs+@LCwdQPqKDCxC3;gTC3-(dNHnBD=mSL%+MxQyAY2NhD_KB10LxSRR{#J2 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up.npz deleted file mode 100644 index 5d2c8b3123b2cc454c9b30b5b16829cce3b6490e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?^4uja|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_kuF{td@Tw46P5)SARI|FmL58D~R#XHzG%!#}1cK2QXq9jYMog9Zq_ zpanuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~ zSOlRh7DH%_B@kL-DTL-&2BCi}a|rNeWYT3uEqXu&3kW0U>;`c7BMKsPeV}Xu)5pnx w01b>aK%MYRgsu$~<)A19VGe{Yh6cv(ObqY@5a7+q29jh3!lgjEk_E&A0DQFc82|tP diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_PU_weight_Up_modified.npz deleted file mode 100644 index 5d2c8b3123b2cc454c9b30b5b16829cce3b6490e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?^4uja|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_kuF{td@Tw46P5)SARI|FmL58D~R#XHzG%!#}1cK2QXq9jYMog9Zq_ zpanuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~ zSOlRh7DH%_B@kL-DTL-&2BCi}a|rNeWYT3uEqXu&3kW0U>;`c7BMKsPeV}Xu)5pnx w01b>aK%MYRgsu$~<)A19VGe{Yh6cv(ObqY@5a7+q29jh3!lgjEk_E&A0DQFc82|tP diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/CMS_WORKSHOP_wjets_modified.npz deleted file mode 100644 index 5bc192ae8e83cd591d1f5105d4c27d7117f667d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmWIWW@gc4fB;2?4L0xZ{)YlC1`&qJ%+#EeV!gbAN=60&h6_-2FnY3IsBb_dBSRTO zwR%cwadMHmm4doWnuWTKf_hqhQAtr^UVMI0N-9X)EitD!6)0YukywxlS25^9e@%REU#4O!NP(Q z7#77PDXC>cB`E5@2HY&2X6lf}ld8Y)p0xvvzv0_TrmzKu4oLncA}F|zT9?9tf&&;7 zNtt=@L~#RZ6pW@UQ5aGwQDj1WSO=jGv_oiz2@rb06sY`62%Rt&LO)mlp#>I0XosZ` zx?s6OfHxzPE;DLY0c8XbMox(hj6eaTjDxNZl&oO-I6+FGpn;JGs1u&Z(6xc002IU^ g%mLE_q#GE;nHb;^65!3s29jh3!lgi3lNrPV08;$P0RR91 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data.npz deleted file mode 100644 index 019ec185a9e739c9e298665bc480b9971282485f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?=E}9p{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411^Yb3>_eJID}3}fzTI9AoPY#2yHM0Lg!3_&>tp2Xn~0kdO{b3e$WJ=3#uS= z0@R!bxe$IsHiSNq2%#CE_BsSZ`9VjWIcSjtP^=_xx*YW?AQyhGDL`)Sv)etRQ_hh?^_R;;#hNURr9 zd-TK6LG)C8^TiKN4u$)(JhU<#9mHAX^DeYHICS+W1kO{pbvSskdUO9|3x~IQ8eJ+A zO&nG#&hj+oGjh<_VD%~ZwVuO`hpXP}uhMmR$?2h@e^niB@8iqY6i@UhI^4{;f2Qn* zf`jsf0vTyVX$Q+Y$(#3wNI2Z`^WS*yH=n~QpNJP#+qfM}^8ZdQ>fk~P`gQ+aZ-a$B z2QcW9GV|bx-UFKGVKill-jqs--Vc(98qy&2fg%X)08O+H8X)`yEf6}P141kGK7MKg6Kg@&B84DnE#6k$|u?Rw2EQZh;OCYqw zQV7kl3_|}{28;nlCS7LKq6bv4fG{*?Gk`z?IQ$U>5xPE5wt?y61nYnh4U9EFo$ySA kt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>RB@2iL0JCBzA^-pY diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_data_modified.npz deleted file mode 100644 index 019ec185a9e739c9e298665bc480b9971282485f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?=E}9p{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411^Yb3>_eJID}3}fzTI9AoPY#2yHM0Lg!3_&>tp2Xn~0kdO{b3e$WJ=3#uS= z0@R!bxe$IsHiSNq2%#CE_BsSZ`9VjWIcSjtP^=_xx*YW?AQyhGDL`)Sv)etRQ_hh?^_R;;#hNURr9 zd-TK6LG)C8^TiKN4u$)(JhU<#9mHAX^DeYHICS+W1kO{pbvSskdUO9|3x~IQ8eJ+A zO&nG#&hj+oGjh<_VD%~ZwVuO`hpXP}uhMmR$?2h@e^niB@8iqY6i@UhI^4{;f2Qn* zf`jsf0vTyVX$Q+Y$(#3wNI2Z`^WS*yH=n~QpNJP#+qfM}^8ZdQ>fk~P`gQ+aZ-a$B z2QcW9GV|bx-UFKGVKill-jqs--Vc(98qy&2fg%X)08O+H8X)`yEf6}P141kGK7MKg6Kg@&B84DnE#6k$|u?Rw2EQZh;OCYqw zQV7kl3_|}{28;nlCS7LKq6bv4fG{*?Gk`z?IQ$U>5xPE5wt?y61nYnh4U9EFo$ySA kt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>RB@2iL0JCBzA^-pY diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal.npz deleted file mode 100644 index 00120f6b9ca5c1419404b00a1e7774dc0807544a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?*3{p5|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T zZMh1N-oVjz$Ph%YUuR+qq&XI!UFiy>e*~M&@CDKpOAn+50qKZ27cYeX=_x0&&xHZ$ zBTxOFfoO@VU-iR*bi&rBQ$vCD9&y`c!9e;2^DP08eutY!THJv21csQUHb7e8yg-cs zkY+fh_)^Is043}b4x6rng*_)Q?2AiMQp*N=(C2I~y*MZE`eeVCeg1;3tzYdoEH&-8Ve-RXckSn+#}E9pxBIBc+y42N{dQrtc?%eS z+h;v=;D4j@+kU^WX+yBZFMFFsyY-LZ@qkGulTh5e_PZ;d(@y`_wV&KSkQ9-gFY!U51!~fpotzvQKgV_*T zU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgpqT0 z133H<1rfSFP_}{T<77a92F4noPIx9l*9MAmP?Ul&2SOJ^1LJol26zGp@MdKLNiqZB LQXpN)0^$JxS|?ks diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_MU_ID_SF_Down.npz deleted file mode 100644 index c69268279446249137d784fcadd905e7acdaa660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?1U8k%|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*(IGRXl`oo!)q%IAv*zt)c84c|KR2X3<8(+p z@<{92RB;Ek9@U0zZYmDl$#>=~%QJLXHuK?wk85olH2$gCFL8BsxMy{CkrAJ-!wZh3 z(Fy`V4!1I{-ZCr-aroqL^Ko}-m_rehf6k$rFbCFqlfLF333E`Ix}rqGDAZw@TAPTX zcd)}hZ4Tx9E+2=dfp*{5O1n9<&RcvxThYcLy1Y%xTi?JT-|xn~_5Df?0VrW#dwx4V zEbKXfVP9O5l3F&{gZ`TCtCqzt584;5Sj?tbcENtblI#C>%3reAHRzvk&*8FtnQp)e zeuXRcW?gyb?`z(+Uo7|fm*lyJ_G=iFSUn@2+bin5)l&NW);@bvMg*VjC;NHDu8ZOW zzS>96=-Tdl^Z9oZ%3ngAY{j%k3Q{0ejB%D48*&a`gVsefkQxcy6S1;;~s z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O(IGRXl`oo!)q%IAv*zt)c84c|KR2X3<8(+p z@<{92RB;Ek9@U0zZYmDl$#>=~%QJLXHuK?wk85olH2$gCFL8BsxMy{CkrAJ-!wZh3 z(Fy`V4!1I{-ZCr-aroqL^Ko}-m_rehf6k$rFbCFqlfLF333E`Ix}rqGDAZw@TAPTX zcd)}hZ4Tx9E+2=dfp*{5O1n9<&RcvxThYcLy1Y%xTi?JT-|xn~_5Df?0VrW#dwx4V zEbKXfVP9O5l3F&{gZ`TCtCqzt584;5Sj?tbcENtblI#C>%3reAHRzvk&*8FtnQp)e zeuXRcW?gyb?`z(+Uo7|fm*lyJ_G=iFSUn@2+bin5)l&NW);@bvMg*VjC;NHDu8ZOW zzS>96=-Tdl^Z9oZ%3ngAY{j%k3Q{0ejB%D48*&a`gVsefkQxcy6S1;;~s z)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr5Xl<55&z=^*h4MHC%g3u0C5c)v_gkI1B zp%XeFv_cP5z8^wgmVaGiuQTDp)`mp0gPk7#hIgk0^-H^?|YtOdlsu yJq$E3)&O@2=Z8@bF$c)|~3z39QJ;c=kl5m;?Uyj|KV(Fn1jc~OQLpj!yF6`)v>8P33FKKkf$@vKh!~H-yx0z zslg7mua--f;4gn}(pWQ6f z4GVitVAvOzq@GSXQVY~)meR)6ae})`BaAfW;`w*RTwN0yk**i@-Hc{@%FZ-t8lUu$$ z`f1NmD8Z|~>4$x?fSH|x?N|Gx%!becb0PGHc@R2d0fdfN2%$X| zL1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD4A0pN3=9q6@JAFx==wm}2Bwb_ ys2&Cy7;At!;h6|s8z{;_Q3}EwFg-xJf$=*N13Uo)c(byBB$@2=Z8@bF$c)|~3z39QJ;c=kl5m;?Uyj|KV(Fn1jc~OQLpj!yF6`)v>8P33FKKkf$@vKh!~H-yx0z zslg7mua--f;4gn}(pWQ6f z4GVitVAvOzq@GSXQVY~)meR)6ae})`BaAfW;`w*RTwN0yk**i@-Hc{@%FZ-t8lUu$$ z`f1NmD8Z|~>4$x?fSH|x?N|Gx%!becb0PGHc@R2d0fdfN2%$X| zL1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD4A0pN3=9q6@JAFx==wm}2Bwb_ ys2&Cy7;At!;h6|s8z{;_Q3}EwFg-xJf$=*N13Uo)c(byBB$4V6vC-ynbT$iekGdNsws9C1w#OlEG#qa)XEp~@(0zd0F%W^rS zsN3uMuMl_G#S}8{-U$_lDeO$Ij?OW3XqEYO?U%o;gJw&(K;~puhXBrOsqpE(4(!S2 zS$xBS98P*TO6cAWad0VUJQ;8y%;CN7^IPIq!yGp2p63nF3U@egN=L+aW~f7q;*&4; zjs`nC*t~M?T|r+5w!=1M|F*h09GNv={O<`H2TN{|nA|A_4!1wAJrHi9>=1ww_6d!8 zY_PEB1crTaNlI$jU=R9TpP#?~cKDF}rrd?RqTUzm`7_qI7+1MU%*?Pr|W z(dc>SioLMFl#e@K+_snCbkMtS@R9w@Tj5MAwO-g8vj~=0gU~;g0TVwXlP)uA(E}=2Kp39085kHEz~PT5h|u+cvJFfh zCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{2=HcQ14%Li;Zh)7$pYd50HyA1 ABLDyZ diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Down_modified.npz deleted file mode 100644 index 33343e4e92e695d675144d2206f81b9396a83955..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?-KXnL{D%TA1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGu+uZ>4V6vC-ynbT$iekGdNsws9C1w#OlEG#qa)XEp~@(0zd0F%W^rS zsN3uMuMl_G#S}8{-U$_lDeO$Ij?OW3XqEYO?U%o;gJw&(K;~puhXBrOsqpE(4(!S2 zS$xBS98P*TO6cAWad0VUJQ;8y%;CN7^IPIq!yGp2p63nF3U@egN=L+aW~f7q;*&4; zjs`nC*t~M?T|r+5w!=1M|F*h09GNv={O<`H2TN{|nA|A_4!1wAJrHi9>=1ww_6d!8 zY_PEB1crTaNlI$jU=R9TpP#?~cKDF}rrd?RqTUzm`7_qI7+1MU%*?Pr|W z(dc>SioLMFl#e@K+_snCbkMtS@R9w@Tj5MAwO-g8vj~=0gU~;g0TVwXlP)uA(E}=2Kp39085kHEz~PT5h|u+cvJFfh zCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{2=HcQ14%Li;Zh)7$pYd50HyA1 ABLDyZ diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up.npz deleted file mode 100644 index 05886af0187dabd4159decb72fba0b8181394f2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?wbO#u{f7cB1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGbHpZd7!fInLUe~6^rMS|Mm=WVRyStSRMRq8bYpSvpM{l^7|wt7Z^C~n|R{rhhSxg0Fdf0b8Hs+T)Jv+y_Ti? zZqIFd`M+-O+!F5DE4Jm??@oVW|HQC@>t4!h`;#(ePwa|5+5gct{C)Du7yH+@E*6U~ z`e|Pm9_|n;^v9lm$=3A>_W$gqYD#wh_x*2gCY|DHt^41;^sN8;3wrYHfZ>3f2~PhfvfYUy=GQP-`||C_IZaZ45L&(+0VV$Z?t;;EBm@AR$oQmC-$g8 zzwY1bZLpx{00wWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh z7DH%_B@kL-DTL-&2BCi}115e(CS7LKq6bv4fG|8~GcYhTfWseA5TWY>WgD12PM~@i wXke@X>V#(^bZww02Sq6ebHMZf=?2E{ObqY@5a7+q29jh3!lgjEk_E&A0E+-(*Z=?k diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_PU_weight_Up_modified.npz deleted file mode 100644 index 05886af0187dabd4159decb72fba0b8181394f2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?wbO#u{f7cB1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78RGbHpZd7!fInLUe~6^rMS|Mm=WVRyStSRMRq8bYpSvpM{l^7|wt7Z^C~n|R{rhhSxg0Fdf0b8Hs+T)Jv+y_Ti? zZqIFd`M+-O+!F5DE4Jm??@oVW|HQC@>t4!h`;#(ePwa|5+5gct{C)Du7yH+@E*6U~ z`e|Pm9_|n;^v9lm$=3A>_W$gqYD#wh_x*2gCY|DHt^41;^sN8;3wrYHfZ>3f2~PhfvfYUy=GQP-`||C_IZaZ45L&(+0VV$Z?t;;EBm@AR$oQmC-$g8 zzwY1bZLpx{00wWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh z7DH%_B@kL-DTL-&2BCi}115e(CS7LKq6bv4fG|8~GcYhTfWseA5TWY>WgD12PM~@i wXke@X>V#(^bZww02Sq6ebHMZf=?2E{ObqY@5a7+q29jh3!lgjEk_E&A0E+-(*Z=?k diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_signal_modified.npz deleted file mode 100644 index 00120f6b9ca5c1419404b00a1e7774dc0807544a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?*3{p5|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T zZMh1N-oVjz$Ph%YUuR+qq&XI!UFiy>e*~M&@CDKpOAn+50qKZ27cYeX=_x0&&xHZ$ zBTxOFfoO@VU-iR*bi&rBQ$vCD9&y`c!9e;2^DP08eutY!THJv21csQUHb7e8yg-cs zkY+fh_)^Is043}b4x6rng*_)Q?2AiMQp*N=(C2I~y*MZE`eeVCeg1;3tzYdoEH&-8Ve-RXckSn+#}E9pxBIBc+y42N{dQrtc?%eS z+h;v=;D4j@+kU^WX+yBZFMFFsyY-LZ@qkGulTh5e_PZ;d(@y`_wV&KSkQ9-gFY!U51!~fpotzvQKgV_*T zU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgpqT0 z133H<1rfSFP_}{T<77a92F4noPIx9l*9MAmP?Ul&2SOJ^1LJol26zGp@MdKLNiqZB LQXpN)0^$JxS|?ks diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had.npz deleted file mode 100644 index 901d86478351d7590e5950a034661150f74bfaf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?i{Fah|AzuD1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V6kc9OrxZ$DVGj+_c&K-xj{^a@ds_^b<=JV2TuZ_+1jDE%8~ zAH#p`+^-a5FN21`WjUH5|n?;J^&@` zZ+o+xfrULMFzkyT_xdziX6?FXf1Ba<+W?WP_MSy-5})r~gwxX% zTd(cie!^Z+|KAzsiO1pelH+v?Pi;SJZ!@j>bcEv}do_#IGc;Enu)h@Z+f(M^PPCw3 z_wV&KSkQ9-gFY!U51!~fpotzvQB-LlNC4Ak8iYPj1fdM zLML=UXoViAd_RP~FcCs;m<*vOOoh+|(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whj zp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJvWkxM}Km`j3gK{ tAl<-N1Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9ecmOqwUef>o diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Down.npz deleted file mode 100644 index 7e905acbe401ba2858820adb1cf648df04283d7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?m<<`1|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_2T-}Bza{INH!crU$ySIS|P$+BDfJ}5XOR_|y!c|^%!7Ta3?s+IZnCawPJ zA?h$k?@ERJLvDwAi6ZyClDQo|y!O{=E&gq9|9YF;1F^66TRtSPJvRJozwx|LSETwA z`+v76?|D*N+ zC}A)0d}bFc>^Xs9UtE%sS~ggNK7{G*!t{hI_Gf16{E^@I*#4oX`OD4j&+KdOO^=>3 z{kgsNrNBdZJ@4$7?Ou_8%>I-8r6-9G1fxFMtH{gs42qKWONf;b(Z362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$nCawPJ zA?h$k?@ERJLvDwAi6ZyClDQo|y!O{=E&gq9|9YF;1F^66TRtSPJvRJozwx|LSETwA z`+v76?|D*N+ zC}A)0d}bFc>^Xs9UtE%sS~ggNK7{G*!t{hI_Gf16{E^@I*#4oX`OD4j&+KdOO^=>3 z{kgsNrNBdZJ@4$7?Ou_8%>I-8r6-9G1fxFMtH{gs42qKWONf;b(Z362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$*CHoWI3JbdBj@bvG zg#D9CPT8=q=LCj*aY;&Q*`mS>Hu)TWXwUjWVDqVUckRRCHdq}AyJtT=uwL!awJY|e%cK9HD&du{}C9kSEhyL$aWs1DI|| zgU|o8*w8dfwt+50`ODu)Z9Lpf|k7W)4-i%DT%&0{Vs9*tME(Qc> z0Ea)KAVSv%$~G{4oCs|U4U9EFo$ySAt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>R IB@2iL0Lq|yi~s-t diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_MU_ID_SF_Up_modified.npz deleted file mode 100644 index 267ec6c1021570c7e0c25efb4a3d0f1dfa3d70e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?xAQn_|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41FnU|N1X3B{;}tHRCs!hzLbN3&w|z8I20W|`B%(#eyHSd*CHoWI3JbdBj@bvG zg#D9CPT8=q=LCj*aY;&Q*`mS>Hu)TWXwUjWVDqVUckRRCHdq}AyJtT=uwL!awJY|e%cK9HD&du{}C9kSEhyL$aWs1DI|| zgU|o8*w8dfwt+50`ODu)Z9Lpf|k7W)4-i%DT%&0{Vs9*tME(Qc> z0Ea)KAVSv%$~G{4oCs|U4U9EFo$ySAt_>9BpeO}l4is(QnHb;+Ai$fI4J647giC>R IB@2iL0Lq|yi~s-t diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_had_PU_weight_Down.npz deleted file mode 100644 index 60e7d7a80cacf2d98ee54fa009fdd35667e43ece..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?vp>bV{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41FqR?YjWmI{9`{&aHq<532BEH>gK82Vig^x?G0L>r>Wv_Ud}_!f180r6Q||& z69MK94Vqt`96Mp+;CJ=3Yx+`shj;E-P9ol#4we#c*L?1kb11Yv$+>NXm_t3{6iBdfTq4}Y_7$y2?RZt%%IjPpxKjl*O6 z)8{U5Z|=BlUnRw%Cs+B%{?lFGrUO#9?H{GaZL7$+VZVueZrQQ0YxW%S`;Lo!JZT?* z680B_zs-Y%Jtr{ii%U{c%LZ%EpWp~wUu1jLes1GqyA^+)*k6-A9^5zYx%~{g@9`SX zUfTcklQnu*_rd;b3-@N%u+R2M9qS+Q<$bc>;KTm5yYPd(vsQke*338d2U~^zntMF6 zXJT!9R>}Ru{<)FG{A!`c_H+LBf9T+SU~kWpkmkaE-@exJNI}ohtM+G)IK;hbzHFc1 zP}-xu>!Q8E^z~ikvya>N?3JhreSX5eJF7~z=jd^JqrZ`F1HT@zFWb2zxmOyBUr4X898HE0^%pt&=kx7>swdesAEFjFqfB+5P z@JAFx==wm}2Bwb_p^c$|u?DCUo{7-4fubA~r6A0KqU}2q13Uo)c(byBB$bV{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41FqR?YjWmI{9`{&aHq<532BEH>gK82Vig^x?G0L>r>Wv_Ud}_!f180r6Q||& z69MK94Vqt`96Mp+;CJ=3Yx+`shj;E-P9ol#4we#c*L?1kb11Yv$+>NXm_t3{6iBdfTq4}Y_7$y2?RZt%%IjPpxKjl*O6 z)8{U5Z|=BlUnRw%Cs+B%{?lFGrUO#9?H{GaZL7$+VZVueZrQQ0YxW%S`;Lo!JZT?* z680B_zs-Y%Jtr{ii%U{c%LZ%EpWp~wUu1jLes1GqyA^+)*k6-A9^5zYx%~{g@9`SX zUfTcklQnu*_rd;b3-@N%u+R2M9qS+Q<$bc>;KTm5yYPd(vsQke*338d2U~^zntMF6 zXJT!9R>}Ru{<)FG{A!`c_H+LBf9T+SU~kWpkmkaE-@exJNI}ohtM+G)IK;hbzHFc1 zP}-xu>!Q8E^z~ikvya>N?3JhreSX5eJF7~z=jd^JqrZ`F1HT@zFWb2zxmOyBUr4X898HE0^%pt&=kx7>swdesAEFjFqfB+5P z@JAFx==wm}2Bwb_p^c$|u?DCUo{7-4fubA~r6A0KqU}2q13Uo)c(byBB$UrJj{EI1sNgi9@3YWUl}`&*5vc)~w>=BcjM{`WuGi(K5W_0<1| z_IDR|JqX=!!~XA`($Fwcb_%vnTEqnP5d(TDbzOt8-)cPT-^~V0qw|imr zH$T|l&K7FSKlH_3x7?PgLA zt^HLk6E5j9&+LO)s{U{scy3?c`^M>B*<<^;^He&+74O;aEuO9~viYig?}x_;k69ns z`_w<&lLZXY-m81l<|>}FKPP7&eIfCjz5UM(d%3w!*mvv|J*#;4sQu@hc?-h}j@k>Z z{nvZp#s&NP-bt34vyY$!{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$UrJj{EI1sNgi9@3YWUl}`&*5vc)~w>=BcjM{`WuGi(K5W_0<1| z_IDR|JqX=!!~XA`($Fwcb_%vnTEqnP5d(TDbzOt8-)cPT-^~V0qw|imr zH$T|l&K7FSKlH_3x7?PgLA zt^HLk6E5j9&+LO)s{U{scy3?c`^M>B*<<^;^He&+74O;aEuO9~viYig?}x_;k69ns z`_w<&lLZXY-m81l<|>}FKPP7&eIfCjz5UM(d%3w!*mvv|J*#;4sQu@hc?-h}j@k>Z z{nvZp#s&NP-bt34vyY$!{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIls9ycwBvnNf=#P{9JiTnq@% z01kgdL4>Xklx<-8I1$Gj+_c&K-xj{^a@ds_^b<=JV2TuZ_+1jDE%8~ zAH#p`+^-a5FN21`WjUH5|n?;J^&@` zZ+o+xfrULMFzkyT_xdziX6?FXf1Ba<+W?WP_MSy-5})r~gwxX% zTd(cie!^Z+|KAzsiO1pelH+v?Pi;SJZ!@j>bcEv}do_#IGc;Enu)h@Z+f(M^PPCw3 z_wV&KSkQ9-gFY!U51!~fpotzvQB-LlNC4Ak8iYPj1fdM zLML=UXoViAd_RP~FcCs;m<*vOOoh+|(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whj zp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJvWkxM}Km`j3gK{ tAl<-N1Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9ecmOqwUef>o diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep.npz deleted file mode 100644 index 3e0e18eec291d21e8cbde0c0f5b5b9e20b59768a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?*=q{w|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_Lz*46xfY|p^Z;HYY<>%hPuA)xl#14yUHZn=;Oq-AZ-eJBOee?)ijR|9GJ ziX}!BKsq>X=I&x3Z4&%*Z!VB_GGRYRDJ9XpsE9?B>sDakQ9n1pMl&EERgo+o_&_G2=?>>vF9pO`51&3^e) zx1BfVeYW?!aBSL^IUnuM*UZ+RZ1&Fn)aPm0IR&rmH?0#nd1~J?`us>0=KuzMQf3}J(R)A> zJ&dL-(VJ2u(F4ObI2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0j zWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0 zV;L~V#(^bZww02Sq6e cbD(JZ&cpyu00G{tY#>QyAY2NhD_KB105;B69RL6T diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_MU_ID_SF_Down.npz deleted file mode 100644 index a916a78d7634811440062a41f23f47cae4fe8206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?6N!?W|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41Fm<+Uv2uk__4j&kCZ!4*XTHGJCh`~v(>}l%KK-s-r1=RyHwUkCv=xOu#|PS zhfS(-c$crZNaj$vL(-;D(|z&94o3n?X8bYEb@+X%I9BR+szcqsv?Gt_COB+~|Mb{R zDAGYo>GjKN48aaky`@u+7kfLr-=D_0Ws<9dT+afFy&aAY1`}7dm>#oqX!7>Ee`uDm zgWgHoFWfac4snJYj$hfd97OJKtKT|V(ZN+(q45E`j6=xVW6h`2L>z9+TH>rHAm|W) z684p!%i3XK&j}3s;*ylqvcVek95tUD7}yTkC;a!DuJhxmJx|@wxVIr+>{s2q8!+)b zlf##f8Ox^K<#M?CUtL%I1+Rl5$LA;AVLT2&_rtYW=5jh*ef0eCQ%^RBNhS6=da=w7 zmO@T%exGA-xD+w-@pPTP_D{KfY@V>_r#*jQHMjhhul6mk`7EwDf41*`V0O5|>!UsA z%G;aSR=>5+v|RrG$JdwkCF+L~-h@1}pY^Sv_C&##=ZLW_w8L$ z-CJ1a-?IM{D4?+D<8^z~pkMdz^)^`0a{z-rDKihA=slo`9!67^=uIh3^pGs*=K!V~ z(jfGKA_(nJ1)(1_KWOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfB}l%KK-s-r1=RyHwUkCv=xOu#|PS zhfS(-c$crZNaj$vL(-;D(|z&94o3n?X8bYEb@+X%I9BR+szcqsv?Gt_COB+~|Mb{R zDAGYo>GjKN48aaky`@u+7kfLr-=D_0Ws<9dT+afFy&aAY1`}7dm>#oqX!7>Ee`uDm zgWgHoFWfac4snJYj$hfd97OJKtKT|V(ZN+(q45E`j6=xVW6h`2L>z9+TH>rHAm|W) z684p!%i3XK&j}3s;*ylqvcVek95tUD7}yTkC;a!DuJhxmJx|@wxVIr+>{s2q8!+)b zlf##f8Ox^K<#M?CUtL%I1+Rl5$LA;AVLT2&_rtYW=5jh*ef0eCQ%^RBNhS6=da=w7 zmO@T%exGA-xD+w-@pPTP_D{KfY@V>_r#*jQHMjhhul6mk`7EwDf41*`V0O5|>!UsA z%G;aSR=>5+v|RrG$JdwkCF+L~-h@1}pY^Sv_C&##=ZLW_w8L$ z-CJ1a-?IM{D4?+D<8^z~pkMdz^)^`0a{z-rDKihA=slo`9!67^=uIh3^pGs*=K!V~ z(jfGKA_(nJ1)(1_KWOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfBKT57!>vdr8M3W%d)pkYyeYT+f>&D>_mgIubIzZ(CXFup}}0 z)zckS4x4RrzlS|7cW?;UH}^tKv4hd2Zcdf>T!)iYg00#zX%5CRKiPI}OK=Fgx%y(F zd8ESv#_F|yWP%+g2sKqo&hd7*f8XTM{7tS7((3C)k1ld_u#ya!{OOIQgGb4WlEQ7q z4o-T#!H1UWIIL`Y`-M?Y%VDD11A)zJ6df*4ST-}`nHz%+VBmX74C1SM(+Si~Xssz58N0 znH?+yz1#AbxgBmOsxRmg=5zS=?)#^<1|EkTh6(R-4s$yEaW1-jFpJIMVDoByrz&QL zdCSGyIbSe1e7(;mxHkN+{hu9(r}QiP#k=WOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfBKT57!>vdr8M3W%d)pkYyeYT+f>&D>_mgIubIzZ(CXFup}}0 z)zckS4x4RrzlS|7cW?;UH}^tKv4hd2Zcdf>T!)iYg00#zX%5CRKiPI}OK=Fgx%y(F zd8ESv#_F|yWP%+g2sKqo&hd7*f8XTM{7tS7((3C)k1ld_u#ya!{OOIQgGb4WlEQ7q z4o-T#!H1UWIIL`Y`-M?Y%VDD11A)zJ6df*4ST-}`nHz%+VBmX74C1SM(+Si~Xssz58N0 znH?+yz1#AbxgBmOsxRmg=5zS=?)#^<1|EkTh6(R-4s$yEaW1-jFpJIMVDoByrz&QL zdCSGyIbSe1e7(;mxHkN+{hu9(r}QiP#k=WOA+*OL2yL+#LTfC6&=N}_G{-Us{bLz0@iQ{%GNTqfpn?U2xfl?j z0UZ8_f(Tt7DBHmFaU!%aG%(fxb;2_dx;9XhgQ66KIZ(8HXJUXSfBpFzHWE=~(^K{5~uueH=oTf8DRi=;jc!=F^JDmmD4RPVv+q$g*WxFtA6AN-@~a3+ayD)R?Lhmd0nR+^rWaX50^_AX18sDqntI&VsaphEyk z*lWbx-v$eNPGHy#|?(HZnT2+%4F+e)T_l{`(Iu^gsJ$Zy+x@dH$1c_Hl16=U!0xVlOb=?)o&IPxktY zEHhgT-rH|;i|jom^xEEbv);T1#n0`V?B8c;^*^;wYVs;wr}D@?>v#J1dpjT4i|r7e zuz2qs`jx___XLC*mU`lQS}c%t`!CVCi6S)wU+ z!#oI`u>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!Az{JnUq|1z2^neN$5awb)fCg~* zBMKsPeV}Xu)5nR>#?Zi61Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9e FcmU>;ZP5S# diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Down_modified.npz deleted file mode 100644 index 01b24d3e0a5d3b1b521c23128f5b261666327f9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1XFXvp<|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*pFzHWE=~(^K{5~uueH=oTf8DRi=;jc!=F^JDmmD4RPVv+q$g*WxFtA6AN-@~a3+ayD)R?Lhmd0nR+^rWaX50^_AX18sDqntI&VsaphEyk z*lWbx-v$eNPGHy#|?(HZnT2+%4F+e)T_l{`(Iu^gsJ$Zy+x@dH$1c_Hl16=U!0xVlOb=?)o&IPxktY zEHhgT-rH|;i|jom^xEEbv);T1#n0`V?B8c;^*^;wYVs;wr}D@?>v#J1dpjT4i|r7e zuz2qs`jx___XLC*mU`lQS}c%t`!CVCi6S)wU+ z!#oI`u>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!Az{JnUq|1z2^neN$5awb)fCg~* zBMKsPeV}Xu)5nR>#?Zi61Jnu6MCjT;Q4Wey5avM9_MM3Vo&W;8S=m66%s{vlNLR9e FcmU>;ZP5S# diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up.npz deleted file mode 100644 index cc4fd7f3249b745177576f54eee3b9a0f02baec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?Ngocy{D%TA1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VBV}?3o{&p4(3=czd)xUDx5e-uU{jgHw#?sl zKG&-qPBRM@_I$5!nCBc5FT`8oU~$Rp)gNC9NI2F7=!`wBOj_ zeD?!su4Y|_RiZ%$4&TspDA?~Abs#~}p{QB4;=)2%hszTCBcH^IIV@33T>K_d$RPkF z>>GFW-h_ocCot@bOHxwH25ZoNIku_)<)ah!OI@emP;Gi;&*eN@X+rH!`$ek{{wddH zcWCo8ex=wi;4rbq+{n~d$iYTXYL#uGpo77lxXmauAG4(9)Zc4g>{rxI zTp8m1$)2HD#lBJFoqd-OcR_p7EBlaY>6IHFys)3l%p@Hc{n&o-L95or!pHU!i!49) z2t2fxwcy^r{n9;q)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr3>PV|s0=;r{Y8`2>3 zfg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCI zFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgt-_HpaC5I zh=K@RA1K?v^l>7zF*GpN0CmDM5xO=|l!KxaggH>OeP?2TCx8HNRyL3%GY~EX(v>VA F9st06Yx)2H diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_PU_weight_Up_modified.npz deleted file mode 100644 index cc4fd7f3249b745177576f54eee3b9a0f02baec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?Ngocy{D%TA1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VBV}?3o{&p4(3=czd)xUDx5e-uU{jgHw#?sl zKG&-qPBRM@_I$5!nCBc5FT`8oU~$Rp)gNC9NI2F7=!`wBOj_ zeD?!su4Y|_RiZ%$4&TspDA?~Abs#~}p{QB4;=)2%hszTCBcH^IIV@33T>K_d$RPkF z>>GFW-h_ocCot@bOHxwH25ZoNIku_)<)ah!OI@emP;Gi;&*eN@X+rH!`$ek{{wddH zcWCo8ex=wi;4rbq+{n~d$iYTXYL#uGpo77lxXmauAG4(9)Zc4g>{rxI zTp8m1$)2HD#lBJFoqd-OcR_p7EBlaY>6IHFys)3l%p@Hc{n&o-L95or!pHU!i!49) z2t2fxwcy^r{n9;q)SzGY@AWoV&~pHTJ}EN~p6ETGi5^B%mgr3>PV|s0=;r{Y8`2>3 zfg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>KgV_*TU@nCI zFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oLjF!3`o=`y1hJ)nXGgt-_HpaC5I zh=K@RA1K?v^l>7zF*GpN0CmDM5xO=|l!KxaggH>OeP?2TCx8HNRyL3%GY~EX(v>VA F9st06Yx)2H diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_lep_modified.npz deleted file mode 100644 index 3e0e18eec291d21e8cbde0c0f5b5b9e20b59768a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?*=q{w|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_Lz*46xfY|p^Z;HYY<>%hPuA)xl#14yUHZn=;Oq-AZ-eJBOee?)ijR|9GJ ziX}!BKsq>X=I&x3Z4&%*Z!VB_GGRYRDJ9XpsE9?B>sDakQ9n1pMl&EERgo+o_&_G2=?>>vF9pO`51&3^e) zx1BfVeYW?!aBSL^IUnuM*UZ+RZ1&Fn)aPm0IR&rmH?0#nd1~J?`us>0=KuzMQf3}J(R)A> zJ&dL-(VJ2u(F4ObI2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0j zWC%TBDugbW4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0 zV;L~V#(^bZww02Sq6e cbD(JZ&cpyu00G{tY#>QyAY2NhD_KB105;B69RL6T diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep.npz deleted file mode 100644 index ac3da82ea6987cb48bdca5045d0eb0abd42a6751..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?IbOdX{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V4vc4P6S2f({G}A+3H9VL)2!TP}Mlkd{3iyQl<6pIpo#J;{OLKq}kLxcNZ7 z@JF$;3xWJlsh_78I50HaX_hva1EjB2=I);Az~C@lagy@{Apgx}5tk02`sP(XavOnk zyHC`nN+9j`pS7b1NFSK^cycz7?&*7WBN<4);Mp1!2c#or*RKb;BVzKFv_OzJ%PUS# zAYI{XtKb5p1y~ew?SQny&F*ie4gn}(KY0=Jby(PQ0>i$zBqgp}B zf9%<%mwQ#U|FADPmnSxF@>hG4%~xm5J^#tR?s4UXm%rZIqXzxDf3LT}f}R5y^hud{ z@I>zcP4qCDvP5r6g+$K)1b)Co1OyFf5c&WpQ38QO6@-4!0HGJOK?*9ti!Q zA3|T42%$GjhR_p$nE(U|rbFm}nGo7wHiQYJk^p9o0#Lvj2%Zys|fC?562Ig!yXaI*lq98)o2g)`ueVlMzz@TBQ p0qTTjB6Mw_Cul`_9AwPXGbltZX1jW*}S&q$^oKJOC(fSYQAE diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down.npz deleted file mode 100644 index b02250d2db4239a3782f6599d17a9b2f06cf5af2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?{1@+k{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VCC{Z#%_gDCjW3PW-z0hfoJ5{sV=#m!vqX%H6nt*}25wNkh4v^6`ldwU1XN zPB}ZzA;GL-O<2`JhrdtVjGxyoa8O-zb(P@S*$y_po@~epo9YnhY?FWFL%+k5-zjr) zFSk1!2)*BZRHo4(Wf!B{J*!HGrN810`;3YlmSun9oh6*@kal;CbZu?2!!!1{^8rU= z9e!HP{if#@=5TEKFP{6Nfes^kq2g8WN}!yZ|~bf zy1Wjv+s|FA^OknFvMjy(!GA@E!z@pYT&~7Z2=5b(mc)`AQD~H3o z^7`t$7c36p?^J>m{FxkVrFJ^BUi)vaboWo(!Y{w=k8faqVkq{*zUusnx8L=?+P_WM zwqCsAll|jm%~P$@-rJ)F{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIpG=pOHzI8MWvE6)Ygk#ee_} z;P6KjMCkfJ*#@SM6QPZvfw2at6P}6CwSl4>6r~`{fuij@69YT}1bDNufh3uMa4C?k HWC8I2!xeFd diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Down_modified.npz deleted file mode 100644 index b02250d2db4239a3782f6599d17a9b2f06cf5af2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?{1@+k{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72VCC{Z#%_gDCjW3PW-z0hfoJ5{sV=#m!vqX%H6nt*}25wNkh4v^6`ldwU1XN zPB}ZzA;GL-O<2`JhrdtVjGxyoa8O-zb(P@S*$y_po@~epo9YnhY?FWFL%+k5-zjr) zFSk1!2)*BZRHo4(Wf!B{J*!HGrN810`;3YlmSun9oh6*@kal;CbZu?2!!!1{^8rU= z9e!HP{if#@=5TEKFP{6Nfes^kq2g8WN}!yZ|~bf zy1Wjv+s|FA^OknFvMjy(!GA@E!z@pYT&~7Z2=5b(mc)`AQD~H3o z^7`t$7c36p?^J>m{FxkVrFJ^BUi)vaboWo(!Y{w=k8faqVkq{*zUusnx8L=?+P_WM zwqCsAll|jm%~P$@-rJ)F{kngzx50v*0~qv4nR)O;?*UEpFq*PNZ%T2Zhh#xN2Qb}` z2B8lWL1>362>qY|LN926&Fj-w&ZLOoY%ICPU~6Qz3N0bO;?V6G9uzhR_0Y zA@qlN5ISQ4gpODUp*mRJg*IhH}_AIpG=pOHzI8MWvE6)Ygk#ee_} z;P6KjMCkfJ*#@SM6QPZvfw2at6P}6CwSl4>6r~`{fuij@69YT}1bDNufh3uMa4C?k HWC8I2!xeFd diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up.npz deleted file mode 100644 index e502bd5ab658cedd39de8104f4a9adc16571d2e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2??Sfpt{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41Fnck=h!#83p)Ibso~}44Ra8+KeMy%K#GIZ8czw<_!5Uk6)7p32NNBd>cVwG ze$8`m+~e|3d&)wGq6e3?5~eM1coAa1+Tz-52a$PBC1GV#9ReEe&1M#u;P7FFwz}Z= zc87_!ySog{8XfjM-89oWq0(Vm{N^cvzC{kXJT3$cU;e&SI>Fc{Z9C{Y}J)V5u*&!s?UG)pModehYL;EhTH+2X= z3HuFkuOGp}o)Z}M#U&}JWrH>7H`jDBCP?45Pg)ibx~c7-{Y}xfjIOsV4ll&2&xwWc zI&kcNThCJ@?eJc~+?`8G$>FStp5OW~Wrqeu1-rznN)89#-ilcrsOTWCleYOxmz;z7 zHiw&&d!!tWPmQb5U=VlsE&DKQMW?XCmS!#;mq!8)yiq(xGmr8(ygMq-A8?Dqp|d83 z$%viRVOOw$7kd_y!wnt2FXx#U9CjSOwp3B>kG)Ilh0q+!ANI~(`)-!|eYJnx?_|1c z@+bQc%!becb0PGH zc@R2d0fdfN2%$X|L1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD%*B8J4dC!c z6h!FyK-mVSj}xJdp@Fdms1u%v(6xc092BJ>%z>iqI}-yu0R(unvVkO-fp961u4Do6 E0Mn>pUH||9 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_MU_ID_SF_Up_modified.npz deleted file mode 100644 index e502bd5ab658cedd39de8104f4a9adc16571d2e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2??Sfpt{zCy5g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL41Fnck=h!#83p)Ibso~}44Ra8+KeMy%K#GIZ8czw<_!5Uk6)7p32NNBd>cVwG ze$8`m+~e|3d&)wGq6e3?5~eM1coAa1+Tz-52a$PBC1GV#9ReEe&1M#u;P7FFwz}Z= zc87_!ySog{8XfjM-89oWq0(Vm{N^cvzC{kXJT3$cU;e&SI>Fc{Z9C{Y}J)V5u*&!s?UG)pModehYL;EhTH+2X= z3HuFkuOGp}o)Z}M#U&}JWrH>7H`jDBCP?45Pg)ibx~c7-{Y}xfjIOsV4ll&2&xwWc zI&kcNThCJ@?eJc~+?`8G$>FStp5OW~Wrqeu1-rznN)89#-ilcrsOTWCleYOxmz;z7 zHiw&&d!!tWPmQb5U=VlsE&DKQMW?XCmS!#;mq!8)yiq(xGmr8(ygMq-A8?Dqp|d83 z$%viRVOOw$7kd_y!wnt2FXx#U9CjSOwp3B>kG)Ilh0q+!ANI~(`)-!|eYJnx?_|1c z@+bQc%!becb0PGH zc@R2d0fdfN2%$X|L1>G`5L#migqBzep*fa8=pV~~iJy^4ml?I_0TnDD%*B8J4dC!c z6h!FyK-mVSj}xJdp@Fdms1u%v(6xc092BJ>%z>iqI}-yu0R(unvVkO-fp961u4Do6 E0Mn>pUH||9 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down.npz deleted file mode 100644 index f75e4a0053d69842c32f9bc994bc65ff53c33d4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?!r9V{|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0oQ)djq+}WLJnVQ`p)LGhdE>?+IjZnraH_hvcJ9NcZowJh z3+Fqm-7QpEbZeo*skiwbo?Tqva6MCS)h&xT4hi1!dzto3b$GnoGKk54fq-t+p6%RzNm0c?)QaKWrpd|Yo_WW;H-__3iV2>K~>;Apo1`B!)V9+OJ=D`!a2Q<;cXvz}3DaDB%k_G)7z;r_z zgg#INp&hCq^n(Tny`Tj`Cjb*O2q^SG=m-4}`ocsAyI!W<~tzB4hv6F`7BD;r3X83>mG J=}Hz54*=jKWTOB8 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Down_modified.npz deleted file mode 100644 index f75e4a0053d69842c32f9bc994bc65ff53c33d4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?!r9V{|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0oQ)djq+}WLJnVQ`p)LGhdE>?+IjZnraH_hvcJ9NcZowJh z3+Fqm-7QpEbZeo*skiwbo?Tqva6MCS)h&xT4hi1!dzto3b$GnoGKk54fq-t+p6%RzNm0c?)QaKWrpd|Yo_WW;H-__3iV2>K~>;Apo1`B!)V9+OJ=D`!a2Q<;cXvz}3DaDB%k_G)7z;r_z zgg#INp&hCq^n(Tny`Tj`Cjb*O2q^SG=m-4}`ocsAyI!W<~tzB4hv6F`7BD;r3X83>mG J=}Hz54*=jKWTOB8 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_ttbar_semilep_PU_weight_Up.npz deleted file mode 100644 index a5567a5fde9a941e46b85e807677f4627e896a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1XP2c)=|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0oVWhw=;CVi#RyF=6bOBYM28@?0&}SGHDLE0rLHdD@z?ton=_nm^8`3u1NgD zyXo^CS~Tr9pLn*=;ntsB$EIFg;83=w^Ut2>ISwqMyWeMAnCcL%_VcM?_ymU+SAR5I z3+-@Fz2o}yZFHl+^%&dCmf3$T-6!Y3>9c|_i zfD-o71*b20wzp~yijQtfFSJv02yWQW>^WP-!GQCRp}3}! zL-m!kOZvs~4i)l28toC%4$n4mY4N=lbMTmbv*M+lh{H=qpZZjFK?h|e>6E-;UI*!C zZTdN>oDSDRw2codu{lg);I`a$oXKJ3iJwcqbTK&0ojuFAspPNyxmy-9R$lmF@3?K> zRHtWO?VY4b87i-QvPTX2b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2l;T7W$%1|kV7eg< zLLVrC&<<4)`auJPUeE%e6FMNYLJw5FA3|T42%$GjhR_qHLg<3&5ISHcgf^HBp#|nb z=nwNCbjAV*9kCEXdn|&`7KISwqMyWeMAnCcL%_VcM?_ymU+SAR5I z3+-@Fz2o}yZFHl+^%&dCmf3$T-6!Y3>9c|_i zfD-o71*b20wzp~yijQtfFSJv02yWQW>^WP-!GQCRp}3}! zL-m!kOZvs~4i)l28toC%4$n4mY4N=lbMTmbv*M+lh{H=qpZZjFK?h|e>6E-;UI*!C zZTdN>oDSDRw2codu{lg);I`a$oXKJ3iJwcqbTK&0ojuFAspPNyxmy-9R$lmF@3?K> zRHtWO?VY4b87i-QvPTX2b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2l;T7W$%1|kV7eg< zLLVrC&<<4)`auJPUeE%e6FMNYLJw5FA3|T42%$GjhR_qHLg<3&5ISHcgf^HBp#|nb z=nwNCbjAV*9kCEXdn|&`7Ki$zBqgp}B zf9%<%mwQ#U|FADPmnSxF@>hG4%~xm5J^#tR?s4UXm%rZIqXzxDf3LT}f}R5y^hud{ z@I>zcP4qCDvP5r6g+$K)1b)Co1OyFf5c&WpQ38QO6@-4!0HGJOK?*9ti!Q zA3|T42%$GjhR_p$nE(U|rbFm}nGo7wHiQYJk^p9o0#Lvj2%Zys|fC?562Ig!yXaI*lq98)o2g)`ueVlMzz@TBQ p0qTTjB6Mw_Cul`_9AwPXGbltZX1jW*}S&q$^oKJOC(fSYQAE diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets.npz deleted file mode 100644 index 9a678cf059a3bba96a1d79783ffe6419dd4b51c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1Xkx=>1|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T^>g~qBWp=88p5E-zF!Jya7}mt{-X+ zPznqjp!P{X)x*SL?m(wu@+fowO4xI333rEuJtr{ii%U{c%Z6&uZ}_&7DQtnE!%rt$ zjfMBD9r}ZmW1rVJIHd8U>Vx>FQZy5g`D!P7AC*osb+~i2#|$J7(+{JO!VMhs^PUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n z&>0ILbi_gk?Xd_#TP%jq8cQIw#8L>&u?#~0SmqGm&B&z7j9T=73KkGX&e;v%@JAFx z==wm}2Bwdb0Rb8qYk)f8nFw7QD9S-m3c?%+T?`G3-YJU7DeTV)((|E+GkH#IXHZ>55D7;X6?{;ed_ZvYf}e* zv#Y@>sn!lDUzch4M;pRvSdhVj-qKKJ{c<-`Dh2(zf3LT}f}R5y^hud{@I>zcP4qCD zvP5r6r9|%s@p(fUgg#INp&hCq^n(Tny`Tj`Cv-q)g&wGUKZL$85kha64524Xh0q1l zA#}h@2yHMMLJQ1=&>!YO=!^vrI$|M&_E-d=Efzy)jU^CTVkv~?SO%egEOQ9(W@OT3 zMlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^dhk*vh8lX;iCPLQ+igHktf-nb650GwP Z{LaJxPXGbltZX1jW*}S&q$^oKJOJQKD*ONd diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Down_modified.npz deleted file mode 100644 index f29f44f3dc251ab3dfe562afd2ff9d462e735aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?So^r{|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*YJU7DeTV)((|E+GkH#IXHZ>55D7;X6?{;ed_ZvYf}e* zv#Y@>sn!lDUzch4M;pRvSdhVj-qKKJ{c<-`Dh2(zf3LT}f}R5y^hud{@I>zcP4qCD zvP5r6r9|%s@p(fUgg#INp&hCq^n(Tny`Tj`Cv-q)g&wGUKZL$85kha64524Xh0q1l zA#}h@2yHMMLJQ1=&>!YO=!^vrI$|M&_E-d=Efzy)jU^CTVkv~?SO%egEOQ9(W@OT3 zMlE_k1q%qnb2bA5LjySc5d{&tK2WxS>Ei^dhk*vh8lX;iCPLQ+igHktf-nb650GwP Z{LaJxPXGbltZX1jW*}S&q$^oKJOJQKD*ONd diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up.npz deleted file mode 100644 index a16def0c25675adba5a3a98f70925c539f1f74c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1XbICq||4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*J5%w0cWtPHMpBZe=^;Od z7eC|c=1mWE*#7GK+xByQ4m)}5woBDJIYb|PWU=dvp99mgnU_2^SiotR`O*6CW*jZl za40wy?101crTaNlI$jP!0NYvnT6k zh8sHU>3-_GV5+r)ZL-nPOLh(px8Kh@{JqKA;Y-iHzNR1thvn@{dq4MDJ1l$0_GEXo zsl(|>8i&$)tQ~3-m^oES4dFB_$Y4SLz<5IYf^<_V1^v2zueZU1o&y;4Ntt=@MDGDj z^e~#TL~lx^MDGXjc|#h6K2QXq9jYMog9Zq_panuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh7DH%_B@kL-DTL-&2BCi}a|rNe zWYT3uEqXu&3kbt=HUk4g133H<1rfSFP_}{T;{>XQfdQyAY2NhD_KB10Qn>=BLDyZ diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_MU_ID_SF_Up_modified.npz deleted file mode 100644 index a16def0c25675adba5a3a98f70925c539f1f74c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1XbICq||4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*J5%w0cWtPHMpBZe=^;Od z7eC|c=1mWE*#7GK+xByQ4m)}5woBDJIYb|PWU=dvp99mgnU_2^SiotR`O*6CW*jZl za40wy?101crTaNlI$jP!0NYvnT6k zh8sHU>3-_GV5+r)ZL-nPOLh(px8Kh@{JqKA;Y-iHzNR1thvn@{dq4MDJ1l$0_GEXo zsl(|>8i&$)tQ~3-m^oES4dFB_$Y4SLz<5IYf^<_V1^v2zueZU1o&y;4Ntt=@MDGDj z^e~#TL~lx^MDGXjc|#h6K2QXq9jYMog9Zq_panuFbUWbihmqZ7>@`3(SSkALc>mj0F%nVj+a~SOlRh7DH%_B@kL-DTL-&2BCi}a|rNe zWYT3uEqXu&3kbt=HUk4g133H<1rfSFP_}{T;{>XQfdQyAY2NhD_KB10Qn>=BLDyZ diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down.npz deleted file mode 100644 index 45026305dafc234991b91e0d1e2246cc0a31a78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?4e3np|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8SM4*eim!%IKcQe_io#NX;pT37E|)V;kt!`$Ica*Y%YEdF4e6yvWLSR zj9mPj-mdU>VDkJPa8WeOVUc}8%UuO;hefM)cr0>vcKH6-SjMQv-{F4xvGaSbSUXhQ zo7H*rs14lw*FWxjIH#-W@P&uJJ%Y&vE)KJo*P-<3oV_XzHtS9q9o=dGmxs9zMhBpT zz2PPERj{z<1crTaNlI$jP!0OBaFNw=iwzy-i2Q%eHpSZEcDYx?Ef*(;D9eI>_g30C z6s*=~zje#OA^Lk)Oh%rSL!`katJZ2WhhsOt-`n`f#-a2vQ(oE!V+a0&Q>t$@n81S& z7W7N~w+biCH;0Q;7WC`>z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61^Y9=M8BP`altc zcBq2T4;mo!f))s!&;g+pdZ6xmOyBUr4X898HE0^%pt&=kx7>swdesAEFcWe*$fN}4dC!c z6h!FyK-mVSj}xdK1{xS^fI8us2wfW}%0W>I!W=L?K)QkPI}-yu0R(unvVkO-fp961 Iu4Do605Ul`1^@s6 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Down_modified.npz deleted file mode 100644 index 45026305dafc234991b91e0d1e2246cc0a31a78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?4e3np|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8SM4*eim!%IKcQe_io#NX;pT37E|)V;kt!`$Ica*Y%YEdF4e6yvWLSR zj9mPj-mdU>VDkJPa8WeOVUc}8%UuO;hefM)cr0>vcKH6-SjMQv-{F4xvGaSbSUXhQ zo7H*rs14lw*FWxjIH#-W@P&uJJ%Y&vE)KJo*P-<3oV_XzHtS9q9o=dGmxs9zMhBpT zz2PPERj{z<1crTaNlI$jP!0OBaFNw=iwzy-i2Q%eHpSZEcDYx?Ef*(;D9eI>_g30C z6s*=~zje#OA^Lk)Oh%rSL!`katJZ2WhhsOt-`n`f#-a2vQ(oE!V+a0&Q>t$@n81S& z7W7N~w+biCH;0Q;7WC`>z1{{3dJbUFCuQcr6TJsC(ZguU61^#v61^Y9=M8BP`altc zcBq2T4;mo!f))s!&;g+pdZ6xmOyBUr4X898HE0^%pt&=kx7>swdesAEFcWe*$fN}4dC!c z6h!FyK-mVSj}xdK1{xS^fI8us2wfW}%0W>I!W=L?K)QkPI}-yu0R(unvVkO-fp961 Iu4Do605Ul`1^@s6 diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/Zprime_channel_wjets_PU_weight_Up.npz deleted file mode 100644 index 786bc3fba76fc84213db9d34b7c602de101e4b3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1X(OON;|4_iiAi_|YnVOSQte00%$;cqU;J^q`2cswZh580WGBT7g zRI8_?7AF^}TPdj9q*q
z$A`ZEB#y5%be?*ZX=ooXe9BpeO}l4wxPw-N5*ri2q
z$A`ZEB#y5%be?*ZX=ooXe9BpeO}l4wxPw-N5*ri21|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T^>g~qBWp=88p5E-zF!Jya7}mt{-X+ zPznqjp!P{X)x*SL?m(wu@+fowO4xI333rEuJtr{ii%U{c%Z6&uZ}_&7DQtnE!%rt$ zjfMBD9r}ZmW1rVJIHd8U>Vx>FQZy5g`D!P7AC*osb+~i2#|$J7(+{JO!VMhs^PUwKp3O!Kyeh7VGB81*B8A4B(3ZV<8L+F5+5ZYiigcg_!p+C%n z&>0ILbi_gk?Xd_#TP%jq8cQIw#8L>&u?#~0SmqGm&B&z7j9T=73KkGX&e;v%@JAFx z==wm}2Bwdb0Rb8qYk)f8nFw7QD9S-m3c?%+T?`G3-n10ltU-$3zHdxSe0E0d$GY_8VJ)nsmMpKsPO{tXV{T#qPX-I?62Z|uH zLluO6&;X$qv_R;D4hXH#1C{TG&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI` zu>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!A4gubbOuEddMGvT80b%5v-2e`ML_vhE z50q_S`ZyU7pn%z@Cw(7^bei2n10ltU-$3zHdxSe0E0d$GY_8VJ)nsmMpKsPO{tXV{T#qPX-I?62Z|uH zLluO6&;X$qv_R;D4hXH#1C{TG&=)2`=na!0^n|Gpx?nnl4wwm{4Q4}Vfw>U+!#oI` zu>e9xEQHV=iy*YcVhF9V1VT$Jh0q+!AoP!A4gubbOuEddMGvT80b%5v-2e`ML_vhE z50q_S`ZyU7pn%z@Cw(7^bei2KBkq{TVLXYG?iemC7R=5wfcam!htl-Yr8l9O|*qoBho7xuQxSpp8t z;pcL+Cn-6EX=HG%^HFo?a}|;`UTorUuh{Kfk&wQF)7>NbeAAsBrip!?bNaTEgV?lf zQnwY{9f}!z?%q4)?@+Ps^m=jOK!;PC!!BNH3UydBu_!BlR-nT*<4-=-1r84JRnv-| z+_!dkS$XV7R+585Ycr$si&N?j*82X;!2)6q^M3qnU434}Apj-p*I%|thJ`&RFzky< zQc}x?TF~!Q71G|(`OkjAwVjQMHs9@EWcM{>o@I2H?jx}``v`+W@aJi3@(*!3B!vHY z(B;eJkhfXm_OuXThbI4-^*bgBIJ8WE635mk?NIZ_&guFTNrzJ}6mPtpCF8J5eA&M3 zuN52wU9IMxlTvb+ljOb7?whj1DX#6eubX|u98Nr`k$Tx7 z;qd9rJ%4pu9tR$|gOfI^FgaYf5@5c6AtPGQulx6U8!YHKfI**>nFmkw9?(P&qbW=D zrc_Gweh%PN-;f5O4-`RYhbjpDpaDWJXo1iP9S~Zf2P)qWp)X8?&>JR0=m}FHbis58 z9WWC@8_b5#0&^kshj|b>V*!MYSO}p#7C~r>#SmI!351qd3ZXfcLFgaLfHAEXYJ4JH<3MO%;(^8<0>ylDYL`ddcNPaj)D#jCpKL^lO^DA zIXtvAd7Y=l|vStm#*``p3isG4GNwWeS1QlPuDK2nuXwq7r ze&fEi!|ltFUz3v@9Ii+$lf8FJ-N8Ru{gbDFn1lG!v)qf%i#Pdt@mlbL317Pt9sf1)w)Z{k@-hdP;zhbc!G93FNYCjiA za;eUj%OURS=iI&!VTWIG+1uAo5^&hG{?VJq4bl#iX9d(ApCain*Fjj~-Ygl1U+>he zuYaxJFy+XRtw*Jl9DE)>nqm4)*+FV~(K*2yMTe7Wd}|K=6nB_8f9LB;A2Ek%9n*H* z>yU7GCSO-5ZOh}3aNvgW8Wkpo|EIf^b}VE>3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQv ziQbe-iQdlvoa!6WAoPJE2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0jWC%TBDugbW z4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0V;L|87@2gL zQHvf>!2-g_IlBQI{)mDIT^}gh!1Qr4AV33S4NxaM6QOGZML8%+L6`%fi=lz>I}-yu U0R(unvVkO-fp961u4Do60Bl-ZO#lD@ diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Down_modified.npz deleted file mode 100644 index f555a1709d1a5f7ed80c76ae0f133f6a4d064538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1Xw*{uZ|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku;gsv4Jpl>EXYJ4JH<3MO%;(^8<0>ylDYL`ddcNPaj)D#jCpKL^lO^DA zIXtvAd7Y=l|vStm#*``p3isG4GNwWeS1QlPuDK2nuXwq7r ze&fEi!|ltFUz3v@9Ii+$lf8FJ-N8Ru{gbDFn1lG!v)qf%i#Pdt@mlbL317Pt9sf1)w)Z{k@-hdP;zhbc!G93FNYCjiA za;eUj%OURS=iI&!VTWIG+1uAo5^&hG{?VJq4bl#iX9d(ApCain*Fjj~-Ygl1U+>he zuYaxJFy+XRtw*Jl9DE)>nqm4)*+FV~(K*2yMTe7Wd}|K=6nB_8f9LB;A2Ek%9n*H* z>yU7GCSO-5ZOh}3aNvgW8Wkpo|EIf^b}VE>3;K2cUT=d1JqIx8lQQ$*iQWU6=wUQv ziQbe-iQdlvoa!6WAoPJE2<=b>p&v9r=mjkhI-vtXEA&9+`yup&i4c0jWC%TBDugbW z4xs~PLTH285L#d^g#IuOLT4<1&=CtEw8tU{ZLt_aYb=4#5=$X8$1({0V;L|87@2gL zQHvf>!2-g_IlBQI{)mDIT^}gh!1Qr4AV33S4NxaM6QOGZML8%+L6`%fi=lz>I}-yu U0R(unvVkO-fp961u4Do60Bl-ZO#lD@ diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up.npz deleted file mode 100644 index b7c8c5feed8e6d0a74d8412c2ff79a635260e266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?Ez4{)|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku;gq}l?=vZGXYDth*&}D<&gY;Xo5r)Hk=a4YtoiFMA3+BWrZd@or2-Bt zCoUhjFi*+h>WWPz7o*i2Ce*VtUf5vba7I@2cC3cJ!+e(ITU(bqJ8TSy@VWTX$>CV| z?JEg}?hX!%`RhU+_&XH#e)4@R7wC}5+yBdRVyMH!IsH;QmIpelkTu(%SMA{N?6J^Q z^-tCgueW)a$mBXWykDB~I{lWqgNnrDlrlLnhb1A-;-Bt_I0T@C{c{F^Hdxqm0>i$z zBqgT9m4u--W8`jMea0o5ZO_!M^?QkhdWLMa7Nrx=gI$iDcG7cJtyuO)! zS8$joH`^{lUCH5;2iwt^%qkAEiWRieIu#v$?fmfT2&aUD)vCoi5xPE5wt?y6WI%uh#u}hbcqT&E28wb}l!7n^LKi~=<98+ocmfFU SW@Q6OG6UgKAYI7<;sF4S3r~Ik diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_MU_ID_SF_Up_modified.npz deleted file mode 100644 index b7c8c5feed8e6d0a74d8412c2ff79a635260e266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?Ez4{)|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku;gq}l?=vZGXYDth*&}D<&gY;Xo5r)Hk=a4YtoiFMA3+BWrZd@or2-Bt zCoUhjFi*+h>WWPz7o*i2Ce*VtUf5vba7I@2cC3cJ!+e(ITU(bqJ8TSy@VWTX$>CV| z?JEg}?hX!%`RhU+_&XH#e)4@R7wC}5+yBdRVyMH!IsH;QmIpelkTu(%SMA{N?6J^Q z^-tCgueW)a$mBXWykDB~I{lWqgNnrDlrlLnhb1A-;-Bt_I0T@C{c{F^Hdxqm0>i$z zBqgT9m4u--W8`jMea0o5ZO_!M^?QkhdWLMa7Nrx=gI$iDcG7cJtyuO)! zS8$joH`^{lUCH5;2iwt^%qkAEiWRieIu#v$?fmfT2&aUD)vCoi5xPE5wt?y6WI%uh#u}hbcqT&E28wb}l!7n^LKi~=<98+ocmfFU SW@Q6OG6UgKAYI7<;sF4S3r~Ik diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_signal_modified.npz deleted file mode 100644 index 8820c6059affc9356610f20713815e0e507d144d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?#m9Az{)YlC1`&qJ%+#EeV!gbAN=60&1_wrnIv73KFVr_6l98c| zp;|p9wK%y*-AX~-Ce1=!M?pO;zo?`rF)u#9C?ypn?v|KSoC*{#&PXgs1@bkFOmsAL z6lxX72V78R!>KBkq{TVLXYG?iemC7R=5wfcam!htl-Yr8l9O|*qoBho7xuQxSpp8t z;pcL+Cn-6EX=HG%^HFo?a}|;`UTorUuh{Kfk&wQF)7>NbeAAsBrip!?bNaTEgV?lf zQnwY{9f}!z?%q4)?@+Ps^m=jOK!;PC!!BNH3UydBu_!BlR-nT*<4-=-1r84JRnv-| z+_!dkS$XV7R+585Ycr$si&N?j*82X;!2)6q^M3qnU434}Apj-p*I%|thJ`&RFzky< zQc}x?TF~!Q71G|(`OkjAwVjQMHs9@EWcM{>o@I2H?jx}``v`+W@aJi3@(*!3B!vHY z(B;eJkhfXm_OuXThbI4-^*bgBIJ8WE635mk?NIZ_&guFTNrzJ}6mPtpCF8J5eA&M3 zuN52wU9IMxlTvb+ljOb7?whj1DX#6eubX|u98Nr`k$Tx7 z;qd9rJ%4pu9tR$|gOfI^FgaYf5@5c6AtPGQulx6U8!YHKfI**>nFmkw9?(P&qbW=D zrc_Gweh%PN-;f5O4-`RYhbjpDpaDWJXo1iP9S~Zf2P)qWp)X8?&>JR0=m}FHbis58 z9WWC@8_b5#0&^kshj|b>V*!MYSO}p#7C~r>#SmI!351qd3ZXfcLFgaLfHA7FYRFxkLGW@(ckdherK8Ar0l#m_HJHLDVp2=!R2A<=uHQp zg#F6vw&3}CzWI?~~-|KC#pyvPveNtu~JkfhV6FrQk zEYX`%Dbf2mfD>y&8iYPj1fdMLML=UXoViAd_RP~FcCs;m<*vOOoh+| z(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whjp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJv zWkxM}Km`j3Bj@Y}aQGt%B6NMAYy;EB$$$V2j5R==@JxiR4HV^|CAz`r1-oy_FL}Vo+-ZlA6y=$j^1Az`r1-oy_FL}Vo+-ZlA6y=$j^1WOA+*OL2yL+#LTfC6&=N}_G{-Us{bQL!fHxzP zE;DM;11eZR7&&J*fWseA5TWY>WgD12P6h;MV5|Y^gl8gjZJ;OzMJWh#AapS_Fn(uZ WfG2WOA+*OL2yL+#LTfC6&=N}_G{-Us{bQL!fHxzP zE;DM;11eZR7&&J*fWseA5TWY>WgD12P6h;MV5|Y^gl8gjZJ;OzMJWh#AapS_Fn(uZ WfG27FYRFxkLGW@(ckdherK8Ar0l#m_HJHLDVp2=!R2A<=uHQp zg#F6vw&3}CzWI?~~-|KC#pyvPveNtu~JkfhV6FrQk zEYX`%Dbf2mfD>y&8iYPj1fdMLML=UXoViAd_RP~FcCs;m<*vOOoh+| z(;;-gObBf-8$t`rh0q`7LFkMH5ISNZg!Whjp)D3eXpJQhT4E`L=2!-ye=Ktd@MdJv zWkxM}Km`j3Bj@Y}aQGt%B6NMAYy;EB$$$V2j5R==@JxiR4HV^|C%x%`=rgGJ)I+g*;n4oV{X zuKyGAbP!WXS3T-u>yTlZuX8NM(cy>0r%midst&K-uD@G5McrZTm6sh$uL(Q2Oq||1 zflJw;&p&T1*G3tKC3mad)Nhk-hP+u-TnZSu;=>x zTN)PjoWQUzE=fr(8!AD6n3c6^(nW5EM@RA;rhbrg_{neZqEbcFA*jFi#UW09hmga0 z%*hwU97@IJ-Enu4cKEmEB43)Jti$n5m3CJPl^m{kceb7iRC37j?)+l@U*2JTgYA7& zW(5cH=OMmMFU1@Z)DpQ~UzBn?d3f+0ha6>Y@Z3&hu}`JEOtkaL{$#oyHq{ z4ol|qooAI|cUYqL?K#U|R$M`Ej~evr{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5 z132+Fq(SHdMG)Gd3PL|8<;*$pn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH T;LXYgl4J(Lr9irp1;hgYbXsG~ diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down.npz deleted file mode 100644 index ab88fcff4ed9c6d3c6ec9ad13da88c5aa09ec39a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?Lt=??|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T{Qn6dY9bqAT7%8^fX9Uas*+6J`UvT#sZaA&9JJY9$F z%1?M7+_!Q_IFZw2E9L6ovrxIheW{zniuf&W7AFTd+>uKBo%PJeVTCN?|58U^2bMcq zvtJ8&I_MqVS+U*6*5S~iM_cyBI6C+|3!3z=P}Sj9PxI!YDe4Y)=5EuRdrjDZ{ml7& z?Oe(ZUFs)We{Ya+Say!5y>Oe1gHQ3*cagCN?Eh6Pd}eg_zr9Sw^V=8L-t7-S342Rn z)+Mm8=LCj*aY;&Q*-#03&T0KK+b(iDo2lK-h-yGIparpkD(4*uA zpTm?>s+WICvO7%Tai9G24=b*qw?_^7b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2luC)- z&jFnH8`2>3fg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>K zgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oN3Lx49UlP)uA(E}=2 zKp39085kHEz~PT5h|u+cvJFfhCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{ U2=HcQ14%Li;Zh)7$pYd506(^75C8xG diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Down_modified.npz deleted file mode 100644 index ab88fcff4ed9c6d3c6ec9ad13da88c5aa09ec39a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;2?Lt=??|Dk}3L4=_)Gc_lrSTC=jl954x!GRH?4n|M*3-t|%WMn8~ zs8&x&Elw^{w^C5INwZMbQBY6IFDfZY%!|)2N=XHYyCvonrvk-`GZG6@fqV@k6CF(* zg<1vj0T{Qn6dY9bqAT7%8^fX9Uas*+6J`UvT#sZaA&9JJY9$F z%1?M7+_!Q_IFZw2E9L6ovrxIheW{zniuf&W7AFTd+>uKBo%PJeVTCN?|58U^2bMcq zvtJ8&I_MqVS+U*6*5S~iM_cyBI6C+|3!3z=P}Sj9PxI!YDe4Y)=5EuRdrjDZ{ml7& z?Oe(ZUFs)We{Ya+Say!5y>Oe1gHQ3*cagCN?Eh6Pd}eg_zr9Sw^V=8L-t7-S342Rn z)+Mm8=LCj*aY;&Q*-#03&T0KK+b(iDo2lK-h-yGIparpkD(4*uA zpTm?>s+WICvO7%Tai9G24=b*qw?_^7b^l&(g9SYYFzAyq^Wcfz1DfbzG-Zk2luC)- z&jFnH8`2>3fg%X)Pz9kMG(hMDEf6}P141kGK;`=(^o5BKdc$N0Jz*+@E|?CX17<>K zgV_*TU@nCIFb_g!EP&7v3n8?}A_#4<7(#0-fzT35AvDJ_2>oN3Lx49UlP)uA(E}=2 zKp39085kHEz~PT5h|u+cvJFfhCr~{MG%(fxb;2_dx;9XhgQ66KIbeE#bOYmeCI)x{ U2=HcQ14%Li;Zh)7$pYd506(^75C8xG diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up.npz deleted file mode 100644 index 69f92164402beaf3145fb52d0562e8c86b94e53e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1X0k2D6|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8J_v?wauLQ*M5prfd1!e>JBHlLs)e!9UUUfW4By>ZQOUhnMnuxK}0EIy7`BO*x<8=#Zk!U-7M8)uC*%Iq$+H>JAQnw{7isEbP#iIy)jq zT-l*wsV(b{qcRSEJU@2LJSF4MWz-bHlySg5efFXJ&maHW*L&sg#7n)~AAl0}HTs$# zVPVe+4Ey4el+?1J67)W?^QP^2%<@g=8PPqE3 z{IQrr^$pR`{t#)0S^MYSb$69@cyi-V!^Aoz2Xp<3VzW3U2Zv3jRUfz&9F%+BGj8Bl zaIiLJ? z_#4t7^noG>?N9}wA2dMd1uYOdp#wrI^g!kNA@qfb5PHL82t8pcgf5s4p#x?@XoJ}h zT3{}O{xADxOCdDJG6?-+nL~g#Ba<#OYS9BKSU?z_ zvl$o|8o=R?D2UMYfwB!uA16>f3^Xv-0CmDM5xO=|l!KxaggIb(fOG@ncP0jS0toPC RWdlhv1L0C2UC9FC0RYj7TM+;N diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_MU_ID_SF_Up_modified.npz deleted file mode 100644 index 69f92164402beaf3145fb52d0562e8c86b94e53e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1X0k2D6|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8J_v?wauLQ*M5prfd1!e>JBHlLs)e!9UUUfW4By>ZQOUhnMnuxK}0EIy7`BO*x<8=#Zk!U-7M8)uC*%Iq$+H>JAQnw{7isEbP#iIy)jq zT-l*wsV(b{qcRSEJU@2LJSF4MWz-bHlySg5efFXJ&maHW*L&sg#7n)~AAl0}HTs$# zVPVe+4Ey4el+?1J67)W?^QP^2%<@g=8PPqE3 z{IQrr^$pR`{t#)0S^MYSb$69@cyi-V!^Aoz2Xp<3VzW3U2Zv3jRUfz&9F%+BGj8Bl zaIiLJ? z_#4t7^noG>?N9}wA2dMd1uYOdp#wrI^g!kNA@qfb5PHL82t8pcgf5s4p#x?@XoJ}h zT3{}O{xADxOCdDJG6?-+nL~g#Ba<#OYS9BKSU?z_ zvl$o|8o=R?D2UMYfwB!uA16>f3^Xv-0CmDM5xO=|l!KxaggIb(fOG@ncP0jS0toPC RWdlhv1L0C2UC9FC0RYj7TM+;N diff --git a/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_modified.npz b/nondiff_stats/cabinetry/cabinetry_histograms/channel_ttbar_semilep_modified.npz deleted file mode 100644 index 37c24974ce8fb83d80e32c2980c069cd423efcd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmWIWW@gc4fB;1XzvDOD|3d*6g9t-qW@=7Kv0h$5B_o3Xg99T(9gLpr7wQ`j$;eQ~ zP_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=XCxM+0{I$7COVor z3bhL411_ku8T3CWds?^swP#P{uL(V_?(o@L{m2_#M+coFkE$l!vT%5R@~V^aJY5HO zkNF$E-?wrwJoo;Ko0O}=thQzOK}+2nj)eVFUYi`?kR;>%x%`=rgGJ)I+g*;n4oV{X zuKyGAbP!WXS3T-u>yTlZuX8NM(cy>0r%midst&K-uD@G5McrZTm6sh$uL(Q2Oq||1 zflJw;&p&T1*G3tKC3mad)Nhk-hP+u-TnZSu;=>x zTN)PjoWQUzE=fr(8!AD6n3c6^(nW5EM@RA;rhbrg_{neZqEbcFA*jFi#UW09hmga0 z%*hwU97@IJ-Enu4cKEmEB43)Jti$n5m3CJPl^m{kceb7iRC37j?)+l@U*2JTgYA7& zW(5cH=OMmMFU1@Z)DpQ~UzBn?d3f+0ha6>Y@Z3&hu}`JEOtkaL{$#oyHq{ z4ol|qooAI|cUYqL?K#U|R$M`Ej~evr{=MD?3wjP<&?jZ)!4tg)G||Io$`ZXPl@h(5 z132+Fq(SHdMG)Gd3PL|8<;*$pn4c+V5|Y^gl8gjZJ;OzMJWh#!1Ms=2FCA94DbXH T;LXYgl4J(Lr9irp1;hgYbXsG~ From 8ad761305ea23435a502466e644704f7cd0e04d6 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 22:32:09 +0200 Subject: [PATCH 21/24] cleaning up --- analysis.py | 18 +- utils/metadata_extractor.py | 16 +- utils/skimming.py | 1158 ++++++++++++++++++++++------------- utils/workitem_skimming.py | 775 ----------------------- 4 files changed, 738 insertions(+), 1229 deletions(-) delete mode 100644 utils/workitem_skimming.py diff --git a/analysis.py b/analysis.py index d150ed0..4539c15 100644 --- a/analysis.py +++ b/analysis.py @@ -18,8 +18,7 @@ from utils.logging import setup_logging, log_banner from utils.schema import Config, load_config_with_restricted_cli from utils.metadata_extractor import NanoAODMetadataGenerator -from utils.skimming import process_fileset_with_skimming -from utils.workitem_skimming import process_workitems_with_skimming +from utils.skimming import process_workitems_with_skimming # ----------------------------- # Logging Configuration @@ -44,33 +43,28 @@ def main(): full_config = load_config_with_restricted_cli(ZprimeConfig, cli_args) config = Config(**full_config) # Pydantic validation logger.info(f"Luminosity: {config.general.lumi}") - dataset_manager = ( ConfigurableDatasetManager(config.datasets) if config.datasets else None ) + + logger.info(log_banner("metadata and workitems extraction")) + # Generate metadata and fileset from NanoAODs generator = NanoAODMetadataGenerator(dataset_manager=dataset_manager) generator.run(generate_metadata=config.general.run_metadata_generation) fileset = generator.fileset - - # Process workitems with skimming and get processed events - # processed_datasets = process_fileset_with_skimming(config, fileset) - - logger.info(log_banner("WORKITEM-BASED SKIMMING AND PROCESSING")) - - #Get workitems from the metadata generator workitems = generator.workitems if not workitems: logger.error("No workitems available. Please ensure metadata generation completed successfully.") sys.exit(1) + logger.info(log_banner("SKIMMING AND PROCESSING")) logger.info(f"Processing {len(workitems)} workitems") - #Process workitems using workitem-based approach + # Process workitems with dask-awkward processed_datasets = process_workitems_with_skimming(workitems, config, fileset, generator.nanoaods_summary) - #processed_datasets = {k: v for k,v in processed_datasets.items() if "signal" in k} analysis_mode = config.general.analysis if analysis_mode == "skip": logger.info(log_banner("Skim-Only Mode: Skimming Complete")) diff --git a/utils/metadata_extractor.py b/utils/metadata_extractor.py index db37a6d..32103ba 100644 --- a/utils/metadata_extractor.py +++ b/utils/metadata_extractor.py @@ -1,11 +1,15 @@ """ -Module for generating and managing JSON metadata for NanoAOD ROOT datasets. +NanoAOD dataset metadata extraction and management. + +This module builds filesets from ROOT file listings, extracts metadata using +coffea preprocessing tools, and creates WorkItem objects that are later processed +as chunks during the skimming phase. + +Outputs three main JSON files: +- fileset.json: Maps dataset names to ROOT file paths and tree names +- workitems.json: Contains WorkItem objects with file chunks and entry ranges +- nanoaods.json: Summary of event counts per dataset and process -This module provides a structured way to: - - Collect ROOT file paths from text listings. - - Build coffea-compatible filesets. - - Extract detailed metadata from NanoAOD files using coffea. - - Orchestrate the entire metadata generation and persistence process. """ # Standard library imports diff --git a/utils/skimming.py b/utils/skimming.py index cfb9a0c..34398c6 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -1,552 +1,838 @@ """ -Centralized skimming manager with configurable selections and dual-mode support. +Event skimming and preprocessing module. -This module provides a unified interface for skimming that supports both: -1. NanoAOD/DAK mode with PackedSelection functions -2. Pure uproot mode with string-based cuts - -The skimming logic uses the same functor pattern as other selections in the codebase. +This module provides workitem-based processing of NanoAOD datasets with +automatic failure handling, event merging, and caching. It processes file +chunks (workitems) in parallel using dask.bag, applies configurable event +selections, and merges output files per dataset for efficient analysis. """ -import glob import hashlib import logging import os -import warnings from pathlib import Path -from typing import Any, Dict, Optional, Union +from typing import Any, Dict, List, Optional, Set, Union +from collections import defaultdict import awkward as ak import cloudpickle -import dask_awkward as dak -import numpy as np +import dask.bag +import hist import uproot -from coffea.analysis_tools import PackedSelection from coffea.nanoevents import NanoAODSchema, NanoEventsFactory -from tqdm import tqdm +from coffea.processor.executor import WorkItem +from tabulate import tabulate from utils.schema import SkimmingConfig from utils.tools import get_function_arguments logger = logging.getLogger(__name__) -NanoAODSchema.warn_missing_crossrefs = False -warnings.filterwarnings("ignore", category=FutureWarning, module="coffea.*") -# Fixed output pattern for simplicity -SKIMMING_OUTPUT_PATTERN = "part_{chunk}.root" # chunk number will be filled in +def default_histogram() -> hist.Hist: + """ + Create a default histogram for tracking processing success/failure. + This histogram serves as a dummy placeholder to track whether workitems + were processed successfully. The actual analysis histograms are created + separately during the analysis phase. -class ConfigurableSkimmingManager: + Returns + ------- + hist.Hist + A simple histogram with regular binning for tracking purposes """ - Centralized skimming with config-driven selections and paths. + return hist.Hist.new.Regular(10, 0, 1000).Weight() + - This class handles both NanoAOD (with PackedSelection) and uproot (with cut strings) - preprocessing modes, using configuration to define selections. +def workitem_analysis( + workitem: WorkItem, + config: SkimmingConfig, + configuration: Any, + file_counters: Dict[str, int], + part_counters: Dict[str, int], + is_mc: bool = True, +) -> Dict[str, Any]: """ + Process a single workitem for skimming analysis. - def __init__(self, config: SkimmingConfig): - """ - Initialize the skimming manager with configuration. + This function handles I/O, applies skimming selections, and saves + output files on successful processing. - Parameters - ---------- - config : SkimmingConfig - Configuration containing selection functions and parameters - """ - self.config = config - logger.info("Initialized configurable skimming manager") + Parameters + ---------- + workitem : WorkItem + The coffea WorkItem containing file metadata and entry ranges + config : SkimmingConfig + Skimming configuration with selection functions and output settings + configuration : Any + Main analysis configuration object containing branch selections + file_counters : Dict[str, int] + Pre-computed mapping of file keys to file numbers + part_counters : Dict[str, int] + Pre-computed mapping of part keys (including entry ranges) to part numbers + is_mc : bool, default True + Whether the workitem represents Monte Carlo data - # Validate configuration - # if not config.nanoaod_selection and not config.uproot_cut_string: - # raise ValueError("Either nanoaod_selection or uproot_cut_string must be provided") + Returns + ------- + Dict[str, Any] + Dictionary containing: + - 'hist': Dummy histogram for success tracking + - 'failed_items': Set of failed workitems (empty on success) + - 'processed_events': Number of events processed + - 'output_files': List of created output files + """ + dummy_hist = default_histogram() + + try: + # Extract workitem metadata + filename = workitem.filename + treename = workitem.treename + entry_start = workitem.entrystart + entry_stop = workitem.entrystop + dataset = workitem.dataset + + # Load events using NanoEventsFactory + events = NanoEventsFactory.from_root( + {filename: treename}, + entry_start=entry_start, + entry_stop=entry_stop, + schemaclass=NanoAODSchema, + ).events() + + total_events = len(events) + + # Apply skimming selection using the provided function + selection_func = config.selection_function + selection_use = config.selection_use + + # Get function arguments using existing utility + selection_args = get_function_arguments( + selection_use, events, function_name=selection_func.__name__ + ) + packed_selection = selection_func(*selection_args) + # Apply final selection mask + selection_names = packed_selection.names + if selection_names: + final_selection = selection_names[-1] + mask = packed_selection.all(final_selection) + else: + # No selection applied, keep all events + mask = slice(None) + + filtered_events = events[mask] + processed_events = len(filtered_events) + + # Fill dummy histogram with some dummy values for tracking + if processed_events > 0: + # Use a simple observable for the dummy histogram + dummy_values = [500.0] * min(processed_events, 100) + dummy_hist.fill(dummy_values) + + output_files = [] + if processed_events > 0: + output_file = _create_output_file_path( + workitem, config, file_counters, part_counters + ) + _save_workitem_output( + filtered_events, output_file, config, configuration, is_mc + ) + output_files.append(str(output_file)) + + return { + "hist": dummy_hist, + "failed_items": set(), + "processed_events": processed_events, + "output_files": output_files, + } + + except Exception as e: + logger.error(f"Failed to process workitem {workitem.filename}: {e}") + return { + "hist": default_histogram(), + "failed_items": {workitem}, # Track failure + "processed_events": 0, + "output_files": [], + } + + +def reduce_results( + result_a: Dict[str, Any], result_b: Dict[str, Any] +) -> Dict[str, Any]: + """ + Combine partial results from workitem processing. + It combines histograms, failed items, and other metrics from parallel + processing. - def get_dataset_output_dir(self, dataset: str, file_idx: int) -> Path: - """ - Get the output directory for a specific dataset and file index. + Parameters + ---------- + result_a : Dict[str, Any] + First result dictionary + result_b : Dict[str, Any] + Second result dictionary - Parameters - ---------- - dataset : str - Dataset name - file_idx : int - File index + Returns + ------- + Dict[str, Any] + Combined result dictionary + """ + return { + "hist": result_a["hist"] + result_b["hist"], + "failed_items": result_a["failed_items"] | result_b["failed_items"], + "processed_events": result_a["processed_events"] + result_b["processed_events"], + "output_files": result_a["output_files"] + result_b["output_files"], + } + + +def _create_output_file_path( + workitem: WorkItem, + config: SkimmingConfig, + file_counters: Dict[str, int], + part_counters: Dict[str, int], +) -> Path: + """ + Create output file path following the existing pattern with entry-range-based + counters. - Returns - ------- - Path - Output directory path following: {output_dir}/{dataset}/file__{idx}/ - """ - base_dir = Path(self.config.output_dir) - return base_dir / dataset / f"file__{file_idx}" + Uses the same output structure as the current skimming code: + {output_dir}/{dataset}/file__{file_idx}/part_{chunk}.root - def get_glob_pattern(self, dataset: str, file_idx: int) -> str: - """ - Get a glob pattern for finding output files for a specific dataset and file index. + Parameters + ---------- + workitem : WorkItem + The workitem being processed + config : SkimmingConfig + Skimming configuration with output directory + file_counters : Dict[str, int] + Pre-computed mapping of file keys to file numbers + part_counters : Dict[str, int] + Pre-computed mapping of part keys (including entry ranges) to part numbers - Parameters - ---------- - dataset : str - Dataset name - file_idx : int - File index + Returns + ------- + Path + Full path to the output file + """ + dataset = workitem.dataset - Returns - ------- - str - Glob pattern for finding output files - """ - # Build the pattern based on the expected directory structure - # Structure: {output_dir}/{dataset}/file__{idx}/part_*.root - return f"{self.config.output_dir}/{dataset}/file__{file_idx}/part_*.root" + # Create keys that include entry ranges for proper differentiation + file_key = f"{dataset}::{workitem.filename}" + part_key = f"{file_key}::{workitem.entrystart}_{workitem.entrystop}" + # Get pre-computed file and part numbers + file_number = file_counters[file_key] + part_number = part_counters[part_key] + # Create output directory structure + base_dir = Path(config.output_dir) + dataset_dir = base_dir / dataset / f"file__{file_number}" + dataset_dir.mkdir(parents=True, exist_ok=True) - def discover_skimmed_files(self, dataset: str, file_idx: int) -> list[str]: - """ - Discover existing skimmed files for a specific dataset and file index. + # Create output filename with entry-range-based part number + output_filename = f"part_{part_number}.root" + return dataset_dir / output_filename - Parameters - ---------- - dataset : str - Dataset name to search for - file_idx : int - File index to search for - Returns - ------- - list[str] - List of skimmed file paths with tree names - """ - glob_pattern = self.get_glob_pattern(dataset, file_idx) - logger.debug(f"Searching for skimmed files with pattern: {glob_pattern}") - found_files = glob.glob(glob_pattern) +def _save_workitem_output( + events: Any, + output_file: Path, + config: SkimmingConfig, + configuration: Any, + is_mc: bool, +) -> None: + """ + Save filtered events to output ROOT file. - # Add tree name for uproot - files_with_tree = [f"{file_path}:{self.config.tree_name}" for file_path in found_files] + This function handles the actual I/O of saving skimmed events to disk, + using the same branch selection logic as the existing skimming code. - logger.info(f"Discovered {len(files_with_tree)} skimmed files for {dataset}/file__{file_idx}") - return files_with_tree + Parameters + ---------- + events : Any + Filtered events to save + output_file : Path + Output file path + config : SkimmingConfig + Skimming configuration + configuration : Any + Main analysis configuration with branch selections + is_mc : bool + Whether this is Monte Carlo data + """ + # Build branches to keep using existing logic + branches_to_keep = _build_branches_to_keep(configuration, is_mc) + + # Create output file + with uproot.recreate(str(output_file)) as output_root: + # Prepare data for writing + output_data = {} + + # Extract branches following the existing pattern + for obj, obj_branches in branches_to_keep.items(): + if obj == "event": + # Event-level branches + for branch in obj_branches: + if hasattr(events, branch): + output_data[branch] = getattr(events, branch) + else: + # Object collection branches + if hasattr(events, obj): + obj_collection = getattr(events, obj) + for branch in obj_branches: + if hasattr(obj_collection, branch): + output_data[f"{obj}_{branch}"] = getattr( + obj_collection, branch + ) + + # Create and populate output tree + if output_data: + output_tree = output_root.mktree( + config.tree_name, {k: v.type for k, v in output_data.items()} + ) + output_tree.extend(output_data) - def build_branches_to_keep(self, config, mode="uproot", is_mc=False): - """ - Build list or dict of branches to keep for preprocessing. +def _build_branches_to_keep( + configuration: Any, is_mc: bool +) -> Dict[str, List[str]]: + """ + Build dictionary of branches to keep based on configuration. - Parameters - ---------- - config : Config - Configuration object with a preprocess block. - mode : str - 'uproot' returns a flat list; 'dask' returns a dict. - is_mc : bool - Whether input files are Monte Carlo. + This replicates the logic from the existing skimming code to determine + which branches should be saved in the output files. - Returns - ------- - dict or list - Branches to retain depending on mode. - """ - branches = config.preprocess.branches - mc_branches = config.preprocess.mc_branches - filtered = {} - - for obj, obj_branches in branches.items(): - if not is_mc: - filtered[obj] = [ - br for br in obj_branches if br not in mc_branches.get(obj, []) - ] - else: - filtered[obj] = obj_branches + Parameters + ---------- + configuration : Any + Main analysis configuration + is_mc : bool + Whether this is Monte Carlo data - if mode == "dask": - return filtered + Returns + ------- + Dict[str, List[str]] + Dictionary mapping object names to lists of branch names + """ + branches = configuration.preprocess.branches + mc_branches = configuration.preprocess.mc_branches + + filtered = {} + for obj, obj_branches in branches.items(): + if not is_mc: + # For data, exclude MC-only branches + filtered[obj] = [ + br for br in obj_branches + if br not in mc_branches.get(obj, []) + ] + else: + # For MC, keep all branches + filtered[obj] = obj_branches + + return filtered - if mode == "uproot": - flat = [] - for obj, brs in filtered.items(): - flat.extend( - brs if obj == "event" else [f"{obj}_{br}" for br in brs] - ) - return flat +class WorkitemSkimmingManager: + """ + Manager for workitem-based skimming using dask.bag processing. - raise ValueError("Invalid mode: use 'dask' or 'uproot'.") + This class orchestrates the new preprocessing workflow that processes + workitems directly using dask.bag, providing robust failure handling + and retry mechanisms. - def skim( - self, - input_path: str, - tree: str, - dataset: str, - file_idx: int, - configuration, - processor: str = "uproot", - is_mc: bool = True, - ) -> Union[int, bool]: + Attributes + ---------- + config : SkimmingConfig + Skimming configuration with selection functions and output settings + """ + + def __init__(self, config: SkimmingConfig): """ - Skim input ROOT file using the specified processor. + Initialize the workitem skimming manager. Parameters ---------- - input_path : str - Path to the input ROOT file. - tree : str - Name of the TTree inside the file. - dataset : str - Dataset name for organizing output files. - file_idx : int - File index for organizing output files. - configuration : object - Configuration object containing branch selection and other settings. - processor : str - Processor to use: "uproot" or "dask" - is_mc : bool - Whether input files are Monte Carlo. - - Returns - ------- - Union[int, bool] - For dask: Total number of input events before filtering. - For uproot: True if successful, False otherwise. + config : SkimmingConfig + Skimming configuration with selection functions and output settings """ - # Common setup - create output directory - output_dir = self.get_dataset_output_dir(dataset, file_idx) - os.makedirs(output_dir, exist_ok=True) - - # Get total events for logging - with uproot.open(f"{input_path}:{tree}") as f: - total_events = f.num_entries + self.config = config + logger.info("Initialized workitem-based skimming manager") - logger.info(f"📂 Preprocessing file: \n {input_path}\n with {total_events:,} events") + def process_workitems( + self, + workitems: List[WorkItem], + configuration: Any, + split_every: int = 4, + max_retries: int = 3, + ) -> Dict[str, Any]: + """ + Process a list of workitems using dask.bag with failure handling. - # Get common parameters - step_size = self.config.chunk_size - output_tree_name = self.config.tree_name + This is the main entry point that implements the dask.bag workflow + with retry logic for failed workitems. - # Dispatch to processor-specific implementation - if processor == "dask": - return self._skim_with_dask( - input_path, tree, output_dir, configuration, is_mc, - total_events, step_size, output_tree_name - ) - elif processor == "uproot": - return self._skim_with_uproot( - input_path, tree, output_dir, configuration, is_mc, - total_events, step_size, output_tree_name - ) - else: - raise ValueError(f"Unknown processor: {processor}. Use 'uproot' or 'dask'.") + Parameters + ---------- + workitems : List[WorkItem] + List of workitems to process + configuration : Any + Main analysis configuration object + split_every : int, default 4 + Split parameter for dask.bag.fold operation + max_retries : int, default 3 + Maximum number of retry attempts for failed workitems - def _skim_with_dask( - self, - input_path: str, - tree: str, - output_dir: Path, - configuration, - is_mc: bool, - total_events: int, - step_size: int, - output_tree_name: str, - ) -> int: - """ - Dask-specific skimming implementation. + Returns + ------- + Dict[str, Any] + Final combined results with histograms and processing statistics """ - branches = self.build_branches_to_keep(configuration, mode="dak", is_mc=is_mc) - chunk_num = 0 - - for start in range(0, total_events, step_size): - stop = min(start + step_size, total_events) - - events = NanoEventsFactory.from_root( - {input_path: tree}, - schemaclass=NanoAODSchema, - entry_start=start, - entry_stop=stop, - mode="eager", - ).events() - - # Apply configurable selection - selection_func = self.config.nanoaod_selection["function"] - selection_use = self.config.nanoaod_selection["use"] - - selection_args = get_function_arguments( - selection_use, events, function_name=selection_func.__name__ + logger.info(f"Processing {len(workitems)} workitems") + + # Pre-compute file and part counters for all workitems + file_counters, part_counters = self._compute_counters(workitems) + + # Initialize accumulator for successful results + full_result = { + "hist": default_histogram(), + "failed_items": set(), + "processed_events": 0, + "output_files": [], + } + + # Process workitems with retry logic + remaining_workitems = workitems.copy() + retry_count = 0 + + while remaining_workitems and retry_count < max_retries: + logger.info( + f"Attempt {retry_count + 1}: processing " + f"{len(remaining_workitems)} workitems" ) - packed_selection = selection_func(*selection_args) - # Get final selection mask - selection_names = packed_selection.names - if selection_names: - final_selection = selection_names[-1] - mask = ak.Array(packed_selection.all(final_selection)) - else: - mask = ak.ones_like(events.run, dtype=bool) + # Create dask bag from remaining workitems + bag = dask.bag.from_sequence(remaining_workitems) + + # Map analysis function over workitems + futures = bag.map( + lambda wi: workitem_analysis( + wi, + self.config, + configuration, + file_counters, + part_counters, + is_mc=self._is_monte_carlo(wi.dataset), + ) + ) - filtered = events[mask] + # Reduce results using fold operation + task = futures.fold(reduce_results, split_every=split_every) - # Skip empty chunks - if len(filtered) == 0: - logger.debug(f"Chunk {chunk_num} is empty after selection, skipping") - continue + # Compute results + (result,) = dask.compute(task) - subset = {} - for obj, obj_branches in branches.items(): - if obj == "event": - subset.update( - { - br: filtered[br] - for br in obj_branches - if br in filtered.fields - } - ) - elif obj in filtered.fields: - subset.update( - { - f"{obj}_{br}": filtered[obj][br] - for br in obj_branches - if br in filtered[obj].fields - } - ) + # Update remaining workitems to failed ones + remaining_workitems = list(result["failed_items"]) - compact = dak.zip(subset, depth_limit=1) + # Accumulate successful results + if result["processed_events"] > 0: + full_result["hist"] += result["hist"] + full_result["processed_events"] += result["processed_events"] + full_result["output_files"].extend(result["output_files"]) - # Write chunk to file - output_file = output_dir / SKIMMING_OUTPUT_PATTERN.format(chunk=chunk_num) - uproot.dask_write( - compact, destination=str(output_file), compute=True, tree_name=output_tree_name + # Log progress + failed_count = len(remaining_workitems) + successful_count = len(workitems) - failed_count + logger.info( + f"Attempt {retry_count + 1} complete: " + f"{successful_count} successful, {failed_count} failed" ) - chunk_num += 1 - logger.info(f"💾 Wrote {chunk_num} skimmed chunks to: {output_dir}") - return total_events + retry_count += 1 - def _skim_with_uproot( - self, - input_path: str, - tree: str, - output_dir: Path, - configuration, - is_mc: bool, - total_events: int, - step_size: int, - output_tree_name: str, - ) -> bool: - """ - Uproot-specific skimming implementation. - """ - cut_str = self.config.uproot_cut_string - branches = self.build_branches_to_keep(configuration, mode="uproot", is_mc=is_mc) - - iterable = uproot.iterate( - f"{input_path}:{tree}", - branches, - step_size=step_size, - cut=cut_str, - library="ak", - num_workers=1, - ) - - n_chunks = (total_events + step_size - 1) // step_size - print('\n') - pbar = tqdm(iterable, total=n_chunks, desc="Processing events", unit="chunk") - - chunk_num = 0 - files_created = 0 + # Final logging + if remaining_workitems: + logger.warning( + f"Failed to process {len(remaining_workitems)} workitems " + f"after {max_retries} attempts" + ) + full_result["failed_items"] = set(remaining_workitems) + else: + logger.info("All workitems processed successfully") - for arrays in pbar: - # Skip empty chunks - if len(arrays) == 0: - logger.debug(f"Chunk {chunk_num} is empty after selection, skipping") - continue + # Create summary statistics by dataset + self._log_processing_summary(workitems, full_result["output_files"]) - # Create output file for this chunk - output_file = output_dir / SKIMMING_OUTPUT_PATTERN.format(chunk=chunk_num) + return full_result - with uproot.recreate(str(output_file)) as output: - # Get branch types from first chunk - branch_types = {} - for branch in arrays.fields: - if isinstance(arrays[branch], ak.Array): - branch_types[branch] = arrays[branch].type - else: - branch_types[branch] = np.dtype(arrays[branch].dtype) + def discover_workitem_outputs(self, workitems: List[WorkItem]) -> List[str]: + """ + Discover existing output files from previous workitem processing. - # Create output tree - output_tree = output.mktree(output_tree_name, branch_types) + This method scans for output files that would be created by the + workitem processing, allowing for resumption of interrupted workflows. - # Write data - filtered_data = {branch: arrays[branch] for branch in arrays.fields} - output_tree.extend(filtered_data) + Parameters + ---------- + workitems : List[WorkItem] + List of workitems to check for existing outputs + Returns + ------- + List[str] + List of existing output file paths with tree names + """ + output_files = [] + dataset_counts = {} - files_created += 1 - chunk_num += 1 + # Use the same counter computation as processing + file_counters, part_counters = self._compute_counters(workitems) - pbar.close() - print('\n') + for workitem in workitems: + expected_output = _create_output_file_path( + workitem, self.config, file_counters, part_counters + ) - if files_created > 0: - logger.info(f"💾 Wrote {files_created} skimmed chunks to: {output_dir}") - return True + if expected_output.exists(): + # Add tree name for compatibility with existing code + file_with_tree = f"{expected_output}:{self.config.tree_name}" + output_files.append(file_with_tree) + + # Count files per dataset + dataset = workitem.dataset + dataset_counts[dataset] = dataset_counts.get(dataset, 0) + 1 + + # Log with dataset breakdown + if dataset_counts: + dataset_info = ", ".join([ + f"{dataset}: {count}" for dataset, count in dataset_counts.items() + ]) + logger.info( + f"Found {len(output_files)} existing output files " + f"({dataset_info})" + ) else: - logger.info(f"💾 No events passed selection for {input_path}") - return False + logger.info("No existing output files found") + return output_files -def create_default_skimming_config(output_dir: str = "skimmed/") -> SkimmingConfig: - """ - Create a default skimming configuration that matches current hardcoded behavior. + def _log_processing_summary( + self, workitems: List[WorkItem], output_files: List[str] + ) -> None: + """ + Log a summary table of processing results by dataset. - This provides backward compatibility by replicating the current hardcoded - selections in configurable form. + Parameters + ---------- + workitems : List[WorkItem] + Original list of workitems processed + output_files : List[str] + List of output files created + """ + # Collect statistics by dataset + dataset_stats = defaultdict( + lambda: {"events_processed": 0, "files_written": 0} + ) - Parameters - ---------- - output_dir : str - Base output directory for skimmed files + # Count events processed by reading from output files + for output_file in output_files: + try: + # Extract dataset from file path + # Path format: {output_dir}/{dataset}/file__{N}/part_{M}.root + path_parts = Path(output_file).parts + if len(path_parts) >= 3: + dataset = path_parts[-3] # Get dataset from path + + # Read the file to count events + with uproot.open(output_file) as f: + if self.config.tree_name in f: + tree = f[self.config.tree_name] + num_events = tree.num_entries + dataset_stats[dataset]["events_processed"] += num_events + dataset_stats[dataset]["files_written"] += 1 + + except Exception as e: + # Still count the file even if we can't read events + try: + path_parts = Path(output_file).parts + if len(path_parts) >= 3: + dataset = path_parts[-3] + dataset_stats[dataset]["files_written"] += 1 + except Exception: + pass + + # Create summary table + if dataset_stats: + table_data = [] + total_events = 0 + total_files = 0 + + for dataset, stats in sorted(dataset_stats.items()): + events = stats["events_processed"] + files = stats["files_written"] + table_data.append([dataset, f"{events:,}", files]) + total_events += events + total_files += files + + # Add totals row + table_data.append(["TOTAL", f"{total_events:,}", total_files]) + + # Create and log table + headers = ["Dataset", "Events Saved", "Files Written"] + table = tabulate(table_data, headers=headers, tablefmt="grid") + + logger.info("Processing Summary:") + logger.info(f"\n{table}") + else: + logger.info("No output files were created during processing") - Returns - ------- - SkimmingConfig - Default skimming configuration - """ - def default_skim_selection(muons, jets, puppimet, hlt): + def _compute_counters( + self, workitems: List[WorkItem] + ) -> tuple[Dict[str, int], Dict[str, int]]: """ - Default skimming selection function. + Pre-compute file and part counters for all workitems. - Applies basic trigger, muon, and MET requirements for skimming. - This matches the hardcoded behavior from the original preprocessing. - """ - from coffea.analysis_tools import PackedSelection - selection = PackedSelection() - - # Muon selection (matching hardcoded behavior) - mu_sel = ( - (muons.pt > 55) - & (abs(muons.eta) < 2.4) - & muons.tightId - & (muons.miniIsoId > 1) - ) - muon_count = ak.sum(mu_sel, axis=1) + This ensures consistent numbering across all workers by computing + the counters once before parallel processing begins. + + Parameters + ---------- + workitems : List[WorkItem] + List of all workitems to process - # Individual cuts - selection.add("trigger", hlt.TkMu50) - selection.add("exactly_1_good_muon", muon_count == 1) - selection.add("met_cut", puppimet.pt > 50) + Returns + ------- + tuple[Dict[str, int], Dict[str, int]] + File counters and part counters dictionaries + """ + file_counters = {} + part_counters = {} + + # Track unique files per dataset for sequential file numbering + dataset_file_counts = {} + + for workitem in workitems: + dataset = workitem.dataset + file_key = f"{dataset}::{workitem.filename}" + part_key = f"{file_key}::{workitem.entrystart}_{workitem.entrystop}" + + # Assign file number if not already assigned + if file_key not in file_counters: + if dataset not in dataset_file_counts: + dataset_file_counts[dataset] = 0 + file_counters[file_key] = dataset_file_counts[dataset] + dataset_file_counts[dataset] += 1 + + # Assign part number if not already assigned + if part_key not in part_counters: + # Count existing parts for this file + existing_parts = [ + k for k in part_counters.keys() if k.startswith(f"{file_key}::") + ] + part_counters[part_key] = len(existing_parts) - # Combined skimming selection - selection.add("skim", selection.all("trigger", "exactly_1_good_muon", "met_cut")) + return file_counters, part_counters - return selection + def _is_monte_carlo(self, dataset: str) -> bool: + """ + Determine if a dataset represents Monte Carlo data. - # Default uproot cut string matching current hardcoded behavior - default_uproot_cut = "HLT_TkMu50*(PuppiMET_pt>50)" + Parameters + ---------- + dataset : str + Dataset name - return SkimmingConfig( - nanoaod_selection={ - "function": default_skim_selection, - "use": [("Muon", None), ("Jet", None), ("PuppiMET", None), ("HLT", None)] - }, - uproot_cut_string=default_uproot_cut, - output_dir=output_dir, - chunk_size=100_000, - tree_name="Events" - ) + Returns + ------- + bool + True if dataset is Monte Carlo, False if it's data + """ + # Simple heuristic: data datasets typically contain "data" in the name + return "data" not in dataset.lower() -def process_fileset_with_skimming(config, fileset, cache_dir="/tmp/gradients_analysis/"): +def process_workitems_with_skimming( + workitems: List[WorkItem], + config: Any, + fileset: Optional[Dict[str, Any]] = None, + nanoaods_summary: Optional[Dict[str, Any]] = None, + cache_dir: str = "/tmp/gradients_analysis/", +) -> Dict[str, Any]: """ - Process entire fileset with skimming and return processed events for analysis. + Process workitems using the workitem-based skimming approach with event + merging and caching. - This is the main entry point for skimming that handles the complete workflow: - - Loop over datasets in fileset - - Run skimming if enabled - - Discover and load skimmed files - - Handle caching of processed events - - Return events ready for analysis + This function serves as the main entry point for the workitem-based + preprocessing workflow. It processes workitems (if skimming is enabled) + and then discovers, merges, and caches events from the saved files for + analysis. Events from multiple output files per dataset are automatically + merged into a single NanoEvents object for improved performance and memory + efficiency. Parameters ---------- - config : Config - Analysis configuration - fileset : dict - Dictionary mapping dataset names to file and metadata - cache_dir : str, optional - Directory for caching processed events + workitems : List[WorkItem] + List of workitems to process, typically from NanoAODMetadataGenerator.workitems + config : Any + Main analysis configuration object containing skimming and preprocessing settings + fileset : Optional[Dict[str, Any]], default None + Fileset containing metadata including cross-sections for normalization + nanoaods_summary : Optional[Dict[str, Any]], default None + NanoAODs summary containing event counts per dataset for nevts metadata + cache_dir : str, default "/tmp/gradients_analysis/" + Directory for caching merged events. Cached files use the pattern: + {cache_dir}/{dataset}__{hash}.pkl where hash is based on input file paths Returns ------- - dict - Dictionary mapping dataset names to list of (events, metadata) tuples + Dict[str, List[Tuple[Any, Dict[str, Any]]]] + Dictionary mapping dataset names to lists containing a single (events, metadata) tuple. + Events are merged NanoEvents objects from all output files for the dataset. + Each metadata dictionary contains dataset, process, variation, and xsec information. """ + logger.info(f"Starting workitem preprocessing with {len(workitems)} workitems") + + # Create workitem skimming manager + skimming_manager = WorkitemSkimmingManager(config.preprocess.skimming) + + # Group workitems by dataset + workitems_by_dataset = {} + for workitem in workitems: + dataset = workitem.dataset + if dataset not in workitems_by_dataset: + workitems_by_dataset[dataset] = [] + workitems_by_dataset[dataset].append(workitem) + + # Process workitems if skimming is enabled + if config.general.run_skimming: + logger.info("Running skimming") + results = skimming_manager.process_workitems(workitems, config) + logger.info(f"Skimming complete: {results['processed_events']:,} events") + + # Always discover and read from saved files + logger.info("Reading from saved files") processed_datasets = {} - # Loop over datasets in the fileset - for dataset, content in fileset.items(): - metadata = content["metadata"] - metadata["dataset"] = dataset - process_name = metadata["process"] - + for dataset, dataset_workitems in workitems_by_dataset.items(): # Skip datasets not explicitly requested in config - if (req := config.general.processes) and process_name not in req: - logger.info(f"Skipping {dataset} (process {process_name} not in requested)") - continue - - processed_events = [] - - # Create skimming manager - always available - skimming_manager = ConfigurableSkimmingManager(config.preprocess.skimming) - - logger.info(f"🚀 Processing dataset: {dataset}") - total_per_dataset = 0 - # Loop over ROOT files associated with the dataset - for idx, (file_path, tree) in enumerate(content["files"].items()): - # Run skimming if enabled - if config.general.run_skimming: - # Log which mode is being used - if skimming_manager.config.nanoaod_selection: - logger.debug(f"Using NanoAOD/DAK skimming mode for {dataset}") - elif skimming_manager.config.uproot_cut_string: - logger.debug(f"Using uproot skimming mode for {dataset}") - skimming_manager.skim( - input_path=file_path, - tree=tree, - dataset=dataset, - file_idx=idx, - configuration=config, - is_mc=("data" != dataset) - ) - - # Discover skimmed files using skimming manager - skimmed_files = skimming_manager.discover_skimmed_files(dataset, idx) - total_per_dataset += len(skimmed_files) - - # Process each skimmed file - for skimmed_file in skimmed_files: - cache_key = hashlib.md5(skimmed_file.encode()).hexdigest() - cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") + if hasattr(config.general, 'processes') and config.general.processes: + process_name = dataset.split('__')[0] if '__' in dataset else dataset + if process_name not in config.general.processes: + logger.info(f"Skipping {dataset} (not requested)") + continue - # Handle caching: process and cache, read from cache, or skip - if config.general.read_from_cache and os.path.exists(cache_file): - logger.info(f"Reading cached events for {skimmed_file}") + # Discover output files for this dataset + output_files = skimming_manager.discover_workitem_outputs(dataset_workitems) + + if output_files: + # Create metadata for compatibility with existing analysis code + metadata = { + "dataset": dataset, + "process": dataset.split('__')[0] if '__' in dataset else dataset, + "variation": dataset.split('__')[1] if '__' in dataset else "nominal", + } + + # Add cross-section metadata from fileset if available + if fileset and dataset in fileset: + xsec = fileset[dataset].get('metadata', {}).get('xsec', 1.0) + metadata['xsec'] = xsec + else: + metadata['xsec'] = 1.0 + if fileset: + logger.warning(f"No cross-section for {dataset}, using 1.0") + + # Add nevts from NanoAODs summary if available + # The analysis code expects 'nevts' field for normalization + nevts = 0 + if nanoaods_summary: + # Parse dataset to get process and variation + process_name = dataset.split('__')[0] if '__' in dataset else dataset + variation = dataset.split('__')[1] if '__' in dataset else "nominal" + + if process_name in nanoaods_summary: + if variation in nanoaods_summary[process_name]: + nevts = nanoaods_summary[process_name][variation].get( + 'nevts_total', 0 + ) + + metadata['nevts'] = nevts + if nevts == 0: + logger.warning(f"No nevts found for {dataset}, using 0") + + # Create cache key for the merged dataset + # Use sorted file paths to ensure consistent cache key + sorted_files = sorted(output_files) + cache_input = f"{dataset}::{':'.join(sorted_files)}" + cache_key = hashlib.md5(cache_input.encode()).hexdigest() + cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") + + # Check if we should read from cache + if config.general.read_from_cache and os.path.exists(cache_file): + logger.info(f"Loading cached events for {dataset}") + try: with open(cache_file, "rb") as f: - events = cloudpickle.load(f) - else: - logger.info(f"Processing {skimmed_file}") + merged_events = cloudpickle.load(f) + logger.info(f"Loaded {len(merged_events)} cached events") + processed_datasets[dataset] = [(merged_events, metadata.copy())] + continue # Skip to next dataset + except Exception as e: + logger.error(f"Failed to load cached events for {dataset}: {e}") + # Fall back to loading from files + + # Load and merge events from all discovered files + all_events = [] + total_events_loaded = 0 + + for file_path in output_files: + try: + # Load events using NanoEventsFactory events = NanoEventsFactory.from_root( - skimmed_file, schemaclass=NanoAODSchema, - mode="eager", + file_path, schemaclass=NanoAODSchema, mode="eager" ).events() - # Cache the events if not reading from cache - if not config.general.read_from_cache: + events = ak.materialize(events) + all_events.append(events) + total_events_loaded += len(events) + except Exception as e: + logger.error(f"Failed to load events from {file_path}: {e}") + continue + + # Merge all events into a single array if we have any events + if all_events: + try: + if len(all_events) == 1: + # Single file, no need to concatenate + merged_events = all_events[0] + else: + # Multiple files, concatenate them + merged_events = ak.concatenate(all_events, axis=0) + + logger.info( + f"Merged {len(output_files)} files → " + f"{len(merged_events)} events for {dataset}" + ) + + # Cache the merged events + try: os.makedirs(cache_dir, exist_ok=True) with open(cache_file, "wb") as f: - cloudpickle.dump(events, f) - - processed_events.append((events, metadata.copy())) - processed_datasets[dataset] = processed_events - logger.info(f"Dataset {dataset} has {total_per_dataset} skimmed files") + cloudpickle.dump(merged_events, f) + logger.info(f"Cached events for {dataset}") + except Exception as e: + logger.warning(f"Failed to cache events for {dataset}: {e}") + + processed_datasets[dataset] = [(merged_events, metadata.copy())] + + except Exception as e: + logger.error(f"Failed to merge events for {dataset}: {e}") + # Fallback to individual events if merging fails + processed_events = [] + for i, events in enumerate(all_events): + processed_events.append((events, metadata.copy())) + processed_datasets[dataset] = processed_events + else: + logger.warning(f"No output files found for {dataset}") + processed_datasets[dataset] = [] return processed_datasets diff --git a/utils/workitem_skimming.py b/utils/workitem_skimming.py deleted file mode 100644 index 5c9137d..0000000 --- a/utils/workitem_skimming.py +++ /dev/null @@ -1,775 +0,0 @@ -""" -Workitem-based preprocessing workflow using dask.bag for failure handling. - -This module implements a new preprocessing approach that processes workitems directly -using dask.bag, providing robust failure handling and retry mechanisms. It serves as -an alternative to the current fileset-based skimming approach. - -The workflow follows the pattern: -1. Process workitems with dask.bag.from_sequence() -2. Apply skimming analysis to each workitem -3. Handle failures and collect successful results -4. Retry failed workitems until completion -5. Save outputs using the same patterns as existing code -""" - -import hashlib -import logging -import os -from pathlib import Path -from typing import Any, Dict, List, Optional, Set, Union -from collections import defaultdict - -import awkward as ak -import cloudpickle -import dask.bag -import hist -import uproot -from coffea.nanoevents import NanoAODSchema, NanoEventsFactory -from coffea.processor.executor import WorkItem -from tabulate import tabulate - -from utils.schema import SkimmingConfig -from utils.tools import get_function_arguments - -logger = logging.getLogger(__name__) - - -def default_histogram() -> hist.Hist: - """ - Create a default histogram for tracking processing success/failure. - - This histogram serves as a dummy placeholder to track whether workitems - were processed successfully. The actual analysis histograms are created - separately during the analysis phase. - - Returns - ------- - hist.Hist - A simple histogram with regular binning for tracking purposes - """ - return hist.Hist.new.Regular(10, 0, 1000).Weight() - - -def workitem_analysis(workitem: WorkItem, config: SkimmingConfig, - configuration: Any, file_counters: Dict[str, int], - part_counters: Dict[str, int], is_mc: bool = True) -> Dict[str, Any]: - """ - Process a single workitem for skimming analysis. - - This function is equivalent to the `my_analysis` function in the reference - implementation. It handles I/O, applies skimming selections, and saves - output files on successful processing. - - Parameters - ---------- - workitem : WorkItem - The coffea WorkItem containing file metadata and entry ranges - config : SkimmingConfig - Skimming configuration with selection functions and output settings - configuration : Any - Main analysis configuration object containing branch selections - file_counters : Dict[str, int] - Pre-computed mapping of file keys to file numbers - part_counters : Dict[str, int] - Pre-computed mapping of part keys (including entry ranges) to part numbers - is_mc : bool, default True - Whether the workitem represents Monte Carlo data - - Returns - ------- - Dict[str, Any] - Dictionary containing: - - 'hist': Dummy histogram for success tracking - - 'failed_items': Set of failed workitems (empty on success) - - 'processed_events': Number of events processed - - 'output_files': List of created output files - """ - dummy_hist = default_histogram() - - try: - # Extract workitem metadata - filename = workitem.filename - treename = workitem.treename - entry_start = workitem.entrystart - entry_stop = workitem.entrystop - dataset = workitem.dataset - - logger.debug(f"Processing workitem: {filename}[{entry_start}:{entry_stop}]") - - # Load events using NanoEventsFactory - events = NanoEventsFactory.from_root( - {filename: treename}, - entry_start=entry_start, - entry_stop=entry_stop, - schemaclass=NanoAODSchema, - ).events() - - total_events = len(events) - logger.debug(f"Loaded {total_events} events from workitem") - - # Apply skimming selection using the provided function - selection_func = config.selection_function - selection_use = config.selection_use - - # Get function arguments using existing utility - selection_args = get_function_arguments( - selection_use, events, function_name=selection_func.__name__ - ) - packed_selection = selection_func(*selection_args) - - # Apply final selection mask - selection_names = packed_selection.names - if selection_names: - final_selection = selection_names[-1] - mask = packed_selection.all(final_selection) - else: - # No selection applied, keep all events - mask = slice(None) - - filtered_events = events[mask] - processed_events = len(filtered_events) - logger.debug(f"After selection: {processed_events} events remain") - - # Fill dummy histogram with some dummy values for tracking - if processed_events > 0: - # Use a simple observable for the dummy histogram - dummy_values = [500.0] * min(processed_events, 100) # Limit for performance - dummy_hist.fill(dummy_values) - - output_files = [] - if processed_events > 0: - output_file = _create_output_file_path(workitem, config, file_counters, part_counters) - _save_workitem_output(filtered_events, output_file, config, configuration, is_mc) - output_files.append(str(output_file)) - logger.debug(f"Saved {processed_events} events to {output_file}") - - return { - "hist": dummy_hist, - "failed_items": set(), - "processed_events": processed_events, - "output_files": output_files - } - - except Exception as e: - logger.error(f"Failed to process workitem {workitem.filename}: {e}") - return { - "hist": default_histogram(), - "failed_items": {workitem}, # Track failure - "processed_events": 0, - "output_files": [] - } - - -def reduce_results(result_a: Dict[str, Any], result_b: Dict[str, Any]) -> Dict[str, Any]: - """ - Combine partial results from workitem processing. - - This function is equivalent to the `reduce` function in the reference - implementation. It combines histograms, failed items, and other metrics - from parallel processing. - - Parameters - ---------- - result_a : Dict[str, Any] - First result dictionary - result_b : Dict[str, Any] - Second result dictionary - - Returns - ------- - Dict[str, Any] - Combined result dictionary - """ - return { - "hist": result_a["hist"] + result_b["hist"], - "failed_items": result_a["failed_items"] | result_b["failed_items"], - "processed_events": result_a["processed_events"] + result_b["processed_events"], - "output_files": result_a["output_files"] + result_b["output_files"] - } - - -def _create_output_file_path(workitem: WorkItem, config: SkimmingConfig, - file_counters: Dict[str, int], part_counters: Dict[str, int]) -> Path: - """ - Create output file path following the existing pattern with entry-range-based counters. - - Uses the same output structure as the current skimming code: - {output_dir}/{dataset}/file__{file_idx}/part_{chunk}.root - - Parameters - ---------- - workitem : WorkItem - The workitem being processed - config : SkimmingConfig - Skimming configuration with output directory - file_counters : Dict[str, int] - Pre-computed mapping of file keys to file numbers - part_counters : Dict[str, int] - Pre-computed mapping of part keys (including entry ranges) to part numbers - - Returns - ------- - Path - Full path to the output file - """ - dataset = workitem.dataset - - # Create keys that include entry ranges for proper differentiation - file_key = f"{dataset}::{workitem.filename}" - part_key = f"{file_key}::{workitem.entrystart}_{workitem.entrystop}" - - # Get pre-computed file and part numbers - file_number = file_counters[file_key] - part_number = part_counters[part_key] - - # Create output directory structure - base_dir = Path(config.output_dir) - dataset_dir = base_dir / dataset / f"file__{file_number}" - dataset_dir.mkdir(parents=True, exist_ok=True) - - # Create output filename with entry-range-based part number - output_filename = f"part_{part_number}.root" - return dataset_dir / output_filename - - -def _save_workitem_output(events: Any, output_file: Path, config: SkimmingConfig, - configuration: Any, is_mc: bool) -> None: - """ - Save filtered events to output ROOT file. - - This function handles the actual I/O of saving skimmed events to disk, - using the same branch selection logic as the existing skimming code. - - Parameters - ---------- - events : Any - Filtered events to save - output_file : Path - Output file path - config : SkimmingConfig - Skimming configuration - configuration : Any - Main analysis configuration with branch selections - is_mc : bool - Whether this is Monte Carlo data - """ - # Build branches to keep using existing logic - branches_to_keep = _build_branches_to_keep(configuration, is_mc) - - # Create output file - with uproot.recreate(str(output_file)) as output_root: - # Prepare data for writing - output_data = {} - - # Extract branches following the existing pattern - for obj, obj_branches in branches_to_keep.items(): - if obj == "event": - # Event-level branches - for branch in obj_branches: - if hasattr(events, branch): - output_data[branch] = getattr(events, branch) - else: - # Object collection branches - if hasattr(events, obj): - obj_collection = getattr(events, obj) - for branch in obj_branches: - if hasattr(obj_collection, branch): - output_data[f"{obj}_{branch}"] = getattr(obj_collection, branch) - - # Create and populate output tree - if output_data: - output_tree = output_root.mktree(config.tree_name, - {k: v.type for k, v in output_data.items()}) - output_tree.extend(output_data) - - -def _build_branches_to_keep(configuration: Any, is_mc: bool) -> Dict[str, List[str]]: - """ - Build dictionary of branches to keep based on configuration. - - This replicates the logic from the existing skimming code to determine - which branches should be saved in the output files. - - Parameters - ---------- - configuration : Any - Main analysis configuration - is_mc : bool - Whether this is Monte Carlo data - - Returns - ------- - Dict[str, List[str]] - Dictionary mapping object names to lists of branch names - """ - branches = configuration.preprocess.branches - mc_branches = configuration.preprocess.mc_branches - - filtered = {} - for obj, obj_branches in branches.items(): - if not is_mc: - # For data, exclude MC-only branches - filtered[obj] = [ - br for br in obj_branches - if br not in mc_branches.get(obj, []) - ] - else: - # For MC, keep all branches - filtered[obj] = obj_branches - - return filtered - - -class WorkitemSkimmingManager: - """ - Manager for workitem-based skimming using dask.bag processing. - - This class orchestrates the new preprocessing workflow that processes - workitems directly using dask.bag, providing robust failure handling - and retry mechanisms. - - Attributes - ---------- - config : SkimmingConfig - Skimming configuration with selection functions and output settings - """ - - def __init__(self, config: SkimmingConfig): - """ - Initialize the workitem skimming manager. - - Parameters - ---------- - config : SkimmingConfig - Skimming configuration with selection functions and output settings - """ - self.config = config - logger.info("Initialized workitem-based skimming manager") - - def process_workitems(self, workitems: List[WorkItem], configuration: Any, - split_every: int = 4, max_retries: int = 3) -> Dict[str, Any]: - """ - Process a list of workitems using dask.bag with failure handling. - - This is the main entry point that implements the dask.bag workflow - with retry logic for failed workitems. - - Parameters - ---------- - workitems : List[WorkItem] - List of workitems to process - configuration : Any - Main analysis configuration object - split_every : int, default 4 - Split parameter for dask.bag.fold operation - max_retries : int, default 3 - Maximum number of retry attempts for failed workitems - - Returns - ------- - Dict[str, Any] - Final combined results with histograms and processing statistics - """ - logger.info(f"Starting workitem processing with {len(workitems)} workitems") - - # Pre-compute file and part counters for all workitems - file_counters, part_counters = self._compute_counters(workitems) - - # Initialize accumulator for successful results - full_result = { - "hist": default_histogram(), - "failed_items": set(), - "processed_events": 0, - "output_files": [] - } - - # Process workitems with retry logic - remaining_workitems = workitems.copy() - retry_count = 0 - - while remaining_workitems and retry_count < max_retries: - logger.info(f"Processing {len(remaining_workitems)} workitems (attempt {retry_count + 1})") - - # Create dask bag from remaining workitems - bag = dask.bag.from_sequence(remaining_workitems) - - # Map analysis function over workitems - futures = bag.map(lambda wi: workitem_analysis( - wi, self.config, configuration, file_counters, part_counters, - is_mc=self._is_monte_carlo(wi.dataset) - )) - - # Reduce results using fold operation - task = futures.fold(reduce_results, split_every=split_every) - - # Compute results - (result,) = dask.compute(task) - - # Update remaining workitems to failed ones - remaining_workitems = list(result["failed_items"]) - - # Accumulate successful results - if result["processed_events"] > 0: - full_result["hist"] += result["hist"] - full_result["processed_events"] += result["processed_events"] - full_result["output_files"].extend(result["output_files"]) - - # Log progress - failed_count = len(remaining_workitems) - successful_count = len(workitems) - failed_count - logger.info(f"Completed attempt {retry_count + 1}: " - f"{successful_count} successful, {failed_count} failed") - - retry_count += 1 - - # Final logging - if remaining_workitems: - logger.warning(f"Failed to process {len(remaining_workitems)} workitems " - f"after {max_retries} attempts") - full_result["failed_items"] = set(remaining_workitems) - else: - logger.info("Successfully processed all workitems") - - # Create summary statistics by dataset - self._log_processing_summary(workitems, full_result["output_files"]) - - return full_result - - def discover_workitem_outputs(self, workitems: List[WorkItem]) -> List[str]: - """ - Discover existing output files from previous workitem processing. - - This method scans for output files that would be created by the - workitem processing, allowing for resumption of interrupted workflows. - - Parameters - ---------- - workitems : List[WorkItem] - List of workitems to check for existing outputs - - Returns - ------- - List[str] - List of existing output file paths with tree names - """ - output_files = [] - - # Use the same counter computation as processing - file_counters, part_counters = self._compute_counters(workitems) - - for workitem in workitems: - expected_output = _create_output_file_path(workitem, self.config, file_counters, part_counters) - - if expected_output.exists(): - # Add tree name for compatibility with existing code - file_with_tree = f"{expected_output}:{self.config.tree_name}" - output_files.append(file_with_tree) - - logger.info(f"Discovered {len(output_files)} existing workitem output files") - return output_files - - def _log_processing_summary(self, workitems: List[WorkItem], output_files: List[str]) -> None: - """ - Log a summary table of processing results by dataset. - - Parameters - ---------- - workitems : List[WorkItem] - Original list of workitems processed - output_files : List[str] - List of output files created - """ - # Collect statistics by dataset - dataset_stats = defaultdict(lambda: {"events_processed": 0, "files_written": 0}) - - # Count events processed by reading from output files - for output_file in output_files: - try: - # Extract dataset from file path - # Path format: {output_dir}/{dataset}/file__{N}/part_{M}.root - path_parts = Path(output_file).parts - if len(path_parts) >= 3: - dataset = path_parts[-3] # Get dataset from path - - # Read the file to count events - with uproot.open(output_file) as f: - if self.config.tree_name in f: - tree = f[self.config.tree_name] - num_events = tree.num_entries - dataset_stats[dataset]["events_processed"] += num_events - dataset_stats[dataset]["files_written"] += 1 - - except Exception as e: - logger.debug(f"Could not read events from {output_file}: {e}") - # Still count the file even if we can't read events - try: - path_parts = Path(output_file).parts - if len(path_parts) >= 3: - dataset = path_parts[-3] - dataset_stats[dataset]["files_written"] += 1 - except: - pass - - # Create summary table - if dataset_stats: - table_data = [] - total_events = 0 - total_files = 0 - - for dataset, stats in sorted(dataset_stats.items()): - events = stats["events_processed"] - files = stats["files_written"] - table_data.append([dataset, f"{events:,}", files]) - total_events += events - total_files += files - - # Add totals row - table_data.append(["TOTAL", f"{total_events:,}", total_files]) - - # Create and log table - headers = ["Dataset", "Events Saved", "Files Written"] - table = tabulate(table_data, headers=headers, tablefmt="grid") - - logger.info("Processing Summary:") - logger.info(f"\n{table}") - else: - logger.info("No output files were created during processing") - - def _compute_counters(self, workitems: List[WorkItem]) -> tuple[Dict[str, int], Dict[str, int]]: - """ - Pre-compute file and part counters for all workitems. - - This ensures consistent numbering across all workers by computing - the counters once before parallel processing begins. - - Parameters - ---------- - workitems : List[WorkItem] - List of all workitems to process - - Returns - ------- - tuple[Dict[str, int], Dict[str, int]] - File counters and part counters dictionaries - """ - file_counters = {} - part_counters = {} - - # Track unique files per dataset for sequential file numbering - dataset_file_counts = {} - - for workitem in workitems: - dataset = workitem.dataset - file_key = f"{dataset}::{workitem.filename}" - part_key = f"{file_key}::{workitem.entrystart}_{workitem.entrystop}" - - # Assign file number if not already assigned - if file_key not in file_counters: - if dataset not in dataset_file_counts: - dataset_file_counts[dataset] = 0 - file_counters[file_key] = dataset_file_counts[dataset] - dataset_file_counts[dataset] += 1 - - # Assign part number if not already assigned - if part_key not in part_counters: - # Count existing parts for this file - existing_parts = [k for k in part_counters.keys() if k.startswith(f"{file_key}::")] - part_counters[part_key] = len(existing_parts) - - logger.debug(f"Computed counters for {len(file_counters)} files and {len(part_counters)} parts") - return file_counters, part_counters - - def _is_monte_carlo(self, dataset: str) -> bool: - """ - Determine if a dataset represents Monte Carlo data. - - Parameters - ---------- - dataset : str - Dataset name - - Returns - ------- - bool - True if dataset is Monte Carlo, False if it's data - """ - # Simple heuristic: data datasets typically contain "data" in the name - return "data" not in dataset.lower() - - -def process_workitems_with_skimming(workitems: List[WorkItem], config: Any, - fileset: Optional[Dict[str, Any]] = None, - nanoaods_summary: Optional[Dict[str, Any]] = None, - cache_dir: str = "/tmp/gradients_analysis/") -> Dict[str, Any]: - """ - Process workitems using the workitem-based skimming approach with event merging and caching. - - This function serves as the main entry point for the workitem-based preprocessing workflow. - It processes workitems (if skimming is enabled) and then discovers, merges, and caches events - from the saved files for analysis. Events from multiple output files per dataset are - automatically merged into a single NanoEvents object for improved performance and memory efficiency. - - Parameters - ---------- - workitems : List[WorkItem] - List of workitems to process, typically from NanoAODMetadataGenerator.workitems - config : Any - Main analysis configuration object containing skimming and preprocessing settings - fileset : Optional[Dict[str, Any]], default None - Fileset containing metadata including cross-sections for normalization - nanoaods_summary : Optional[Dict[str, Any]], default None - NanoAODs summary containing event counts per dataset for nevts metadata - cache_dir : str, default "/tmp/gradients_analysis/" - Directory for caching merged events. Cached files use the pattern: - {cache_dir}/{dataset}__{hash}.pkl where hash is based on input file paths - - Returns - ------- - Dict[str, List[Tuple[Any, Dict[str, Any]]]] - Dictionary mapping dataset names to lists containing a single (events, metadata) tuple. - Events are merged NanoEvents objects from all output files for the dataset. - Each metadata dictionary contains dataset, process, variation, and xsec information. - """ - logger.info(f"Starting workitem-based preprocessing with {len(workitems)} workitems") - - # Create workitem skimming manager - skimming_manager = WorkitemSkimmingManager(config.preprocess.skimming) - - # Group workitems by dataset - workitems_by_dataset = {} - for workitem in workitems: - dataset = workitem.dataset - if dataset not in workitems_by_dataset: - workitems_by_dataset[dataset] = [] - workitems_by_dataset[dataset].append(workitem) - - # Process workitems if skimming is enabled - if config.general.run_skimming: - logger.info("Running skimming - processing workitems") - results = skimming_manager.process_workitems(workitems, config) - logger.info(f"Skimming completed - processed {results['processed_events']:,} events") - - # Always discover and read from saved files - logger.info("Discovering and reading from saved files") - processed_datasets = {} - - for dataset, dataset_workitems in workitems_by_dataset.items(): - # Skip datasets not explicitly requested in config - if hasattr(config.general, 'processes') and config.general.processes: - process_name = dataset.split('__')[0] if '__' in dataset else dataset - if process_name not in config.general.processes: - logger.info(f"Skipping {dataset} (process {process_name} not in requested)") - continue - - # Discover output files for this dataset - output_files = skimming_manager.discover_workitem_outputs(dataset_workitems) - - if output_files: - # Create metadata for compatibility with existing analysis code - metadata = { - "dataset": dataset, - "process": dataset.split('__')[0] if '__' in dataset else dataset, - "variation": dataset.split('__')[1] if '__' in dataset else "nominal", - } - - # Add cross-section metadata from fileset if available - if fileset and dataset in fileset: - xsec = fileset[dataset].get('metadata', {}).get('xsec', 1.0) - metadata['xsec'] = xsec - else: - metadata['xsec'] = 1.0 - if fileset: - logger.warning(f"Cross-section not found for dataset {dataset}, using default value 1.0") - - # Add nevts from NanoAODs summary if available - # The analysis code expects 'nevts' field for normalization - nevts = 0 - if nanoaods_summary: - # Parse dataset to get process and variation - process_name = dataset.split('__')[0] if '__' in dataset else dataset - variation = dataset.split('__')[1] if '__' in dataset else "nominal" - - if process_name in nanoaods_summary: - if variation in nanoaods_summary[process_name]: - nevts = nanoaods_summary[process_name][variation].get('nevts_total', 0) - - metadata['nevts'] = nevts - if nevts == 0: - logger.warning(f"Could not find nevts for dataset {dataset}, using 0") - - # Create cache key for the merged dataset - # Use sorted file paths to ensure consistent cache key - sorted_files = sorted(output_files) - cache_input = f"{dataset}::{':'.join(sorted_files)}" - cache_key = hashlib.md5(cache_input.encode()).hexdigest() - cache_file = os.path.join(cache_dir, f"{dataset}__{cache_key}.pkl") - - # Check if we should read from cache - if config.general.read_from_cache and os.path.exists(cache_file): - logger.info(f"Reading cached merged events for dataset {dataset}") - try: - with open(cache_file, "rb") as f: - merged_events = cloudpickle.load(f) - logger.info(f"Loaded {len(merged_events)} cached events for dataset {dataset}") - processed_datasets[dataset] = [(merged_events, metadata.copy())] - continue # Skip to next dataset - except Exception as e: - logger.error(f"Failed to load cached events for {dataset}: {e}") - # Fall back to loading from files - - # Load and merge events from all discovered files - all_events = [] - total_events_loaded = 0 - - for file_path in output_files: - try: - # Load events using NanoEventsFactory (same as old function) - events = NanoEventsFactory.from_root( - file_path, schemaclass=NanoAODSchema, mode="eager" - ).events() - events = ak.materialize(events) # Ensure data is loaded into memory - all_events.append(events) - total_events_loaded += len(events) - logger.debug(f"Loaded {len(events)} events from {file_path}") - except Exception as e: - logger.error(f"Failed to load events from {file_path}: {e}") - continue - - # Merge all events into a single array if we have any events - if all_events: - try: - if len(all_events) == 1: - # Single file, no need to concatenate - merged_events = all_events[0] - else: - # Multiple files, concatenate them - merged_events = ak.concatenate(all_events, axis=0) - - logger.info(f"Merged {len(output_files)} files into {len(merged_events)} total events for dataset {dataset}") - - # Cache the merged events if not reading from cache - #if not config.general.read_from_cache: - try: - os.makedirs(cache_dir, exist_ok=True) - with open(cache_file, "wb") as f: - cloudpickle.dump(merged_events, f) - logger.info(f"Cached merged events for dataset {dataset}") - except Exception as e: - logger.warning(f"Failed to cache events for {dataset}: {e}") - - processed_datasets[dataset] = [(merged_events, metadata.copy())] - - except Exception as e: - logger.error(f"Failed to merge events for dataset {dataset}: {e}") - # Fallback to individual events if merging fails - processed_events = [] - for i, events in enumerate(all_events): - processed_events.append((events, metadata.copy())) - logger.debug(f"Added individual events chunk {i} as fallback") - processed_datasets[dataset] = processed_events - else: - logger.warning(f"No output files found for dataset {dataset}") - processed_datasets[dataset] = [] - - return processed_datasets From 48c57e1ef0d9c337b2ff584a2238482e462c0810 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 22:37:01 +0200 Subject: [PATCH 22/24] keep old nanoaods.json file --- datasets/nanoaods.json | 3214 ++++++++++++++++++++-------------------- 1 file changed, 1602 insertions(+), 1612 deletions(-) diff --git a/datasets/nanoaods.json b/datasets/nanoaods.json index 2707484..704dc10 100644 --- a/datasets/nanoaods.json +++ b/datasets/nanoaods.json @@ -3,2833 +3,2823 @@ "nominal": { "files": [ { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/45046F71-EB72-974D-BF4A-56A9C1B44524.root", - "nevts": 0, - "nevts_wt": 0.0 - }, - { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/22BAB5D2-9E3F-E440-AB30-AE6DBFDF6C83.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M400_W4_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/100000/53682A49-E9C6-984F-A484-AB15E8D6F26F.root", + "nevts": 567823, + "nevts_wt": 567823.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/59B9ED38-8DDA-8049-BB4E-ACF0E257E79C.root", - "nevts": 0, - "nevts_wt": 0.0 - }, - { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M2000_W20_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7CFC8EB0-EC72-FD4C-8F03-CAECF5445EED.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/ZprimeToTT_M400_W4_TuneCP2_PSweights_13TeV-madgraph-pythiaMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/100000/D3E6C37E-FBC1-3A42-8082-7C3F876DE7AC.root", + "nevts": 2304, + "nevts_wt": 2304.0 } ], - "nevts_total": 0, - "nevts_wt_total": 0.0 + "nevts_total": 570127, + "nevts_wt_total": 570127.0 } }, "ttbar_semilep": { "nominal": { "files": [ { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0605BFCA-C65A-CA4C-8A6A-9148DC1B7B9A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0605BFCA-C65A-CA4C-8A6A-9148DC1B7B9A.root", + "nevts": 1344000, + "nevts_wt": 398074464.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0C0F16E0-3063-F94A-8089-6964A9A0E22E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0C0F16E0-3063-F94A-8089-6964A9A0E22E.root", + "nevts": 1344000, + "nevts_wt": 398000736.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/269F3713-D203-8843-8A31-2F3C0287ED1E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/269F3713-D203-8843-8A31-2F3C0287ED1E.root", + "nevts": 847000, + "nevts_wt": 255425904.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2BBB8900-6637-514A-A80F-17542BBECC1A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2BBB8900-6637-514A-A80F-17542BBECC1A.root", + "nevts": 1176000, + "nevts_wt": 349972704.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/37C523BE-D655-694D-B153-5A751632FF7D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/37C523BE-D655-694D-B153-5A751632FF7D.root", + "nevts": 1344000, + "nevts_wt": 398028384.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/45170D2A-584E-224D-938F-1AF554EF9F9D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/45170D2A-584E-224D-938F-1AF554EF9F9D.root", + "nevts": 817000, + "nevts_wt": 246354544.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5DD53BE3-F9BD-7140-A248-708BBAE6250B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5DD53BE3-F9BD-7140-A248-708BBAE6250B.root", + "nevts": 1344000, + "nevts_wt": 398062944.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/845DDDCD-18FB-414E-81E5-629CE68B7584.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/845DDDCD-18FB-414E-81E5-629CE68B7584.root", + "nevts": 924000, + "nevts_wt": 278068896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A4E514-322F-F74B-AC7C-7B8E205AA189.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A4E514-322F-F74B-AC7C-7B8E205AA189.root", + "nevts": 756000, + "nevts_wt": 227975312.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A9F24F-82B2-CF4B-8CEB-F0DC24DF4D30.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/89A9F24F-82B2-CF4B-8CEB-F0DC24DF4D30.root", + "nevts": 277000, + "nevts_wt": 83502352.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98FF0313-4D72-E84D-9539-AF9098719F64.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98FF0313-4D72-E84D-9539-AF9098719F64.root", + "nevts": 837000, + "nevts_wt": 252414480.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A00B0BA1-A526-3E40-8D4E-08B993B96C0D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A00B0BA1-A526-3E40-8D4E-08B993B96C0D.root", + "nevts": 502000, + "nevts_wt": 151330224.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/AB1B1697-748A-2749-B489-13419B0467D4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/AB1B1697-748A-2749-B489-13419B0467D4.root", + "nevts": 1400000, + "nevts_wt": 414003744.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B1C6AB78-7B2F-9242-9E78-8D4612704EBD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B1C6AB78-7B2F-9242-9E78-8D4612704EBD.root", + "nevts": 1344000, + "nevts_wt": 398083680.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CD46D073-75B2-E249-8B48-A6D6AF9AC6BB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CD46D073-75B2-E249-8B48-A6D6AF9AC6BB.root", + "nevts": 1344000, + "nevts_wt": 398005344.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D5244B90-484A-0C4B-A2E1-FC61B43BA074.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D5244B90-484A-0C4B-A2E1-FC61B43BA074.root", + "nevts": 801000, + "nevts_wt": 241536752.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DA2C2988-D459-6F46-B39E-778EC1D90276.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DA2C2988-D459-6F46-B39E-778EC1D90276.root", + "nevts": 968000, + "nevts_wt": 290648736.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DD8F059C-D5F2-8543-B8C7-E6902BF8D475.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DD8F059C-D5F2-8543-B8C7-E6902BF8D475.root", + "nevts": 1220000, + "nevts_wt": 362596896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F9842AF1-DF1A-164B-868B-4B2F44E2D337.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F9842AF1-DF1A-164B-868B-4B2F44E2D337.root", + "nevts": 832000, + "nevts_wt": 250811184.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA590B06-29A5-2E44-B8C0-3DDF2E4EDE56.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA590B06-29A5-2E44-B8C0-3DDF2E4EDE56.root", + "nevts": 836000, + "nevts_wt": 252042384.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FF354815-9EFF-DD4B-8FE4-6E8184346F69.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FF354815-9EFF-DD4B-8FE4-6E8184346F69.root", + "nevts": 840000, + "nevts_wt": 253288176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0025EA45-516D-FA44-90D5-57C724BE1288.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0025EA45-516D-FA44-90D5-57C724BE1288.root", + "nevts": 1344000, + "nevts_wt": 398034144.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/04089478-525E-924A-90F0-E5DD4999CAFA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/04089478-525E-924A-90F0-E5DD4999CAFA.root", + "nevts": 1008000, + "nevts_wt": 302078304.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0466CE11-3870-184D-84B7-25AF38B82FDA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/0466CE11-3870-184D-84B7-25AF38B82FDA.root", + "nevts": 796000, + "nevts_wt": 239966896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/054C5ED8-9E58-5049-9967-77452D48F061.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/054C5ED8-9E58-5049-9967-77452D48F061.root", + "nevts": 588000, + "nevts_wt": 177263248.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/10A4B734-3471-2D45-BAF0-FA3ECA06116F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/10A4B734-3471-2D45-BAF0-FA3ECA06116F.root", + "nevts": 849000, + "nevts_wt": 255930544.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/257843DE-C45F-184D-9D55-DE34507E676A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/257843DE-C45F-184D-9D55-DE34507E676A.root", + "nevts": 1344000, + "nevts_wt": 398016288.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/26950AAC-CD42-1C4B-8A09-E79E729FDD68.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/26950AAC-CD42-1C4B-8A09-E79E729FDD68.root", + "nevts": 716000, + "nevts_wt": 215856048.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6ACD4464-D195-0443-A127-E5E4A4119C64.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6ACD4464-D195-0443-A127-E5E4A4119C64.root", + "nevts": 704000, + "nevts_wt": 212256080.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6D1FE144-4CC1-6E4D-9A91-A6C36680D9EB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6D1FE144-4CC1-6E4D-9A91-A6C36680D9EB.root", + "nevts": 725000, + "nevts_wt": 218585968.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6F78A4CF-97BC-7741-B6E4-DE51CF82EE6E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/6F78A4CF-97BC-7741-B6E4-DE51CF82EE6E.root", + "nevts": 1148000, + "nevts_wt": 342034848.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/70F91CF1-891B-AC4D-9806-82AB5B12229E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/70F91CF1-891B-AC4D-9806-82AB5B12229E.root", + "nevts": 924000, + "nevts_wt": 277968672.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/77F32248-92AB-614B-B9CE-4448CDBC2390.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/77F32248-92AB-614B-B9CE-4448CDBC2390.root", + "nevts": 772000, + "nevts_wt": 232755408.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7C94DA4D-C0B5-8747-B6F8-E4903C610777.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7C94DA4D-C0B5-8747-B6F8-E4903C610777.root", + "nevts": 1344000, + "nevts_wt": 398028384.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7E0D502E-992A-D94B-B22B-9A9E4DAA2135.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/7E0D502E-992A-D94B-B22B-9A9E4DAA2135.root", + "nevts": 1344000, + "nevts_wt": 398055456.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/81CF6DA7-77E1-BF4B-8A64-D9C5E41FC562.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/81CF6DA7-77E1-BF4B-8A64-D9C5E41FC562.root", + "nevts": 1348000, + "nevts_wt": 399232800.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/82919C1F-33F4-C64F-95F5-300D200B08FE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/82919C1F-33F4-C64F-95F5-300D200B08FE.root", + "nevts": 1346000, + "nevts_wt": 398677536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/84F1F4C7-73E2-924D-BBD8-CC947486E5F6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/84F1F4C7-73E2-924D-BBD8-CC947486E5F6.root", + "nevts": 894000, + "nevts_wt": 269459424.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9EC205DD-F082-2E44-9EB5-03F29950A516.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9EC205DD-F082-2E44-9EB5-03F29950A516.root", + "nevts": 1192000, + "nevts_wt": 354557088.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/AAF0A922-439A-C044-A034-41EA8ED6726B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/AAF0A922-439A-C044-A034-41EA8ED6726B.root", + "nevts": 1344000, + "nevts_wt": 398046240.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/C1323D33-C88D-3E4A-81DA-99817B2E4C9D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/C1323D33-C88D-3E4A-81DA-99817B2E4C9D.root", + "nevts": 971000, + "nevts_wt": 291502944.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CAEF3144-345D-DC41-B0B8-24A9472402E0.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CAEF3144-345D-DC41-B0B8-24A9472402E0.root", + "nevts": 826000, + "nevts_wt": 249088112.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CCEF8E97-3971-EF44-8C30-290C3FA39C55.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/CCEF8E97-3971-EF44-8C30-290C3FA39C55.root", + "nevts": 553000, + "nevts_wt": 166703504.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E1A64115-6416-AE48-9607-8A5E1A7ECD65.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E1A64115-6416-AE48-9607-8A5E1A7ECD65.root", + "nevts": 856000, + "nevts_wt": 258034224.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E202BF8A-CD57-2A4F-B7F3-1C27534849AC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/E202BF8A-CD57-2A4F-B7F3-1C27534849AC.root", + "nevts": 1289000, + "nevts_wt": 382327200.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F43B0F3D-15FC-AB44-87AD-FD46AA0895B9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F43B0F3D-15FC-AB44-87AD-FD46AA0895B9.root", + "nevts": 1344000, + "nevts_wt": 397970208.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F5E9EC3E-3496-A842-A407-544FBAB06F6A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F5E9EC3E-3496-A842-A407-544FBAB06F6A.root", + "nevts": 1348000, + "nevts_wt": 399270816.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F8F5865F-5E5E-5C49-9044-99D712F0F18B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F8F5865F-5E5E-5C49-9044-99D712F0F18B.root", + "nevts": 1056000, + "nevts_wt": 315763488.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0AFFFA0B-438F-0B4E-A74E-344E41B69B2D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0AFFFA0B-438F-0B4E-A74E-344E41B69B2D.root", + "nevts": 739000, + "nevts_wt": 222850480.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/170D90C6-7617-EB45-876D-1BC22C403711.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/170D90C6-7617-EB45-876D-1BC22C403711.root", + "nevts": 1344000, + "nevts_wt": 398079648.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/18F4714B-3B7D-104F-AF23-5B323B762540.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/18F4714B-3B7D-104F-AF23-5B323B762540.root", + "nevts": 690000, + "nevts_wt": 208044464.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/28ED52B8-0FE2-F44D-8975-C830DDD87656.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/28ED52B8-0FE2-F44D-8975-C830DDD87656.root", + "nevts": 887000, + "nevts_wt": 267427216.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/32FEAFAD-1126-CC41-9687-B2B563700EA3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/32FEAFAD-1126-CC41-9687-B2B563700EA3.root", + "nevts": 1351000, + "nevts_wt": 400031136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/3432F14A-FEF0-9B46-B0CC-9452668E3F04.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/3432F14A-FEF0-9B46-B0CC-9452668E3F04.root", + "nevts": 1301000, + "nevts_wt": 385764192.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/389927B8-6C48-6D40-891C-2D245C0AB873.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/389927B8-6C48-6D40-891C-2D245C0AB873.root", + "nevts": 1397000, + "nevts_wt": 413188704.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/498606AE-2EFE-3244-B6C6-9D7130102D90.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/498606AE-2EFE-3244-B6C6-9D7130102D90.root", + "nevts": 1344000, + "nevts_wt": 398052576.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/5644A12B-798F-F445-98E1-CEC588E7D7B1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/5644A12B-798F-F445-98E1-CEC588E7D7B1.root", + "nevts": 1344000, + "nevts_wt": 398085408.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7028AB38-566C-584B-91CD-AD65C1CAB6AF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7028AB38-566C-584B-91CD-AD65C1CAB6AF.root", + "nevts": 1344000, + "nevts_wt": 397990944.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7449AE39-6D6D-4341-B389-9DA5EB0A7D57.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7449AE39-6D6D-4341-B389-9DA5EB0A7D57.root", + "nevts": 1338000, + "nevts_wt": 396382176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7A0A17BD-3A01-6D41-B1E1-730116978C41.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7A0A17BD-3A01-6D41-B1E1-730116978C41.root", + "nevts": 1344000, + "nevts_wt": 398029536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/8D65A33A-CF86-894B-ABC7-6905A074145C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/8D65A33A-CF86-894B-ABC7-6905A074145C.root", + "nevts": 756000, + "nevts_wt": 227958896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/937C685E-5DEB-BC41-A9DC-ED1DA345C216.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/937C685E-5DEB-BC41-A9DC-ED1DA345C216.root", + "nevts": 1336000, + "nevts_wt": 395684640.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B28F335F-DB03-D740-9333-E4C70FFC564D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B28F335F-DB03-D740-9333-E4C70FFC564D.root", + "nevts": 968000, + "nevts_wt": 290650464.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/C956C5DE-CC3B-F244-815E-83A6A4CED3D2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/C956C5DE-CC3B-F244-815E-83A6A4CED3D2.root", + "nevts": 756000, + "nevts_wt": 227933360.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CBA39E34-6BAD-B740-AB89-ECD745490CE5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CBA39E34-6BAD-B740-AB89-ECD745490CE5.root", + "nevts": 810000, + "nevts_wt": 244125008.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/D1257262-C0FA-D345-8A82-8E4EB1551830.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/D1257262-C0FA-D345-8A82-8E4EB1551830.root", + "nevts": 1406000, + "nevts_wt": 415762272.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E79D4874-C489-0242-8347-0A3FF8E74A69.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E79D4874-C489-0242-8347-0A3FF8E74A69.root", + "nevts": 729000, + "nevts_wt": 219773392.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EE71C83D-685F-6E4A-99C0-9ED7578417DF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EE71C83D-685F-6E4A-99C0-9ED7578417DF.root", + "nevts": 1344000, + "nevts_wt": 398008800.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EECE0C71-B5AF-9346-8C67-8D9C1E9D4EDA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EECE0C71-B5AF-9346-8C67-8D9C1E9D4EDA.root", + "nevts": 1344000, + "nevts_wt": 398005920.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EF3B5E82-FA5F-6B45-A5F1-8D859F86413F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/EF3B5E82-FA5F-6B45-A5F1-8D859F86413F.root", + "nevts": 756000, + "nevts_wt": 227917552.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F03130A4-DE71-1043-90F6-FFB6930185B6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F03130A4-DE71-1043-90F6-FFB6930185B6.root", + "nevts": 924000, + "nevts_wt": 277999200.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/08FCB2ED-176B-064B-85AB-37B898773B98.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/08FCB2ED-176B-064B-85AB-37B898773B98.root", + "nevts": 1233000, + "nevts_wt": 366386400.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0BD60695-8388-5141-B157-32AE1A3B4885.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0BD60695-8388-5141-B157-32AE1A3B4885.root", + "nevts": 1365000, + "nevts_wt": 404103456.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0F91D1FB-8209-154F-BBD4-DD8A3BF8E20B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/0F91D1FB-8209-154F-BBD4-DD8A3BF8E20B.root", + "nevts": 1344000, + "nevts_wt": 398066976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/18C263F0-0CA5-EF45-A6D4-E4FE3578ADE4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/18C263F0-0CA5-EF45-A6D4-E4FE3578ADE4.root", + "nevts": 706000, + "nevts_wt": 212806320.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/1D63950A-E444-E049-BFF0-D33296A8A6CA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/1D63950A-E444-E049-BFF0-D33296A8A6CA.root", + "nevts": 1344000, + "nevts_wt": 398024928.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2D439FBF-CF8D-654F-93B1-2F7D0A74B0CB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2D439FBF-CF8D-654F-93B1-2F7D0A74B0CB.root", + "nevts": 1144000, + "nevts_wt": 340934112.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2E85B521-A37E-0044-8662-BFB0C1291422.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/2E85B521-A37E-0044-8662-BFB0C1291422.root", + "nevts": 1344000, + "nevts_wt": 398039328.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/301EA765-5A14-1B43-ADED-D3BE6147134B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/301EA765-5A14-1B43-ADED-D3BE6147134B.root", + "nevts": 905000, + "nevts_wt": 272638944.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38728C1E-8B09-954D-8F53-FD7D939FFFBE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38728C1E-8B09-954D-8F53-FD7D939FFFBE.root", + "nevts": 749000, + "nevts_wt": 225785296.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38732C5E-2EDA-B04E-82EF-D2D59660EC70.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/38732C5E-2EDA-B04E-82EF-D2D59660EC70.root", + "nevts": 821000, + "nevts_wt": 247512176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4F3C361D-258C-1D41-AEEA-48CB87D3839A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4F3C361D-258C-1D41-AEEA-48CB87D3839A.root", + "nevts": 1402000, + "nevts_wt": 414572256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/515BA035-03D5-1D4E-A190-DA20F24527B3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/515BA035-03D5-1D4E-A190-DA20F24527B3.root", + "nevts": 1344000, + "nevts_wt": 398006496.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/52BE289E-E098-294C-BBF4-976248552297.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/52BE289E-E098-294C-BBF4-976248552297.root", + "nevts": 1326000, + "nevts_wt": 392927328.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/5406CD79-47C3-0345-9FEB-BA4FF4B2BC71.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/5406CD79-47C3-0345-9FEB-BA4FF4B2BC71.root", + "nevts": 1344000, + "nevts_wt": 398053152.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/581CBD80-7D60-5E42-9952-B1234440AE4F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/581CBD80-7D60-5E42-9952-B1234440AE4F.root", + "nevts": 336000, + "nevts_wt": 101266288.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/608E3128-EBD8-CD4C-A48C-2C35C4499480.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/608E3128-EBD8-CD4C-A48C-2C35C4499480.root", + "nevts": 1344000, + "nevts_wt": 398044512.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6E5733F4-BF92-7349-A50A-2C0A6BA4E4CD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6E5733F4-BF92-7349-A50A-2C0A6BA4E4CD.root", + "nevts": 1344000, + "nevts_wt": 398038176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/733A7BD3-3F27-F345-A8F4-BE11DC1AF91A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/733A7BD3-3F27-F345-A8F4-BE11DC1AF91A.root", + "nevts": 1328000, + "nevts_wt": 393494688.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7681408F-8BD8-864E-B938-AFEF0F1E3CB0.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7681408F-8BD8-864E-B938-AFEF0F1E3CB0.root", + "nevts": 854000, + "nevts_wt": 257506480.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/77B512A9-44FC-4843-941D-AC3CD4245B1A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/77B512A9-44FC-4843-941D-AC3CD4245B1A.root", + "nevts": 1344000, + "nevts_wt": 398030688.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/788BA782-7116-5643-A6FC-1EA2493298F7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/788BA782-7116-5643-A6FC-1EA2493298F7.root", + "nevts": 252000, + "nevts_wt": 75965584.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/799CCCA2-BF94-2C48-9B4C-BE0B680504D2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/799CCCA2-BF94-2C48-9B4C-BE0B680504D2.root", + "nevts": 840000, + "nevts_wt": 253285136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7D120E49-E712-B74B-9E1C-67F2D0057995.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/7D120E49-E712-B74B-9E1C-67F2D0057995.root", + "nevts": 168000, + "nevts_wt": 50616848.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/9D743040-FBD3-B349-AC43-F7F6C2A2E76F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/9D743040-FBD3-B349-AC43-F7F6C2A2E76F.root", + "nevts": 1385000, + "nevts_wt": 409731552.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B394935D-7CE4-CC48-9D5F-21691247CB69.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B394935D-7CE4-CC48-9D5F-21691247CB69.root", + "nevts": 1344000, + "nevts_wt": 398041632.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B5A479F2-4790-6D47-8D86-8E0072E69709.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B5A479F2-4790-6D47-8D86-8E0072E69709.root", + "nevts": 830000, + "nevts_wt": 250218384.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B68E5826-9098-DA43-9AC1-EDAD206E1F49.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/B68E5826-9098-DA43-9AC1-EDAD206E1F49.root", + "nevts": 756000, + "nevts_wt": 227923632.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BAED748E-4A60-ED47-A943-8BD1C3ED1C30.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BAED748E-4A60-ED47-A943-8BD1C3ED1C30.root", + "nevts": 1344000, + "nevts_wt": 398032992.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BCAD1751-CBCC-BE4F-80CB-8EE1A4E9E64B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/BCAD1751-CBCC-BE4F-80CB-8EE1A4E9E64B.root", + "nevts": 1330000, + "nevts_wt": 393945696.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C008FFA3-9764-BB4A-BD4B-4D74BF8C8DFB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C008FFA3-9764-BB4A-BD4B-4D74BF8C8DFB.root", + "nevts": 1109000, + "nevts_wt": 330883488.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C749BBA3-17D9-824F-BE96-E2BD29DD5435.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/C749BBA3-17D9-824F-BE96-E2BD29DD5435.root", + "nevts": 1344000, + "nevts_wt": 398053728.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/CD5106BD-A080-F243-9C9E-B6823002BA13.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/CD5106BD-A080-F243-9C9E-B6823002BA13.root", + "nevts": 1344000, + "nevts_wt": 398030112.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D2164C22-DAC7-E74B-A884-1C316271AA1A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D2164C22-DAC7-E74B-A884-1C316271AA1A.root", + "nevts": 1176000, + "nevts_wt": 350033760.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6AF8817-1087-DB4A-955A-0C14848E8F54.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6AF8817-1087-DB4A-955A-0C14848E8F54.root", + "nevts": 1344000, + "nevts_wt": 398015136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DA782B23-D9A2-1549-96B3-42ED362DD0B8.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DA782B23-D9A2-1549-96B3-42ED362DD0B8.root", + "nevts": 741000, + "nevts_wt": 223344784.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DCFF4026-63BC-DC42-BA91-7C177EA82D6B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/DCFF4026-63BC-DC42-BA91-7C177EA82D6B.root", + "nevts": 1312000, + "nevts_wt": 388886688.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F1ECF9B1-276C-EC4E-916A-E5A4E090418E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F1ECF9B1-276C-EC4E-916A-E5A4E090418E.root", + "nevts": 1377000, + "nevts_wt": 407471904.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F6C0248E-6AC1-CE45-BEFA-56A735AA214A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/F6C0248E-6AC1-CE45-BEFA-56A735AA214A.root", + "nevts": 870000, + "nevts_wt": 262335216.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FA5B9B55-06B4-A640-AF3C-7B44552E2393.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FA5B9B55-06B4-A640-AF3C-7B44552E2393.root", + "nevts": 924000, + "nevts_wt": 278075232.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FB5A9307-B677-B947-8970-21DA6BD7C9C2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FB5A9307-B677-B947-8970-21DA6BD7C9C2.root", + "nevts": 1347000, + "nevts_wt": 398800224.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FFA621C8-C16B-5740-AB60-84246D9B2FD1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FFA621C8-C16B-5740-AB60-84246D9B2FD1.root", + "nevts": 1330000, + "nevts_wt": 393988320.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/082C7405-F649-D24A-859A-490226F647D6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/082C7405-F649-D24A-859A-490226F647D6.root", + "nevts": 336000, + "nevts_wt": 101258992.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0B4EBF8D-E812-A648-B3D5-0656D7A916A2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0B4EBF8D-E812-A648-B3D5-0656D7A916A2.root", + "nevts": 997000, + "nevts_wt": 298918944.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/24E12E9B-16FC-4B49-8FC5-A1DA55F66812.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/24E12E9B-16FC-4B49-8FC5-A1DA55F66812.root", + "nevts": 504000, + "nevts_wt": 151972272.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/26000357-1AAE-9B42-82E6-C0E8C73A6383.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/26000357-1AAE-9B42-82E6-C0E8C73A6383.root", + "nevts": 931000, + "nevts_wt": 280059552.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3A7F86F2-79CF-7144-97DC-AA39A86FF7A9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3A7F86F2-79CF-7144-97DC-AA39A86FF7A9.root", + "nevts": 1344000, + "nevts_wt": 398061792.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4C7FB836-6EFD-734C-BE1B-98D559F9242E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4C7FB836-6EFD-734C-BE1B-98D559F9242E.root", + "nevts": 904000, + "nevts_wt": 272363040.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/531090D8-978E-4A42-8093-8243B45FCB13.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/531090D8-978E-4A42-8093-8243B45FCB13.root", + "nevts": 777000, + "nevts_wt": 234268112.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/599E5138-5CF6-9641-98C1-DDBB36520CBA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/599E5138-5CF6-9641-98C1-DDBB36520CBA.root", + "nevts": 1008000, + "nevts_wt": 302069088.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E264054-F583-3A44-A0E4-64FF48207D37.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E264054-F583-3A44-A0E4-64FF48207D37.root", + "nevts": 916000, + "nevts_wt": 275806368.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5EDEF575-F57C-8944-B483-667A8A72ED95.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5EDEF575-F57C-8944-B483-667A8A72ED95.root", + "nevts": 861000, + "nevts_wt": 259580976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/667E7CB1-F38C-D74B-A94E-8247C8F7CEF6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/667E7CB1-F38C-D74B-A94E-8247C8F7CEF6.root", + "nevts": 1344000, + "nevts_wt": 397959264.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6B0E9962-0874-854E-BCC4-99F3ECB4AEF1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6B0E9962-0874-854E-BCC4-99F3ECB4AEF1.root", + "nevts": 883000, + "nevts_wt": 266141904.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6E4E2647-6A09-4D45-8F1F-234D84FE70D1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6E4E2647-6A09-4D45-8F1F-234D84FE70D1.root", + "nevts": 1344000, + "nevts_wt": 397965024.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6EE99EF2-36D4-0242-90DE-027541664D97.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6EE99EF2-36D4-0242-90DE-027541664D97.root", + "nevts": 1328000, + "nevts_wt": 393465888.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/709A653D-2F2A-FA4F-A86D-69DD26091974.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/709A653D-2F2A-FA4F-A86D-69DD26091974.root", + "nevts": 813000, + "nevts_wt": 245083216.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76B84D2A-2AE4-AE4B-BA52-6144DD843FAE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76B84D2A-2AE4-AE4B-BA52-6144DD843FAE.root", + "nevts": 1348000, + "nevts_wt": 399160224.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/7DB85334-39F9-A246-87BE-29B6E07E74A4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/7DB85334-39F9-A246-87BE-29B6E07E74A4.root", + "nevts": 749000, + "nevts_wt": 225826032.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8D5CA583-60F1-9E47-93AC-7EB9E1360AE7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8D5CA583-60F1-9E47-93AC-7EB9E1360AE7.root", + "nevts": 924000, + "nevts_wt": 278061984.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A8175577-8AA3-D142-828B-C0D183AC1D6A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A8175577-8AA3-D142-828B-C0D183AC1D6A.root", + "nevts": 749000, + "nevts_wt": 225771312.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC9B54BF-8EC3-A04F-B747-32261F61760B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC9B54BF-8EC3-A04F-B747-32261F61760B.root", + "nevts": 924000, + "nevts_wt": 278069472.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B4252915-446F-294C-A936-9BAAC8E8088B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B4252915-446F-294C-A936-9BAAC8E8088B.root", + "nevts": 168000, + "nevts_wt": 50596176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BA27F623-45F5-E44B-ADC0-F1D3BBB3E99C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BA27F623-45F5-E44B-ADC0-F1D3BBB3E99C.root", + "nevts": 738000, + "nevts_wt": 222475952.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E67D5EE9-AEFB-0446-9BB4-757330B8A26B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E67D5EE9-AEFB-0446-9BB4-757330B8A26B.root", + "nevts": 1344000, + "nevts_wt": 397997280.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAC90209-246F-B94D-8AC8-42C27489B6AC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAC90209-246F-B94D-8AC8-42C27489B6AC.root", + "nevts": 1362000, + "nevts_wt": 403147296.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAF8DAA3-5F9C-C64D-B940-A4D96541702D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EAF8DAA3-5F9C-C64D-B940-A4D96541702D.root", + "nevts": 720000, + "nevts_wt": 217092720.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ED783F3F-0E31-3F4F-96A4-2F9AE2772129.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ED783F3F-0E31-3F4F-96A4-2F9AE2772129.root", + "nevts": 1396000, + "nevts_wt": 412813728.0 } ], - "nevts_total": 0, - "nevts_wt_total": 0.0 + "nevts_total": 144722000, + "nevts_wt_total": 43139342352.0 } }, "ttbar_had": { "nominal": { "files": [ { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0415B772-3CC8-A64E-9410-E622E18AF2E5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0415B772-3CC8-A64E-9410-E622E18AF2E5.root", + "nevts": 672000, + "nevts_wt": 212433536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/05329733-CCC3-7B43-A9CE-1B9035E25908.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/05329733-CCC3-7B43-A9CE-1B9035E25908.root", + "nevts": 266000, + "nevts_wt": 83597064.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/070B934A-FF76-7641-8B09-ED39C2A40259.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/070B934A-FF76-7641-8B09-ED39C2A40259.root", + "nevts": 216000, + "nevts_wt": 67737224.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/09492CF1-C5EC-5D41-AF8A-1F65FB6B47C1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/09492CF1-C5EC-5D41-AF8A-1F65FB6B47C1.root", + "nevts": 269000, + "nevts_wt": 84557704.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0BF4BFF2-D7F5-E645-A159-6315A2C6CEB3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0BF4BFF2-D7F5-E645-A159-6315A2C6CEB3.root", + "nevts": 924000, + "nevts_wt": 292406656.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/15697FF1-8ED1-2E49-9B5C-D75D2A4BC5BB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/15697FF1-8ED1-2E49-9B5C-D75D2A4BC5BB.root", + "nevts": 672000, + "nevts_wt": 212451456.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/174C0110-F892-1544-8C75-84D40D70FCEC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/174C0110-F892-1544-8C75-84D40D70FCEC.root", + "nevts": 1344000, + "nevts_wt": 425801856.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/22CEBB9F-2856-094C-8F11-193185CD8B7F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/22CEBB9F-2856-094C-8F11-193185CD8B7F.root", + "nevts": 1012000, + "nevts_wt": 320338176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C30A96B-A8BD-2A44-A245-431FEB560DAF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C30A96B-A8BD-2A44-A245-431FEB560DAF.root", + "nevts": 336000, + "nevts_wt": 105837704.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/32394808-31D1-B44A-9B73-255CFD2F2261.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/32394808-31D1-B44A-9B73-255CFD2F2261.root", + "nevts": 1344000, + "nevts_wt": 425760256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/34E15025-2C22-A34A-8D87-55824909C3E8.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/34E15025-2C22-A34A-8D87-55824909C3E8.root", + "nevts": 130000, + "nevts_wt": 40771408.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3CD72D89-6D8E-AF47-8634-BD3D227FA92F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3CD72D89-6D8E-AF47-8634-BD3D227FA92F.root", + "nevts": 1344000, + "nevts_wt": 425719936.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E2F3A35-0F41-294B-844E-3ED88F4E8898.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E2F3A35-0F41-294B-844E-3ED88F4E8898.root", + "nevts": 1008000, + "nevts_wt": 319145216.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E453A27-445E-3F4C-BDEC-A769C1DAC266.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3E453A27-445E-3F4C-BDEC-A769C1DAC266.root", + "nevts": 1147000, + "nevts_wt": 363231616.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/442EA53A-1CA0-6543-BE94-F5C8A23AD080.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/442EA53A-1CA0-6543-BE94-F5C8A23AD080.root", + "nevts": 1362000, + "nevts_wt": 431488896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4B4C6EA0-60A7-D74D-950C-8128570E9935.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4B4C6EA0-60A7-D74D-950C-8128570E9935.root", + "nevts": 1344000, + "nevts_wt": 425758976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/54F3AB5C-090D-ED44-AC6E-5591227A368B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/54F3AB5C-090D-ED44-AC6E-5591227A368B.root", + "nevts": 757000, + "nevts_wt": 239400576.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/55923396-3A74-AD48-AFC0-06D4EBA59561.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/55923396-3A74-AD48-AFC0-06D4EBA59561.root", + "nevts": 168000, + "nevts_wt": 52681448.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56846E45-8873-0041-8580-B08F8E042B76.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56846E45-8873-0041-8580-B08F8E042B76.root", + "nevts": 420000, + "nevts_wt": 132491144.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56C25CF2-9FC2-BF4A-B995-EE4A437965AE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/56C25CF2-9FC2-BF4A-B995-EE4A437965AE.root", + "nevts": 924000, + "nevts_wt": 292395776.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/69F11A32-56D2-724D-B88E-A183BAB30374.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/69F11A32-56D2-724D-B88E-A183BAB30374.root", + "nevts": 1344000, + "nevts_wt": 425739136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6D352B32-1043-BD4F-90F6-F00F5EFE007D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6D352B32-1043-BD4F-90F6-F00F5EFE007D.root", + "nevts": 738000, + "nevts_wt": 233425536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/749AADE3-79D5-9545-956D-85797B1AC591.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/749AADE3-79D5-9545-956D-85797B1AC591.root", + "nevts": 756000, + "nevts_wt": 239136256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7F61D088-0533-F94C-98C7-A5F7C5EB08E1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7F61D088-0533-F94C-98C7-A5F7C5EB08E1.root", + "nevts": 291000, + "nevts_wt": 91581704.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/802B859E-E7C5-7C4C-B633-F5FC00AFFE52.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/802B859E-E7C5-7C4C-B633-F5FC00AFFE52.root", + "nevts": 50000, + "nevts_wt": 15690488.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8260A498-D213-A14C-ACCD-013ADDFACA19.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8260A498-D213-A14C-ACCD-013ADDFACA19.root", + "nevts": 684000, + "nevts_wt": 216298496.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/86482EE1-98D6-F64F-935E-D1718921BD60.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/86482EE1-98D6-F64F-935E-D1718921BD60.root", + "nevts": 1344000, + "nevts_wt": 425807616.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8B9CFC04-6B23-AD44-841B-8D2EF227489F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8B9CFC04-6B23-AD44-841B-8D2EF227489F.root", + "nevts": 85000, + "nevts_wt": 26632936.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8FA74B6A-435F-824F-9AA4-3A00D95DD5E6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/8FA74B6A-435F-824F-9AA4-3A00D95DD5E6.root", + "nevts": 9000, + "nevts_wt": 2826822.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/914B208F-0A9F-9645-A571-812DC0EEB1B9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/914B208F-0A9F-9645-A571-812DC0EEB1B9.root", + "nevts": 65000, + "nevts_wt": 20392568.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9370EDFA-5571-D346-8BC8-685B24B442FA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9370EDFA-5571-D346-8BC8-685B24B442FA.root", + "nevts": 480000, + "nevts_wt": 151514496.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ACD5CB4F-A3B2-9B4A-97B7-3C5878550ADD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ACD5CB4F-A3B2-9B4A-97B7-3C5878550ADD.root", + "nevts": 168000, + "nevts_wt": 52662488.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B34B80A5-CFFD-FD40-A459-59A20144F32F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B34B80A5-CFFD-FD40-A459-59A20144F32F.root", + "nevts": 944000, + "nevts_wt": 298738176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B66C0530-628C-804C-8C59-802ADDA5496F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B66C0530-628C-804C-8C59-802ADDA5496F.root", + "nevts": 1366000, + "nevts_wt": 432731776.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BFB28967-2245-4340-9B93-12C96C505A0E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BFB28967-2245-4340-9B93-12C96C505A0E.root", + "nevts": 1344000, + "nevts_wt": 425784576.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C08D1768-6DB1-414F-9309-D64EA65656CF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C08D1768-6DB1-414F-9309-D64EA65656CF.root", + "nevts": 666000, + "nevts_wt": 210533376.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C567DD5B-FF56-FC43-94CC-74E84999C028.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C567DD5B-FF56-FC43-94CC-74E84999C028.root", + "nevts": 27000, + "nevts_wt": 8482528.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C5E8EC67-E352-DD44-841D-EC896E7D64DA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C5E8EC67-E352-DD44-841D-EC896E7D64DA.root", + "nevts": 169000, + "nevts_wt": 52994288.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CFEC4DF3-8642-5A43-9DEF-9A85373C5ED6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/CFEC4DF3-8642-5A43-9DEF-9A85373C5ED6.root", + "nevts": 756000, + "nevts_wt": 239078656.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D8EC034C-FBB6-B448-8A46-0CB862AA4026.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/D8EC034C-FBB6-B448-8A46-0CB862AA4026.root", + "nevts": 756000, + "nevts_wt": 239152256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E00BA103-6972-C444-ABDF-38A6E98C92A6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E00BA103-6972-C444-ABDF-38A6E98C92A6.root", + "nevts": 462000, + "nevts_wt": 145782016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E51D896E-942F-0644-918B-F5908BBDBF78.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E51D896E-942F-0644-918B-F5908BBDBF78.root", + "nevts": 1366000, + "nevts_wt": 432791936.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E57461E2-628D-D64F-A01F-82F2FD290781.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E57461E2-628D-D64F-A01F-82F2FD290781.root", + "nevts": 1008000, + "nevts_wt": 319086976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EB3F4468-E0C5-7F47-98CC-54CC8E916F0C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EB3F4468-E0C5-7F47-98CC-54CC8E916F0C.root", + "nevts": 5000, + "nevts_wt": 1570950.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ECEE2997-52FC-F04B-8E7E-3A2E76D3A985.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/ECEE2997-52FC-F04B-8E7E-3A2E76D3A985.root", + "nevts": 5000, + "nevts_wt": 1566519.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F43B5F34-8F07-9A41-8F2F-8E14828E585F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F43B5F34-8F07-9A41-8F2F-8E14828E585F.root", + "nevts": 252000, + "nevts_wt": 79148424.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F551821D-76D4-C740-9095-D1EDEB02A04A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F551821D-76D4-C740-9095-D1EDEB02A04A.root", + "nevts": 297000, + "nevts_wt": 93424904.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F8AB2EF8-0BB3-9B44-85BF-A784A8778585.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F8AB2EF8-0BB3-9B44-85BF-A784A8778585.root", + "nevts": 1145000, + "nevts_wt": 362628096.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA019453-69E2-024D-A00C-83EC3AA83B39.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FA019453-69E2-024D-A00C-83EC3AA83B39.root", + "nevts": 588000, + "nevts_wt": 185824896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FB5D8351-DAEB-C040-B911-E1B4223794EA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FB5D8351-DAEB-C040-B911-E1B4223794EA.root", + "nevts": 336000, + "nevts_wt": 105821704.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FC86C900-3CDD-5B4E-9402-7C4E8A7E0AE5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/FC86C900-3CDD-5B4E-9402-7C4E8A7E0AE5.root", + "nevts": 996000, + "nevts_wt": 315330176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/15150BC3-23BA-FF4D-856A-2693B8CEC6C0.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/15150BC3-23BA-FF4D-856A-2693B8CEC6C0.root", + "nevts": 840000, + "nevts_wt": 265793536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/32E1896B-511E-BE42-A9DA-D146738FB7EF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/32E1896B-511E-BE42-A9DA-D146738FB7EF.root", + "nevts": 840000, + "nevts_wt": 265792256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/73C95B4B-4F69-9243-8551-5AECE5676EB2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/73C95B4B-4F69-9243-8551-5AECE5676EB2.root", + "nevts": 423000, + "nevts_wt": 133375624.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1CC5A237-6D02-0440-AEB9-518AEF0D3A5D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1CC5A237-6D02-0440-AEB9-518AEF0D3A5D.root", + "nevts": 1344000, + "nevts_wt": 425805056.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/243EB808-9B04-6B43-A6CE-E8574D88D503.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/243EB808-9B04-6B43-A6CE-E8574D88D503.root", + "nevts": 853000, + "nevts_wt": 269894656.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/2E6FCF9B-8430-6E43-9ADF-7FEE8965FECF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/2E6FCF9B-8430-6E43-9ADF-7FEE8965FECF.root", + "nevts": 420000, + "nevts_wt": 132498184.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7DE1BB08-7635-4F42-A328-128668549259.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/7DE1BB08-7635-4F42-A328-128668549259.root", + "nevts": 922000, + "nevts_wt": 291887616.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/94EDBC60-6F55-5C4F-B661-37B1270AA986.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/94EDBC60-6F55-5C4F-B661-37B1270AA986.root", + "nevts": 36000, + "nevts_wt": 11293032.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/A4E29F20-3CE6-A344-8FE1-B2B8C83C08C5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/A4E29F20-3CE6-A344-8FE1-B2B8C83C08C5.root", + "nevts": 1344000, + "nevts_wt": 425670016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E5109B75-A9F0-8A40-B72D-2477EF3872BB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/E5109B75-A9F0-8A40-B72D-2477EF3872BB.root", + "nevts": 1344000, + "nevts_wt": 425760896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F0668DB8-01DA-7E4E-80A5-11B25C4203BB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F0668DB8-01DA-7E4E-80A5-11B25C4203BB.root", + "nevts": 1176000, + "nevts_wt": 372411136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/009086DB-1E42-7545-9A35-1433EC89D04B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/009086DB-1E42-7545-9A35-1433EC89D04B.root", + "nevts": 1344000, + "nevts_wt": 425702016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0923F6BB-0DBD-C54B-A602-44337E0301EB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0923F6BB-0DBD-C54B-A602-44337E0301EB.root", + "nevts": 1086000, + "nevts_wt": 343831296.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0BB09EA7-A866-AB41-92B1-479144904E08.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0BB09EA7-A866-AB41-92B1-479144904E08.root", + "nevts": 1033000, + "nevts_wt": 327109376.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0F32BFAD-8F2D-944E-ACBA-DE005082D2D4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/0F32BFAD-8F2D-944E-ACBA-DE005082D2D4.root", + "nevts": 687000, + "nevts_wt": 217227776.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1337B551-BD35-9748-A1CF-FBB37AD57801.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1337B551-BD35-9748-A1CF-FBB37AD57801.root", + "nevts": 1176000, + "nevts_wt": 372525696.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/149FF032-5064-9640-BC29-F00476028CD7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/149FF032-5064-9640-BC29-F00476028CD7.root", + "nevts": 435000, + "nevts_wt": 137204736.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14E3DC6D-2AF2-5346-ADAB-1C013D107D1C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14E3DC6D-2AF2-5346-ADAB-1C013D107D1C.root", + "nevts": 725000, + "nevts_wt": 229286016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/17B8A720-E100-0845-82F7-7C290491C45B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/17B8A720-E100-0845-82F7-7C290491C45B.root", + "nevts": 813000, + "nevts_wt": 257157376.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/19F0E07F-7F51-D544-AEE3-B90E417F77B3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/19F0E07F-7F51-D544-AEE3-B90E417F77B3.root", + "nevts": 895000, + "nevts_wt": 283250176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1B17F007-31E4-3C48-BB68-EFF1467424D4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1B17F007-31E4-3C48-BB68-EFF1467424D4.root", + "nevts": 938000, + "nevts_wt": 296864896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1BCE5063-A638-294D-B2C6-A4EA435107F2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1BCE5063-A638-294D-B2C6-A4EA435107F2.root", + "nevts": 756000, + "nevts_wt": 239118976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1E20FAC2-543F-1744-83CD-6593CF0A80A9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1E20FAC2-543F-1744-83CD-6593CF0A80A9.root", + "nevts": 1336000, + "nevts_wt": 423237376.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1FACCCE7-7D0A-1041-BB56-FF943C4AFF44.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1FACCCE7-7D0A-1041-BB56-FF943C4AFF44.root", + "nevts": 924000, + "nevts_wt": 292462976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/20E414AF-783C-8345-B32B-6646B0B52648.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/20E414AF-783C-8345-B32B-6646B0B52648.root", + "nevts": 72000, + "nevts_wt": 22591296.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2A4424DB-223D-FE47-855C-7F8DEE298D3E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2A4424DB-223D-FE47-855C-7F8DEE298D3E.root", + "nevts": 756000, + "nevts_wt": 239117056.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2CAFF736-C3E4-924B-B86A-8133AF0270F6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2CAFF736-C3E4-924B-B86A-8133AF0270F6.root", + "nevts": 1375000, + "nevts_wt": 435581056.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F697716-268E-5040-BF4D-33FADCF6B9BC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F697716-268E-5040-BF4D-33FADCF6B9BC.root", + "nevts": 1093000, + "nevts_wt": 346066176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F7612E3-A62C-A94C-B5B3-993B18BF2C70.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/2F7612E3-A62C-A94C-B5B3-993B18BF2C70.root", + "nevts": 445000, + "nevts_wt": 140427136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3013C45F-C986-B04B-AD0A-421A307354D5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3013C45F-C986-B04B-AD0A-421A307354D5.root", + "nevts": 336000, + "nevts_wt": 105838344.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34096CD7-7D28-0042-8324-EDE25B8AD16C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34096CD7-7D28-0042-8324-EDE25B8AD16C.root", + "nevts": 78000, + "nevts_wt": 24458224.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34684757-EE85-D842-878B-8236643A9EA7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34684757-EE85-D842-878B-8236643A9EA7.root", + "nevts": 865000, + "nevts_wt": 273708416.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34CF7EAA-48EB-BB45-B3CB-425AEAE31995.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/34CF7EAA-48EB-BB45-B3CB-425AEAE31995.root", + "nevts": 756000, + "nevts_wt": 239158016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3521ACD9-152D-DD43-B498-0C07E2C254AE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3521ACD9-152D-DD43-B498-0C07E2C254AE.root", + "nevts": 1000, + "nevts_wt": 314569.28125 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3E724784-B7D0-F747-B1A4-3793FBF2AB6A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/3E724784-B7D0-F747-B1A4-3793FBF2AB6A.root", + "nevts": 1348000, + "nevts_wt": 427024896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/41476D37-0D40-8944-BA85-7B165C6BA84D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/41476D37-0D40-8944-BA85-7B165C6BA84D.root", + "nevts": 760000, + "nevts_wt": 240416896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/43507C25-D69A-724F-89A1-DF7AB7260D77.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/43507C25-D69A-724F-89A1-DF7AB7260D77.root", + "nevts": 840000, + "nevts_wt": 265761536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/481DD0D9-1ECE-EE49-A3E5-27A692EFAC20.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/481DD0D9-1ECE-EE49-A3E5-27A692EFAC20.root", + "nevts": 168000, + "nevts_wt": 52682712.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4A685992-BCDC-3140-8293-DBBFD4C45913.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4A685992-BCDC-3140-8293-DBBFD4C45913.root", + "nevts": 804000, + "nevts_wt": 254381056.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5011A34E-CCC1-0C49-8D37-54067AAF6588.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5011A34E-CCC1-0C49-8D37-54067AAF6588.root", + "nevts": 420000, + "nevts_wt": 132470664.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52BE81F4-0FF8-3446-8DC2-E0FCBFC61080.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52BE81F4-0FF8-3446-8DC2-E0FCBFC61080.root", + "nevts": 1344000, + "nevts_wt": 425755136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/58974BA1-A3CE-B54D-AAAD-79208225FCF2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/58974BA1-A3CE-B54D-AAAD-79208225FCF2.root", + "nevts": 781000, + "nevts_wt": 247084416.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5920BA91-C260-3D42-BD97-3AE5BE5759E4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5920BA91-C260-3D42-BD97-3AE5BE5759E4.root", + "nevts": 756000, + "nevts_wt": 239106176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/59292429-B4B3-3044-9492-47C48F539934.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/59292429-B4B3-3044-9492-47C48F539934.root", + "nevts": 84000, + "nevts_wt": 26334632.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D29016F-3164-F245-B2B9-6E0C258243B3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D29016F-3164-F245-B2B9-6E0C258243B3.root", + "nevts": 252000, + "nevts_wt": 79159944.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/63CF2A8D-04EF-8647-89FB-1F3881D6C08F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/63CF2A8D-04EF-8647-89FB-1F3881D6C08F.root", + "nevts": 1344000, + "nevts_wt": 425826176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/64B10778-F587-8447-AF08-6A136857B9AB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/64B10778-F587-8447-AF08-6A136857B9AB.root", + "nevts": 588000, + "nevts_wt": 185835776.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/67F66776-F2F9-EC45-89F4-1074E34C5630.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/67F66776-F2F9-EC45-89F4-1074E34C5630.root", + "nevts": 756000, + "nevts_wt": 239138816.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/68439359-DFAC-F94C-AC13-1AC713AF4EBD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/68439359-DFAC-F94C-AC13-1AC713AF4EBD.root", + "nevts": 588000, + "nevts_wt": 185785856.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6C84A99B-E38B-6A4C-B35F-99AE1A87C190.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6C84A99B-E38B-6A4C-B35F-99AE1A87C190.root", + "nevts": 756000, + "nevts_wt": 239120256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6F15B967-B2E2-C14F-A2BC-A3A3797060E5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/6F15B967-B2E2-C14F-A2BC-A3A3797060E5.root", + "nevts": 790000, + "nevts_wt": 249947136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76BB4BA7-4861-C249-9D20-F43DFBB2FA91.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/76BB4BA7-4861-C249-9D20-F43DFBB2FA91.root", + "nevts": 951000, + "nevts_wt": 301032576.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/817CF0FC-826C-B64E-9CC5-907566935E6B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/817CF0FC-826C-B64E-9CC5-907566935E6B.root", + "nevts": 924000, + "nevts_wt": 292443136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/821D601C-09D8-0048-9D02-8BD2B8EC769B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/821D601C-09D8-0048-9D02-8BD2B8EC769B.root", + "nevts": 672000, + "nevts_wt": 212443136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8374C381-8AD9-484D-BD97-574A437487CC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8374C381-8AD9-484D-BD97-574A437487CC.root", + "nevts": 756000, + "nevts_wt": 239182976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/85A4B9E6-B5AB-1446-A2A0-51469EEA5A4A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/85A4B9E6-B5AB-1446-A2A0-51469EEA5A4A.root", + "nevts": 849000, + "nevts_wt": 268619136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B1ACFF3-4443-F74C-B359-BA5EE89168C4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B1ACFF3-4443-F74C-B359-BA5EE89168C4.root", + "nevts": 252000, + "nevts_wt": 79153544.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B90E460-A85E-C34D-8765-16E384EA2E31.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8B90E460-A85E-C34D-8765-16E384EA2E31.root", + "nevts": 1008000, + "nevts_wt": 319088896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C065A4F-C4F7-774E-94B1-B5E775FC9530.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C065A4F-C4F7-774E-94B1-B5E775FC9530.root", + "nevts": 40000, + "nevts_wt": 12545024.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C343E52-0552-7B4F-88E2-38D22B10EDE2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8C343E52-0552-7B4F-88E2-38D22B10EDE2.root", + "nevts": 756000, + "nevts_wt": 239110016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8CD6D2A5-5688-7F46-8572-171EA771ED2F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8CD6D2A5-5688-7F46-8572-171EA771ED2F.root", + "nevts": 724000, + "nevts_wt": 229005696.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8E50ACA8-2B2D-F143-8576-690121AF18F3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/8E50ACA8-2B2D-F143-8576-690121AF18F3.root", + "nevts": 504000, + "nevts_wt": 159140736.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9842C9AC-D24B-E247-8BA0-0862CAC6AA83.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9842C9AC-D24B-E247-8BA0-0862CAC6AA83.root", + "nevts": 773000, + "nevts_wt": 244543616.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9943E896-E094-ED48-A183-2A11AB381393.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9943E896-E094-ED48-A183-2A11AB381393.root", + "nevts": 924000, + "nevts_wt": 292385536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9ABAAF61-FBFE-A847-8C3F-6B59C77389AA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9ABAAF61-FBFE-A847-8C3F-6B59C77389AA.root", + "nevts": 133000, + "nevts_wt": 41703608.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9AD53291-4B6B-194E-B1F2-52D64C39494D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9AD53291-4B6B-194E-B1F2-52D64C39494D.root", + "nevts": 1167000, + "nevts_wt": 369661056.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9D270DC2-DAF8-C345-A0E0-5FC9C9407C1C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9D270DC2-DAF8-C345-A0E0-5FC9C9407C1C.root", + "nevts": 756000, + "nevts_wt": 239175296.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9E2061F0-1294-0D48-82E4-6705A6814809.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/9E2061F0-1294-0D48-82E4-6705A6814809.root", + "nevts": 1008000, + "nevts_wt": 319186176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABE61DDE-CF29-B144-A160-04D31D8982F0.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABE61DDE-CF29-B144-A160-04D31D8982F0.root", + "nevts": 84000, + "nevts_wt": 26352328.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABF29BE6-9985-704B-8BA3-E00C4EEBEFB4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABF29BE6-9985-704B-8BA3-E00C4EEBEFB4.root", + "nevts": 713000, + "nevts_wt": 225476096.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC7C5474-52B2-A446-BA21-13840E2C32B3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/AC7C5474-52B2-A446-BA21-13840E2C32B3.root", + "nevts": 1364000, + "nevts_wt": 432097536.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACDC10D2-DCF0-8644-8DA8-AD68B75FFFA6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACDC10D2-DCF0-8644-8DA8-AD68B75FFFA6.root", + "nevts": 1349000, + "nevts_wt": 427275776.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACE3A9D4-3678-D743-BDB3-4E2D75613E56.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ACE3A9D4-3678-D743-BDB3-4E2D75613E56.root", + "nevts": 168000, + "nevts_wt": 52668176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B2D8F154-AA6E-3D4A-915C-427567F1D346.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B2D8F154-AA6E-3D4A-915C-427567F1D346.root", + "nevts": 252000, + "nevts_wt": 79156104.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B5AEE9F1-2923-1441-B261-D0D281525E5A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B5AEE9F1-2923-1441-B261-D0D281525E5A.root", + "nevts": 489000, + "nevts_wt": 154406656.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BEBF759F-E726-7344-AB0B-C9BB26A291AF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BEBF759F-E726-7344-AB0B-C9BB26A291AF.root", + "nevts": 1260000, + "nevts_wt": 399036416.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/C5AA15FF-C43E-3144-AE26-1B39912284F8.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/C5AA15FF-C43E-3144-AE26-1B39912284F8.root", + "nevts": 672000, + "nevts_wt": 212480256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CA36AB31-D911-DC49-A88B-2342A3F9F0F2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CA36AB31-D911-DC49-A88B-2342A3F9F0F2.root", + "nevts": 716000, + "nevts_wt": 226426496.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC334FF4-111A-F947-81DC-DA572FE7E715.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC334FF4-111A-F947-81DC-DA572FE7E715.root", + "nevts": 672000, + "nevts_wt": 212491776.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC637CAA-E4F1-624D-BF62-84CE39E73654.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CC637CAA-E4F1-624D-BF62-84CE39E73654.root", + "nevts": 1175000, + "nevts_wt": 372099456.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CCC8F80C-B425-DB43-844A-B3F03A8C0D14.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CCC8F80C-B425-DB43-844A-B3F03A8C0D14.root", + "nevts": 1008000, + "nevts_wt": 319200256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CF69F82D-9E58-7B41-A439-D67FBCA0E0F2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/CF69F82D-9E58-7B41-A439-D67FBCA0E0F2.root", + "nevts": 840000, + "nevts_wt": 265790336.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DCC379E8-71B6-A245-9953-27080D11CC28.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DCC379E8-71B6-A245-9953-27080D11CC28.root", + "nevts": 1393000, + "nevts_wt": 441264256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E3D1A817-7BD3-ED45-AAEA-171AE4849290.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E3D1A817-7BD3-ED45-AAEA-171AE4849290.root", + "nevts": 342000, + "nevts_wt": 107730184.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E864B751-5D07-6D49-B79E-2F7846DE9806.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/E864B751-5D07-6D49-B79E-2F7846DE9806.root", + "nevts": 1344000, + "nevts_wt": 425718016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EA7115C4-A6F0-654F-8316-C958CA13DAD6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EA7115C4-A6F0-654F-8316-C958CA13DAD6.root", + "nevts": 336000, + "nevts_wt": 105798664.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EC3BB9BA-F40A-6942-A232-D8B853D5FDED.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/EC3BB9BA-F40A-6942-A232-D8B853D5FDED.root", + "nevts": 1344000, + "nevts_wt": 425679616.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ECB2EEA9-5D6F-D147-B37F-B8F864D559E8.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ECB2EEA9-5D6F-D147-B37F-B8F864D559E8.root", + "nevts": 42000, + "nevts_wt": 13169440.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F06BCBAA-D4FF-DF49-9D52-205F3D7C86EA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F06BCBAA-D4FF-DF49-9D52-205F3D7C86EA.root", + "nevts": 1073000, + "nevts_wt": 339723136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F2C8405A-BD38-5F4D-996A-3B43950AB97B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F2C8405A-BD38-5F4D-996A-3B43950AB97B.root", + "nevts": 924000, + "nevts_wt": 292444416.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F54E4296-29A2-9640-A14A-F4463421F901.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F54E4296-29A2-9640-A14A-F4463421F901.root", + "nevts": 741000, + "nevts_wt": 234414976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F9BB4B3B-B9B7-094F-95E9-4637BBBFD9A9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F9BB4B3B-B9B7-094F-95E9-4637BBBFD9A9.root", + "nevts": 756000, + "nevts_wt": 239038336.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FD01C543-642B-6F4B-BB4C-FFB19E42CCD5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FD01C543-642B-6F4B-BB4C-FFB19E42CCD5.root", + "nevts": 811000, + "nevts_wt": 256626176.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FDC61D8C-2F25-BC47-BEFF-C40BF66788C9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FDC61D8C-2F25-BC47-BEFF-C40BF66788C9.root", + "nevts": 252000, + "nevts_wt": 79170824.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FEE61FF5-A9E8-E64F-8044-12A08F08F56B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTToHadronic_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FEE61FF5-A9E8-E64F-8044-12A08F08F56B.root", + "nevts": 743000, + "nevts_wt": 234999296.0 } ], - "nevts_total": 0, - "nevts_wt_total": 0.0 + "nevts_total": 107067000, + "nevts_wt_total": 33873595620.28125 } }, "ttbar_lep": { "nominal": { "files": [ { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6293BAC8-2AB6-4A4A-BFEA-83E328B9C44F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6293BAC8-2AB6-4A4A-BFEA-83E328B9C44F.root", + "nevts": 507000, + "nevts_wt": 36399640.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/826395F0-39C8-BF45-AA23-8C58A6C632B2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/826395F0-39C8-BF45-AA23-8C58A6C632B2.root", + "nevts": 805000, + "nevts_wt": 57678520.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F54BE4B6-A086-B24D-B11A-AF07FF7703DE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F54BE4B6-A086-B24D-B11A-AF07FF7703DE.root", + "nevts": 5000, + "nevts_wt": 359412.5625 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/065AC2C6-0B33-9546-90F2-5819A044F0CE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/065AC2C6-0B33-9546-90F2-5819A044F0CE.root", + "nevts": 1246000, + "nevts_wt": 89157064.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A9F756F-C380-B448-9C69-6454B5A75CB6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A9F756F-C380-B448-9C69-6454B5A75CB6.root", + "nevts": 78000, + "nevts_wt": 5622015.5 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9F50F913-6EC7-8242-A2BD-4FC37A03EAC9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/9F50F913-6EC7-8242-A2BD-4FC37A03EAC9.root", + "nevts": 836000, + "nevts_wt": 59900296.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/A88779C1-45D8-5344-948D-316E98B248C7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/A88779C1-45D8-5344-948D-316E98B248C7.root", + "nevts": 165000, + "nevts_wt": 11903420.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/D31DE67D-37F2-3C4C-B4F3-476D1918B317.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/D31DE67D-37F2-3C4C-B4F3-476D1918B317.root", + "nevts": 1384000, + "nevts_wt": 99029416.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F31E8599-8744-664B-A935-833FDB1979CB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/F31E8599-8744-664B-A935-833FDB1979CB.root", + "nevts": 404000, + "nevts_wt": 29035048.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/23B6A249-0CDD-BC4A-A2B8-ED3C9E1F8860.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/23B6A249-0CDD-BC4A-A2B8-ED3C9E1F8860.root", + "nevts": 516000, + "nevts_wt": 37039720.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/97D424A1-D75F-5044-AB30-407BC129A045.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/97D424A1-D75F-5044-AB30-407BC129A045.root", + "nevts": 1102000, + "nevts_wt": 78895192.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/089E6E3A-DFD1-7148-BD6F-F611D22A1B62.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/089E6E3A-DFD1-7148-BD6F-F611D22A1B62.root", + "nevts": 136000, + "nevts_wt": 9804086.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/13BF43D6-5798-9D4C-9E4A-B148CC97DD4A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/13BF43D6-5798-9D4C-9E4A-B148CC97DD4A.root", + "nevts": 1260000, + "nevts_wt": 90184936.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/3CFB3ECE-3C55-FA4C-BCCA-3A0E566710AC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/3CFB3ECE-3C55-FA4C-BCCA-3A0E566710AC.root", + "nevts": 874000, + "nevts_wt": 62593672.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4295A038-1506-FF44-A8EA-D0F727B626FC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4295A038-1506-FF44-A8EA-D0F727B626FC.root", + "nevts": 1400000, + "nevts_wt": 100178824.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4A9AFE65-CC58-044A-AFBB-F4CAEA0A7FCD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/4A9AFE65-CC58-044A-AFBB-F4CAEA0A7FCD.root", + "nevts": 1428000, + "nevts_wt": 102180136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6367234F-E189-FC40-A9A5-0FEA038107C7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6367234F-E189-FC40-A9A5-0FEA038107C7.root", + "nevts": 718000, + "nevts_wt": 51473848.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6C4A49EE-D257-7640-9A3A-BAE5D55100F1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/6C4A49EE-D257-7640-9A3A-BAE5D55100F1.root", + "nevts": 924000, + "nevts_wt": 66180712.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/A244D71A-A8D7-C54E-B1E2-8584416AAD48.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/A244D71A-A8D7-C54E-B1E2-8584416AAD48.root", + "nevts": 84000, + "nevts_wt": 6054550.5 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6C8F4D5-7970-754C-944B-700A5A1C6402.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/D6C8F4D5-7970-754C-944B-700A5A1C6402.root", + "nevts": 1008000, + "nevts_wt": 72164056.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/E765BB65-0604-D14D-B034-468CF1320428.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/E765BB65-0604-D14D-B034-468CF1320428.root", + "nevts": 50000, + "nevts_wt": 3608417.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FECF540F-823A-104E-B881-C1191CE580E0.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/120000/FECF540F-823A-104E-B881-C1191CE580E0.root", + "nevts": 1124000, + "nevts_wt": 80466376.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/036C0AAB-FD0F-8647-93A9-575666C7003F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/036C0AAB-FD0F-8647-93A9-575666C7003F.root", + "nevts": 1301000, + "nevts_wt": 93088984.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/066D5CE0-7058-964A-B946-49F2B6EB9F92.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/066D5CE0-7058-964A-B946-49F2B6EB9F92.root", + "nevts": 49000, + "nevts_wt": 3533775.5 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1492C5EE-560B-834F-AF4A-4F56C79B9FD6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1492C5EE-560B-834F-AF4A-4F56C79B9FD6.root", + "nevts": 1008000, + "nevts_wt": 72183208.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14931807-0754-7C4B-B0BE-85485CE0C151.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/14931807-0754-7C4B-B0BE-85485CE0C151.root", + "nevts": 1421000, + "nevts_wt": 101676712.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1873AC0B-CE31-D04B-ACB9-1D818DE62D46.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/1873AC0B-CE31-D04B-ACB9-1D818DE62D46.root", + "nevts": 84000, + "nevts_wt": 6052375.5 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/37C0752E-AA82-EB44-A843-794E2572E075.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/37C0752E-AA82-EB44-A843-794E2572E075.root", + "nevts": 881000, + "nevts_wt": 63104440.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/393B5808-B947-424E-B29A-29DAFE9BF3D2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/393B5808-B947-424E-B29A-29DAFE9BF3D2.root", + "nevts": 77000, + "nevts_wt": 5550820.5 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/444A624B-E220-054A-B294-F5FEEF152C52.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/444A624B-E220-054A-B294-F5FEEF152C52.root", + "nevts": 960000, + "nevts_wt": 68725336.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/46BDA348-B525-9949-BCBE-7393372267A8.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/46BDA348-B525-9949-BCBE-7393372267A8.root", + "nevts": 996000, + "nevts_wt": 71313448.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/47F342FD-418A-584F-AF47-EFEFB9A464F9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/47F342FD-418A-584F-AF47-EFEFB9A464F9.root", + "nevts": 84000, + "nevts_wt": 6049620.5 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4D1377CF-8912-D348-9743-6F596A6A7E67.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/4D1377CF-8912-D348-9743-6F596A6A7E67.root", + "nevts": 1428000, + "nevts_wt": 102175096.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5191A307-7ECC-7F4D-9F0B-5333F5C7D0B7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5191A307-7ECC-7F4D-9F0B-5333F5C7D0B7.root", + "nevts": 1369000, + "nevts_wt": 97963240.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52883E35-521E-B843-900E-DD006D7C3CF5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/52883E35-521E-B843-900E-DD006D7C3CF5.root", + "nevts": 1428000, + "nevts_wt": 102174088.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D83F3F8-FFC6-4D4E-9BAC-6A07FD851707.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5D83F3F8-FFC6-4D4E-9BAC-6A07FD851707.root", + "nevts": 1428000, + "nevts_wt": 102170200.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E81DEB8-5963-B348-BB58-56EC3A3C200C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/5E81DEB8-5963-B348-BB58-56EC3A3C200C.root", + "nevts": 1003000, + "nevts_wt": 71810104.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/746B14CA-7AA5-9F4A-A84A-36AD4B0C961A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/746B14CA-7AA5-9F4A-A84A-36AD4B0C961A.root", + "nevts": 1410000, + "nevts_wt": 100875208.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A7AE9140-B4B1-E848-BC3C-28C786CB2F4B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/A7AE9140-B4B1-E848-BC3C-28C786CB2F4B.root", + "nevts": 823000, + "nevts_wt": 58964584.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABFC2BAC-2988-0640-9930-1F4BD8137765.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/ABFC2BAC-2988-0640-9930-1F4BD8137765.root", + "nevts": 1292000, + "nevts_wt": 92456680.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B3776CF6-361C-BF4B-B982-BC1CD4BF54B2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/B3776CF6-361C-BF4B-B982-BC1CD4BF54B2.root", + "nevts": 1421000, + "nevts_wt": 101674264.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BB9887B9-2A62-9A4A-8938-03E31218B663.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BB9887B9-2A62-9A4A-8938-03E31218B663.root", + "nevts": 1427000, + "nevts_wt": 102093448.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BF24693A-0A47-6E4F-A0AF-326C25DB68F5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/BF24693A-0A47-6E4F-A0AF-326C25DB68F5.root", + "nevts": 1043000, + "nevts_wt": 74667784.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DC988225-544C-3043-B704-F1CC440ACDC5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DC988225-544C-3043-B704-F1CC440ACDC5.root", + "nevts": 737000, + "nevts_wt": 52821976.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DE3F5F10-2A25-1349-9326-36672AFC3EC9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/DE3F5F10-2A25-1349-9326-36672AFC3EC9.root", + "nevts": 1176000, + "nevts_wt": 84189496.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F1D80973-1256-8542-B865-AF1A955D7D14.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F1D80973-1256-8542-B865-AF1A955D7D14.root", + "nevts": 1092000, + "nevts_wt": 78177064.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F6B9283D-DBF5-9748-B2BE-58529AED2689.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/F6B9283D-DBF5-9748-B2BE-58529AED2689.root", + "nevts": 766000, + "nevts_wt": 54889240.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FC321F89-810B-0345-81AF-5A4A47CC905B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FC321F89-810B-0345-81AF-5A4A47CC905B.root", + "nevts": 1360000, + "nevts_wt": 97319848.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FE1609BC-9F31-8F4D-9A23-B94E8B0E4299.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/TTTo2L2Nu_TuneCP5_13TeV-powheg-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/130000/FE1609BC-9F31-8F4D-9A23-B94E8B0E4299.root", + "nevts": 1428000, + "nevts_wt": 102172648.0 } ], - "nevts_total": 0, - "nevts_wt_total": 0.0 + "nevts_total": 43546000, + "nevts_wt_total": 3117783045.5625 } }, "wjets": { "nominal": { "files": [ { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/06169F6B-C5AE-1646-87E4-F6613C6046C7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/06169F6B-C5AE-1646-87E4-F6613C6046C7.root", + "nevts": 2276917, + "nevts_wt": 267551653888.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/08EE3CEE-32E4-7E41-8983-1125F195CFCB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/08EE3CEE-32E4-7E41-8983-1125F195CFCB.root", + "nevts": 1404848, + "nevts_wt": 167786201088.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0B81B07D-9A8E-1348-B71A-DEFDFFDDB3AC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0B81B07D-9A8E-1348-B71A-DEFDFFDDB3AC.root", + "nevts": 1690331, + "nevts_wt": 200434089984.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0EAC49F4-51D2-6D40-A97B-92C96B7F9314.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/0EAC49F4-51D2-6D40-A97B-92C96B7F9314.root", + "nevts": 2094932, + "nevts_wt": 246436904960.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/19E1C061-FACB-024C-AA44-7D354460A347.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/19E1C061-FACB-024C-AA44-7D354460A347.root", + "nevts": 1823201, + "nevts_wt": 215550050304.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1A803448-3698-7342-B5B1-3D6EBEA507B4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1A803448-3698-7342-B5B1-3D6EBEA507B4.root", + "nevts": 84335, + "nevts_wt": 10043492352.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1BDCCE1A-A3E5-4E41-A87A-EF68081CAE83.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1BDCCE1A-A3E5-4E41-A87A-EF68081CAE83.root", + "nevts": 918553, + "nevts_wt": 111148507136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1D6CCDC2-7E01-454B-BC5E-5DD3C155CE69.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/1D6CCDC2-7E01-454B-BC5E-5DD3C155CE69.root", + "nevts": 1907037, + "nevts_wt": 225462714368.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/23C3A31A-7CAA-4E4C-92F4-4E5D9B9316E5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/23C3A31A-7CAA-4E4C-92F4-4E5D9B9316E5.root", + "nevts": 1403451, + "nevts_wt": 167889944576.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C1F1265-412F-774F-9216-64AC5453361E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2C1F1265-412F-774F-9216-64AC5453361E.root", + "nevts": 1349174, + "nevts_wt": 161054556160.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2F9BCBC2-744F-1F49-AD4B-C504AE821DA5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/2F9BCBC2-744F-1F49-AD4B-C504AE821DA5.root", + "nevts": 1508198, + "nevts_wt": 179821772800.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/317205B3-5246-554F-98AD-A575E9450533.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/317205B3-5246-554F-98AD-A575E9450533.root", + "nevts": 1600408, + "nevts_wt": 190430953472.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/394628E2-FEAE-B344-978D-D69034C76A5A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/394628E2-FEAE-B344-978D-D69034C76A5A.root", + "nevts": 1331378, + "nevts_wt": 159866208256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3A741E0E-FAB0-C94A-B652-35D5688C6CC3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3A741E0E-FAB0-C94A-B652-35D5688C6CC3.root", + "nevts": 1927128, + "nevts_wt": 227442147328.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3EA29022-5B36-A54F-BAF1-B5CCAAE63906.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/3EA29022-5B36-A54F-BAF1-B5CCAAE63906.root", + "nevts": 1260416, + "nevts_wt": 151595663360.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/41316725-F9D7-3C48-8C48-AA3BC4741878.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/41316725-F9D7-3C48-8C48-AA3BC4741878.root", + "nevts": 1180651, + "nevts_wt": 142929903616.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/427C2439-1B97-5D41-9A6F-EA921E59BA86.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/427C2439-1B97-5D41-9A6F-EA921E59BA86.root", + "nevts": 1856034, + "nevts_wt": 219447787520.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4E65F336-CF86-2948-A306-FC566BEF6085.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/4E65F336-CF86-2948-A306-FC566BEF6085.root", + "nevts": 1301333, + "nevts_wt": 155960999936.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5E2B52A3-7E09-3144-85E7-6ED3E6D2E97B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/5E2B52A3-7E09-3144-85E7-6ED3E6D2E97B.root", + "nevts": 2275670, + "nevts_wt": 266450681856.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62C6D2EA-B61A-FB45-AAB4-4C051C86D7DD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62C6D2EA-B61A-FB45-AAB4-4C051C86D7DD.root", + "nevts": 1674979, + "nevts_wt": 198397952000.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62E6F87E-E9FE-504C-A571-BF1E46849B81.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/62E6F87E-E9FE-504C-A571-BF1E46849B81.root", + "nevts": 1326082, + "nevts_wt": 159240519680.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6392ADA8-07B2-EB47-9AC3-A6720587D4F0.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/6392ADA8-07B2-EB47-9AC3-A6720587D4F0.root", + "nevts": 2274454, + "nevts_wt": 266107404288.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/71CBA5AA-9925-1A43-AFDA-98B26632B95D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/71CBA5AA-9925-1A43-AFDA-98B26632B95D.root", + "nevts": 2273792, + "nevts_wt": 266913333248.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/78F6AF7A-B527-8E4D-9A77-63E46F203B5F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/78F6AF7A-B527-8E4D-9A77-63E46F203B5F.root", + "nevts": 1420947, + "nevts_wt": 169352675328.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7CD36DB0-0103-2A42-BB7E-AD6F0404B023.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7CD36DB0-0103-2A42-BB7E-AD6F0404B023.root", + "nevts": 168902, + "nevts_wt": 20228567040.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7ED2DCDC-28A3-B846-936A-9FBD52F6CCD3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/7ED2DCDC-28A3-B846-936A-9FBD52F6CCD3.root", + "nevts": 2276714, + "nevts_wt": 266683465728.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/80640BFB-6356-E548-95D7-33B727585FB1.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/80640BFB-6356-E548-95D7-33B727585FB1.root", + "nevts": 1048136, + "nevts_wt": 126494998528.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/855F1221-497A-3C4E-BD97-B6932A656F20.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/855F1221-497A-3C4E-BD97-B6932A656F20.root", + "nevts": 1250317, + "nevts_wt": 150354509824.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/861D7285-FD5B-BB4E-9E55-3BEA934800AF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/861D7285-FD5B-BB4E-9E55-3BEA934800AF.root", + "nevts": 2275273, + "nevts_wt": 267034116096.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98821798-56F4-1B46-AEF8-B79503CDAFCF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/98821798-56F4-1B46-AEF8-B79503CDAFCF.root", + "nevts": 2022981, + "nevts_wt": 238163689472.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9AF4A3C4-54B3-424D-A85A-9B64ED0C946F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9AF4A3C4-54B3-424D-A85A-9B64ED0C946F.root", + "nevts": 869150, + "nevts_wt": 105005678592.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9D99457C-2877-044E-95E6-19E75D4DE6CB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/9D99457C-2877-044E-95E6-19E75D4DE6CB.root", + "nevts": 971705, + "nevts_wt": 117618655232.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A058BCC8-A596-904C-8103-95050F3EEE30.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A058BCC8-A596-904C-8103-95050F3EEE30.root", + "nevts": 1424608, + "nevts_wt": 170429825024.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A0FEBEF2-A03D-3B47-92DB-BB7F73CEC8FC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A0FEBEF2-A03D-3B47-92DB-BB7F73CEC8FC.root", + "nevts": 674262, + "nevts_wt": 81193967616.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A37CAFA8-A439-BC43-85AD-AA4C8EDA2CE2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A37CAFA8-A439-BC43-85AD-AA4C8EDA2CE2.root", + "nevts": 1769659, + "nevts_wt": 209814585344.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A98EE025-E4E9-A749-AE54-D55F9A134C7B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/A98EE025-E4E9-A749-AE54-D55F9A134C7B.root", + "nevts": 15421, + "nevts_wt": 1857640064.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B20A4451-1E66-C743-A8D2-D9A7ED861791.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B20A4451-1E66-C743-A8D2-D9A7ED861791.root", + "nevts": 18897, + "nevts_wt": 2275365376.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B5CE5AC4-49A0-9A40-8328-9B0844E0960F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B5CE5AC4-49A0-9A40-8328-9B0844E0960F.root", + "nevts": 33404, + "nevts_wt": 4027807744.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B6C226A2-35AA-2A4D-8911-3A1FAB336DD9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B6C226A2-35AA-2A4D-8911-3A1FAB336DD9.root", + "nevts": 180060, + "nevts_wt": 21424646144.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B73BE8B0-3240-A44B-9731-EFAD156B9668.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B73BE8B0-3240-A44B-9731-EFAD156B9668.root", + "nevts": 253499, + "nevts_wt": 30434768896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B771B076-AECE-AF42-B780-2C3192BC4DE5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/B771B076-AECE-AF42-B780-2C3192BC4DE5.root", + "nevts": 440993, + "nevts_wt": 53059035136.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BB2D42DC-ECA1-6B46-8A74-F597A314E051.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BB2D42DC-ECA1-6B46-8A74-F597A314E051.root", + "nevts": 2274855, + "nevts_wt": 266395369472.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BE97AC18-0F73-C645-8AA2-66793B308D1B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BE97AC18-0F73-C645-8AA2-66793B308D1B.root", + "nevts": 1750469, + "nevts_wt": 206784905216.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BEDECBF7-AB16-314C-8811-AB5D27231DB6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BEDECBF7-AB16-314C-8811-AB5D27231DB6.root", + "nevts": 1989497, + "nevts_wt": 234574413824.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BF4971FC-B933-A449-BFF1-5F8007D51EEF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/BF4971FC-B933-A449-BFF1-5F8007D51EEF.root", + "nevts": 2273476, + "nevts_wt": 267194875904.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C10A9933-1E22-5D40-B968-89520B795DFB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C10A9933-1E22-5D40-B968-89520B795DFB.root", + "nevts": 2067219, + "nevts_wt": 243834634240.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C59AF067-3B3E-D94B-84BA-987748C30221.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/C59AF067-3B3E-D94B-84BA-987748C30221.root", + "nevts": 362206, + "nevts_wt": 43620511744.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DDCB723A-3704-5345-AAD3-EF2479209ABE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/DDCB723A-3704-5345-AAD3-EF2479209ABE.root", + "nevts": 1770994, + "nevts_wt": 208874815488.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E1690230-A2B7-014B-944F-94109B6AED08.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/E1690230-A2B7-014B-944F-94109B6AED08.root", + "nevts": 72963, + "nevts_wt": 8661100544.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EA7F0AF0-D312-174A-B43A-2ECB60C0055F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/EA7F0AF0-D312-174A-B43A-2ECB60C0055F.root", + "nevts": 2254337, + "nevts_wt": 264847884288.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F040E4B7-FCB0-634E-87BF-CE9894216671.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F040E4B7-FCB0-634E-87BF-CE9894216671.root", + "nevts": 879380, + "nevts_wt": 105944793088.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F0547BE9-147E-E64A-BC58-C715936EA122.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F0547BE9-147E-E64A-BC58-C715936EA122.root", + "nevts": 1433676, + "nevts_wt": 171154784256.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F5E2630A-AFE2-4046-8793-066DFBC27ABB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/280000/F5E2630A-AFE2-4046-8793-066DFBC27ABB.root", + "nevts": 338020, + "nevts_wt": 40307527680.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A6F1D10-B812-4744-91CB-6FA15428CD53.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/70000/1A6F1D10-B812-4744-91CB-6FA15428CD53.root", + "nevts": 8799, + "nevts_wt": 1057865344.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/00702195-E707-3743-8BBA-57EB9DEE1DBA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/00702195-E707-3743-8BBA-57EB9DEE1DBA.root", + "nevts": 133692, + "nevts_wt": 16113080320.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0A1A30A2-740B-2A48-8D3B-A458026E93EA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0A1A30A2-740B-2A48-8D3B-A458026E93EA.root", + "nevts": 2006990, + "nevts_wt": 236653150208.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0E14DFA9-602F-2643-AF9C-63FFDF2D1EBD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/0E14DFA9-602F-2643-AF9C-63FFDF2D1EBD.root", + "nevts": 41102, + "nevts_wt": 4952208896.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1F96440D-3010-734C-AB94-E0D52DEB0730.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/1F96440D-3010-734C-AB94-E0D52DEB0730.root", + "nevts": 1180330, + "nevts_wt": 142444969984.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/4DCA23FD-AE9A-2349-BAB3-B8352E69F655.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/4DCA23FD-AE9A-2349-BAB3-B8352E69F655.root", + "nevts": 221022, + "nevts_wt": 26507409408.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/6C9F0C91-57D8-B042-B62A-54492FC66E09.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/6C9F0C91-57D8-B042-B62A-54492FC66E09.root", + "nevts": 95560, + "nevts_wt": 11397980160.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD453A1C-8185-974F-BFA4-8BD9C8D61056.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD453A1C-8185-974F-BFA4-8BD9C8D61056.root", + "nevts": 45731, + "nevts_wt": 5511633408.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD7B7E81-0901-3346-89EB-6B808E2D8B56.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/AD7B7E81-0901-3346-89EB-6B808E2D8B56.root", + "nevts": 1176923, + "nevts_wt": 141935509504.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B2164B61-60B0-9E4D-B2A2-A02C2AF23CBE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/B2164B61-60B0-9E4D-B2A2-A02C2AF23CBE.root", + "nevts": 506847, + "nevts_wt": 60541714432.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CC80A34F-10EC-9B43-A56B-3DEE96459E7F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/CC80A34F-10EC-9B43-A56B-3DEE96459E7F.root", + "nevts": 1265511, + "nevts_wt": 151379542016.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/DDCE98B4-9142-D041-A3BF-1F81DECC09D2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/DDCE98B4-9142-D041-A3BF-1F81DECC09D2.root", + "nevts": 1349469, + "nevts_wt": 161704755200.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/ED909592-EDA1-7D48-9749-89E23280C916.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/ED909592-EDA1-7D48-9749-89E23280C916.root", + "nevts": 8948, + "nevts_wt": 1076437888.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F33E5121-B08C-D545-86E7-6A095E901009.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/F33E5121-B08C-D545-86E7-6A095E901009.root", + "nevts": 1316549, + "nevts_wt": 157953736704.0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/FC39C110-31A7-7940-87DB-FDF07CF2EF47.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/mc/RunIISummer20UL16NanoAODv9/WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8/NANOAODSIM/106X_mcRun2_asymptotic_v17-v1/270000/FC39C110-31A7-7940-87DB-FDF07CF2EF47.root", + "nevts": 275432, + "nevts_wt": 33090422784.0 } ], - "nevts_total": 0, - "nevts_wt_total": 0.0 + "nevts_total": 80958227, + "nevts_wt_total": 9607933471360.0 } }, "data": { "nominal": { "files": [ { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0A4230E2-0C75-604D-890F-A4CE5E5C164E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0A4230E2-0C75-604D-890F-A4CE5E5C164E.root", + "nevts": 2939781, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A3279183-BDA6-F44C-8EF3-C063BC598B68.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A3279183-BDA6-F44C-8EF3-C063BC598B68.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C760C7A6-E4AB-E447-93BB-1EAD0177DB41.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C760C7A6-E4AB-E447-93BB-1EAD0177DB41.root", + "nevts": 3269596, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F9ECEECC-1226-DC4C-BD06-0C218B250D60.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F9ECEECC-1226-DC4C-BD06-0C218B250D60.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/143F9660-3FE1-3E4E-A58D-FD56967BA9B8.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/143F9660-3FE1-3E4E-A58D-FD56967BA9B8.root", + "nevts": 3248538, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/ABAF299E-EAF9-5043-B89B-1D13A9475BBC.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/ABAF299E-EAF9-5043-B89B-1D13A9475BBC.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2392663-56C1-5849-A224-28CD5251166A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2392663-56C1-5849-A224-28CD5251166A.root", + "nevts": 1100480, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FD262A89-0289-F941-9494-5FD7556833B4.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FD262A89-0289-F941-9494-5FD7556833B4.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D280BA6-2EBB-A544-91EB-E821F3CF0B06.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D280BA6-2EBB-A544-91EB-E821F3CF0B06.root", + "nevts": 1090938, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/B7EEE475-047D-CA4D-B680-617FE16540AC.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/B7EEE475-047D-CA4D-B680-617FE16540AC.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2C497A2-F632-AC4B-8655-1ACA9F2A43DE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2C497A2-F632-AC4B-8655-1ACA9F2A43DE.root", + "nevts": 2915206, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5E060727-1BCF-1F40-BBD8-D6841127F7BA.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5E060727-1BCF-1F40-BBD8-D6841127F7BA.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BC07CDBA-E54A-AD4A-BC24-960043783955.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BC07CDBA-E54A-AD4A-BC24-960043783955.root", + "nevts": 2722748, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EA9DD56A-11DE-AE48-8E43-07852D3E3694.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EA9DD56A-11DE-AE48-8E43-07852D3E3694.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A1DF7082-FF8C-114D-BA6C-FC0EDFDF61B2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/A1DF7082-FF8C-114D-BA6C-FC0EDFDF61B2.root", + "nevts": 2187222, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C144B7AE-E8C0-9D40-BECF-D027FA604946.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/C144B7AE-E8C0-9D40-BECF-D027FA604946.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F361D15A-F30D-4D45-8874-446B7450D4BF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F361D15A-F30D-4D45-8874-446B7450D4BF.root", + "nevts": 1483434, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/40EA32B0-1284-7246-83A3-A703D908F9FC.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/40EA32B0-1284-7246-83A3-A703D908F9FC.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/579013D1-626D-D943-A8B0-A1A558C54F33.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/579013D1-626D-D943-A8B0-A1A558C54F33.root", + "nevts": 1501125, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/6351C999-8EF7-6345-822D-E2EF1C203603.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/6351C999-8EF7-6345-822D-E2EF1C203603.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/977A32B2-1672-0646-8029-C12B37014B64.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/977A32B2-1672-0646-8029-C12B37014B64.root", + "nevts": 2186320, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/C653EBCD-C75E-8441-BB1D-12A90F76D597.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/C653EBCD-C75E-8441-BB1D-12A90F76D597.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D548310D-36A5-DE46-97C5-15933EAF7DC9.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D548310D-36A5-DE46-97C5-15933EAF7DC9.root", + "nevts": 2596848, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D87A4CC6-6CF7-6943-838E-475A7533EAA9.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/D87A4CC6-6CF7-6943-838E-475A7533EAA9.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/F302A865-17B0-064B-8154-41526BB38244.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/280000/F302A865-17B0-064B-8154-41526BB38244.root", + "nevts": 3165155, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/01479010-3B51-B04A-9C5C-7800085D11B8.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/01479010-3B51-B04A-9C5C-7800085D11B8.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/02C01469-552A-7E45-9894-6406F0030DB3.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/02C01469-552A-7E45-9894-6406F0030DB3.root", + "nevts": 2741466, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23953892-6295-B341-9D0B-6892EBDD67FC.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23953892-6295-B341-9D0B-6892EBDD67FC.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/28415B3F-DFB1-5542-9217-7D134447AC48.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/28415B3F-DFB1-5542-9217-7D134447AC48.root", + "nevts": 2141735, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/2AF26192-4B3A-324D-B14C-CFFFB1F69F4C.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/2AF26192-4B3A-324D-B14C-CFFFB1F69F4C.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/31BF084F-D414-1542-B61D-0F58520A17E8.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/31BF084F-D414-1542-B61D-0F58520A17E8.root", + "nevts": 3297029, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/388AB3E1-8708-7D42-91BA-83E52373E808.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/388AB3E1-8708-7D42-91BA-83E52373E808.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3BCDC9CF-57F5-104F-8C20-2BA300439111.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3BCDC9CF-57F5-104F-8C20-2BA300439111.root", + "nevts": 3288666, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3E76909B-34D1-DE46-8355-51C2ADD587D5.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3E76909B-34D1-DE46-8355-51C2ADD587D5.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4AD09F91-D53E-E345-817A-BBC670875478.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4AD09F91-D53E-E345-817A-BBC670875478.root", + "nevts": 1648169, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4B985344-7CD7-6142-BCB6-B95E47279B9A.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/4B985344-7CD7-6142-BCB6-B95E47279B9A.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/594F3D70-ED17-3D42-A322-269D0A074F9A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/594F3D70-ED17-3D42-A322-269D0A074F9A.root", + "nevts": 1925213, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/626C68F8-9DBD-194B-993E-8672B8E73BAE.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/626C68F8-9DBD-194B-993E-8672B8E73BAE.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6322429F-B620-854D-B4AC-6892359CAB2C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6322429F-B620-854D-B4AC-6892359CAB2C.root", + "nevts": 2307023, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6C8BBA90-79DC-CA45-9E0F-4AB683E91D8F.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6C8BBA90-79DC-CA45-9E0F-4AB683E91D8F.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7BA44B30-9EBA-6E4A-8DD6-2A239BDDBA50.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7BA44B30-9EBA-6E4A-8DD6-2A239BDDBA50.root", + "nevts": 1971689, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/84E83B69-73A2-BF4C-A59C-C3C10F71C76E.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/84E83B69-73A2-BF4C-A59C-C3C10F71C76E.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/874B6634-10CD-4541-97E6-7A97BA44F4C6.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/874B6634-10CD-4541-97E6-7A97BA44F4C6.root", + "nevts": 1089353, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8E33310F-1983-EE41-A97A-7D6853AF1BAD.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8E33310F-1983-EE41-A97A-7D6853AF1BAD.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8F897B77-7EDA-B54B-812C-2185345CE97F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8F897B77-7EDA-B54B-812C-2185345CE97F.root", + "nevts": 2071064, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9C99B9F7-7F24-FE4A-A28D-E31D70DBDF66.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9C99B9F7-7F24-FE4A-A28D-E31D70DBDF66.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A5B416ED-2D1C-4846-92FF-CA7E5C6DBA61.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A5B416ED-2D1C-4846-92FF-CA7E5C6DBA61.root", + "nevts": 1765176, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B0CFD000-E84C-344D-BED7-8AB35F3DBA36.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B0CFD000-E84C-344D-BED7-8AB35F3DBA36.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B4E0C1C3-E86E-3F4B-9B1A-D17E3ADB0908.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B4E0C1C3-E86E-3F4B-9B1A-D17E3ADB0908.root", + "nevts": 300967, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C250DA77-36D8-2440-8F71-4A913F18EA6C.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C250DA77-36D8-2440-8F71-4A913F18EA6C.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C2A7D179-B263-704C-A8EB-B75F4D82F7B5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C2A7D179-B263-704C-A8EB-B75F4D82F7B5.root", + "nevts": 887639, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C8653579-E6F0-5D44-ACEA-154A482DF4AD.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C8653579-E6F0-5D44-ACEA-154A482DF4AD.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CD1172F5-A00E-0041-9A9C-5E1862026357.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CD1172F5-A00E-0041-9A9C-5E1862026357.root", + "nevts": 34372, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E037AB14-FEA9-4D40-AA30-9ADF56BD6270.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E037AB14-FEA9-4D40-AA30-9ADF56BD6270.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F250A551-A8DC-BC47-895C-3BE19459F5DC.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F250A551-A8DC-BC47-895C-3BE19459F5DC.root", + "nevts": 2753751, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F773638E-CE20-944A-A120-755C3E071B2F.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F773638E-CE20-944A-A120-755C3E071B2F.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/FBD685D1-F6C9-8946-BA61-14F8DB0B1B82.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/FBD685D1-F6C9-8946-BA61-14F8DB0B1B82.root", + "nevts": 1728490, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/1210000/576759DA-4A35-534B-B926-2A9E4A5A7268.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/1210000/576759DA-4A35-534B-B926-2A9E4A5A7268.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/044B8A93-571B-0F46-BBC4-FFEDD253984D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/044B8A93-571B-0F46-BBC4-FFEDD253984D.root", + "nevts": 2271351, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/070EC05A-1BD0-B940-A8D2-AD6650144A72.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/070EC05A-1BD0-B940-A8D2-AD6650144A72.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/08BEF135-37C0-F145-88E9-63F7A10D3BC7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/08BEF135-37C0-F145-88E9-63F7A10D3BC7.root", + "nevts": 1567009, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/0FE0804D-33EA-7C41-A968-132B08494EA6.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/0FE0804D-33EA-7C41-A968-132B08494EA6.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/10573E58-8061-F349-B708-275CD2609AF7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/10573E58-8061-F349-B708-275CD2609AF7.root", + "nevts": 1657975, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/16CB6056-D4D5-2046-9D30-82D8985F831F.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/16CB6056-D4D5-2046-9D30-82D8985F831F.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1BE80946-8275-7A46-842F-6DBDB9193FAD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1BE80946-8275-7A46-842F-6DBDB9193FAD.root", + "nevts": 1356171, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1D772C99-43DE-2749-9EFF-0A5DFFC5EFD8.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1D772C99-43DE-2749-9EFF-0A5DFFC5EFD8.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1E594251-5C49-3649-9413-14663553AE7D.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/1E594251-5C49-3649-9413-14663553AE7D.root", + "nevts": 1473621, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/20CCC9D4-0AD5-9E42-B642-DE86F25153ED.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/20CCC9D4-0AD5-9E42-B642-DE86F25153ED.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23734531-415C-BD43-83DE-94E787D3F57C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/23734531-415C-BD43-83DE-94E787D3F57C.root", + "nevts": 2074751, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/247E64DA-FE25-DB4E-ACFE-034455CFD3EB.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/247E64DA-FE25-DB4E-ACFE-034455CFD3EB.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/25DEFBD5-45E9-544B-9E88-B1D3ED80EFFA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/25DEFBD5-45E9-544B-9E88-B1D3ED80EFFA.root", + "nevts": 1781996, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/261B08A0-22B5-5149-B00E-F9A774477005.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/261B08A0-22B5-5149-B00E-F9A774477005.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/266B2CD6-17D4-C04F-B1FD-445C371464E4.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/266B2CD6-17D4-C04F-B1FD-445C371464E4.root", + "nevts": 1681525, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/37B993E8-7A11-6141-B42F-C20F3F6BB2D0.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/37B993E8-7A11-6141-B42F-C20F3F6BB2D0.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3ADD6FD9-5B2A-1441-BC2E-D68FDA486B4B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/3ADD6FD9-5B2A-1441-BC2E-D68FDA486B4B.root", + "nevts": 2533806, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/473F6C9A-F7AF-2640-886D-D814F98886D8.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/473F6C9A-F7AF-2640-886D-D814F98886D8.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/51E1A1D8-FBF4-0E45-9F37-FBFD4B5A7A09.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/51E1A1D8-FBF4-0E45-9F37-FBFD4B5A7A09.root", + "nevts": 2015833, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5553FFE8-D1DF-9842-9F49-16BB8EFFD4A3.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5553FFE8-D1DF-9842-9F49-16BB8EFFD4A3.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5709DEB4-AAE5-7949-975C-119CF30ABA70.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5709DEB4-AAE5-7949-975C-119CF30ABA70.root", + "nevts": 3315798, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/59905258-7CCF-BB41-AF01-D9FCBBECC03D.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/59905258-7CCF-BB41-AF01-D9FCBBECC03D.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5BF83F4E-336D-1641-9576-53FC198765B5.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5BF83F4E-336D-1641-9576-53FC198765B5.root", + "nevts": 1663133, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5F5E0726-4074-DA46-9AD9-C39389E885EC.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/5F5E0726-4074-DA46-9AD9-C39389E885EC.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/66A58A5A-4A7F-0546-B370-BABDDE02ADFD.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/66A58A5A-4A7F-0546-B370-BABDDE02ADFD.root", + "nevts": 2098366, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6789206B-7C28-5C44-B975-A5EF9D7BC6A0.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/6789206B-7C28-5C44-B975-A5EF9D7BC6A0.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/710A09CB-D2D9-0948-B4EC-6D94FD9F612B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/710A09CB-D2D9-0948-B4EC-6D94FD9F612B.root", + "nevts": 1755402, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/78995FCF-4A0B-364B-8875-9207B74685CF.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/78995FCF-4A0B-364B-8875-9207B74685CF.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7EC9A11A-ACD9-4A46-8770-B7A48670CBBF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/7EC9A11A-ACD9-4A46-8770-B7A48670CBBF.root", + "nevts": 1224865, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/809D6534-33BF-244B-B689-8C63F763959A.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/809D6534-33BF-244B-B689-8C63F763959A.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8531DBAE-434E-FF45-9647-1FFA5B964660.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/8531DBAE-434E-FF45-9647-1FFA5B964660.root", + "nevts": 806021, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9110E45A-9003-CB4F-9220-18B2EBFA2B42.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/9110E45A-9003-CB4F-9220-18B2EBFA2B42.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/92238EFF-D3BC-B745-B707-BB7096790F83.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/92238EFF-D3BC-B745-B707-BB7096790F83.root", + "nevts": 2289816, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/95AF7A2E-F973-5642-96C6-B37EA7C96FF7.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/95AF7A2E-F973-5642-96C6-B37EA7C96FF7.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A3664F2C-DE66-C64E-8471-88F341DBC4BF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/A3664F2C-DE66-C64E-8471-88F341DBC4BF.root", + "nevts": 3008904, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ABF5CD64-0947-964E-8104-84D880B737CD.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ABF5CD64-0947-964E-8104-84D880B737CD.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ACF68248-100D-D345-80C9-AECE7BCB73AF.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/ACF68248-100D-D345-80C9-AECE7BCB73AF.root", + "nevts": 2161719, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/AD99EB27-9D69-B74E-981C-F1869AED6582.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/AD99EB27-9D69-B74E-981C-F1869AED6582.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B02F3578-EDAA-D649-BF16-B0090E99B34A.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B02F3578-EDAA-D649-BF16-B0090E99B34A.root", + "nevts": 2189002, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B61CB2F3-3F7B-C143-B349-C9FE421103AC.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/B61CB2F3-3F7B-C143-B349-C9FE421103AC.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/BD979CEA-AA60-104B-B656-A2A7ACE54A4B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/BD979CEA-AA60-104B-B656-A2A7ACE54A4B.root", + "nevts": 1930658, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C08430A5-EB2C-EB4D-A653-7CA621B11BFC.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/C08430A5-EB2C-EB4D-A653-7CA621B11BFC.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CC55E1DA-ADBB-0342-A53C-C7B7CFA6AD85.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CC55E1DA-ADBB-0342-A53C-C7B7CFA6AD85.root", + "nevts": 2492709, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CE1F1724-2933-C44F-829E-0FA4CB49D49A.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/CE1F1724-2933-C44F-829E-0FA4CB49D49A.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/D5642602-6BA0-E843-B8CC-03B0072E1796.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/D5642602-6BA0-E843-B8CC-03B0072E1796.root", + "nevts": 1497216, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/DCA6F24D-0006-634B-9964-65CE4B8E70D5.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/DCA6F24D-0006-634B-9964-65CE4B8E70D5.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E5B3AF0A-A0F0-594B-9E72-B9EA1859D549.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E5B3AF0A-A0F0-594B-9E72-B9EA1859D549.root", + "nevts": 3071321, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E801FC2F-0877-9F4C-978D-FE9C94B92CAF.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/E801FC2F-0877-9F4C-978D-FE9C94B92CAF.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EAABF77C-A79B-FB4E-B307-7B2F9CFC6C9E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EAABF77C-A79B-FB4E-B307-7B2F9CFC6C9E.root", + "nevts": 2289979, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EE1BAEDB-88FC-674E-A969-707818596CA4.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/EE1BAEDB-88FC-674E-A969-707818596CA4.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F24742D6-8BF8-F640-AD2F-063EE84A759F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F24742D6-8BF8-F640-AD2F-063EE84A759F.root", + "nevts": 1946746, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F3F7C96C-CF45-EB45-918C-9E5A05F8D899.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F3F7C96C-CF45-EB45-918C-9E5A05F8D899.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F4BB5330-5236-5940-BA0B-F13088D94F5E.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016G/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/70000/F4BB5330-5236-5940-BA0B-F13088D94F5E.root", + "nevts": 2116950, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/120000/61FC1E38-F75C-6B44-AD19-A9894155874E.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/120000/61FC1E38-F75C-6B44-AD19-A9894155874E.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0107961B-4308-F845-8F96-E14622BBA484.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0107961B-4308-F845-8F96-E14622BBA484.root", + "nevts": 289101, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0DEE1709-0416-F24B-ACB2-C68997CB6465.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0DEE1709-0416-F24B-ACB2-C68997CB6465.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F03FF10-7F20-8A4E-A19A-418C090A3F97.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F03FF10-7F20-8A4E-A19A-418C090A3F97.root", + "nevts": 56141, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F6506E1-94CC-E14B-AE40-F72BD37BF8D4.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/0F6506E1-94CC-E14B-AE40-F72BD37BF8D4.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/120B99EA-7A22-094A-889D-E9049DB1A21C.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/120B99EA-7A22-094A-889D-E9049DB1A21C.root", + "nevts": 1504715, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/136621ED-C32B-B347-9FC1-1BE4AF4F8EF3.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/136621ED-C32B-B347-9FC1-1BE4AF4F8EF3.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/13EF306B-E9EA-B24F-8094-DAC8A7BC4AE0.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/13EF306B-E9EA-B24F-8094-DAC8A7BC4AE0.root", + "nevts": 2051700, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/148777C2-F638-714C-AF76-00A32CD6F32A.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/148777C2-F638-714C-AF76-00A32CD6F32A.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/14EA6AFB-593D-074F-AF31-BF588987BE99.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/14EA6AFB-593D-074F-AF31-BF588987BE99.root", + "nevts": 1936884, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/17F6E03B-6B69-4341-863B-538EED26B89B.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/17F6E03B-6B69-4341-863B-538EED26B89B.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1C08614E-0C0E-6044-966A-CAF630CAEF8F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1C08614E-0C0E-6044-966A-CAF630CAEF8F.root", + "nevts": 3390670, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D87B4FB-E31C-9F43-AC21-C32469DE9FC6.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1D87B4FB-E31C-9F43-AC21-C32469DE9FC6.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1EB443F2-1230-8042-B8AE-FD50329CA59B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/1EB443F2-1230-8042-B8AE-FD50329CA59B.root", + "nevts": 1713097, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/2045F967-9F0A-7C46-9946-787B27D56E88.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/2045F967-9F0A-7C46-9946-787B27D56E88.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/236A04EE-C105-D947-8A2E-F8CC6731644F.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/236A04EE-C105-D947-8A2E-F8CC6731644F.root", + "nevts": 1874233, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/370BE877-DA24-DB41-A875-07A86EAB6852.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/370BE877-DA24-DB41-A875-07A86EAB6852.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/39B0B7DF-2C71-9E4E-952F-833475062880.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/39B0B7DF-2C71-9E4E-952F-833475062880.root", + "nevts": 3174648, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/3A8A8FD7-1FB0-FC49-93FD-20378419A49A.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/3A8A8FD7-1FB0-FC49-93FD-20378419A49A.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/4C688018-90E1-5847-AEA3-D5F5DEB330EA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/4C688018-90E1-5847-AEA3-D5F5DEB330EA.root", + "nevts": 2010546, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/50ADF677-F507-D044-BCF2-40392F4A89DB.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/50ADF677-F507-D044-BCF2-40392F4A89DB.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5CA4CE73-629C-2F48-939C-4274B369F112.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/5CA4CE73-629C-2F48-939C-4274B369F112.root", + "nevts": 1420132, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/60E957CB-2729-5D4C-B261-43406A639E8F.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/60E957CB-2729-5D4C-B261-43406A639E8F.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/6CBB587F-1366-6F40-973C-7F98EA9C8335.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/6CBB587F-1366-6F40-973C-7F98EA9C8335.root", + "nevts": 2694638, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/715BF52A-7FE3-D848-A45F-99A0DDA80205.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/715BF52A-7FE3-D848-A45F-99A0DDA80205.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/788CA5CB-13E0-544A-8427-33E4591CF20B.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/788CA5CB-13E0-544A-8427-33E4591CF20B.root", + "nevts": 1754861, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/791500CE-B4AB-7C46-91D7-4E689B94F55A.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/791500CE-B4AB-7C46-91D7-4E689B94F55A.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8F3012A6-72CA-6C4F-81AA-64EEB640EA84.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8F3012A6-72CA-6C4F-81AA-64EEB640EA84.root", + "nevts": 2247927, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8FB46D51-A84B-8043-A86B-25743CE20170.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/8FB46D51-A84B-8043-A86B-25743CE20170.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BE433087-4E55-6F44-8EBF-EDD13E745BAE.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/BE433087-4E55-6F44-8EBF-EDD13E745BAE.root", + "nevts": 1752855, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CBFBEA23-7C46-624E-98B1-2CAEE35458C8.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CBFBEA23-7C46-624E-98B1-2CAEE35458C8.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEB3C22E-30A5-704F-BD07-BD6D0838DAFA.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEB3C22E-30A5-704F-BD07-BD6D0838DAFA.root", + "nevts": 1308929, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEE8B116-DBE4-E54F-B038-A81090B2A147.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/CEE8B116-DBE4-E54F-B038-A81090B2A147.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2F76766-1F43-264A-A39F-2DE68BF68752.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/D2F76766-1F43-264A-A39F-2DE68BF68752.root", + "nevts": 2221579, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/DBA71BF9-1B93-EC42-A96C-BD2B35E3538E.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/DBA71BF9-1B93-EC42-A96C-BD2B35E3538E.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E6C5C5AA-946B-A34C-ABB5-4B14AA0E9ED7.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E6C5C5AA-946B-A34C-ABB5-4B14AA0E9ED7.root", + "nevts": 1271581, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E8E0A6FB-E2D7-BE40-B098-7FEABFB340FF.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/E8E0A6FB-E2D7-BE40-B098-7FEABFB340FF.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EC4283CE-BB96-B845-8012-6ED0CC0FA7A2.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/EC4283CE-BB96-B845-8012-6ED0CC0FA7A2.root", + "nevts": 1791443, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F4101B00-7984-C54F-98E9-2EF72AD66F43.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/F4101B00-7984-C54F-98E9-2EF72AD66F43.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FE81EE6E-0E21-1847-9105-D700F2E762DB.root", - "nevts": 0, - "nevts_wt": 0.0 + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FE81EE6E-0E21-1847-9105-D700F2E762DB.root", + "nevts": 2378028, + "nevts_wt": 0 }, { - "path": "root:/eospublic.cern.ch/eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FFED1DB7-3626-A04C-8438-BF055BD16672.root", + "path": "root://eospublic.cern.ch//eos/opendata/cms/Run2016H/SingleMuon/NANOAOD/UL2016_MiniAODv2_NanoAODv9-v1/130000/FFED1DB7-3626-A04C-8438-BF055BD16672.root", "nevts": 0, - "nevts_wt": 0.0 + "nevts_wt": 0 } ], - "nevts_total": 0, - "nevts_wt_total": 0.0 + "nevts_total": 323952013, + "nevts_wt_total": 0 } } -} \ No newline at end of file +} From 8a34d3057b90e39e90e29efa5df9688c5f1d0f11 Mon Sep 17 00:00:00 2001 From: maly Date: Sat, 6 Sep 2025 22:45:40 +0200 Subject: [PATCH 23/24] fixes --- user/cuts.py | 60 +--------------------------------------------------- 1 file changed, 1 insertion(+), 59 deletions(-) diff --git a/user/cuts.py b/user/cuts.py index a84c4dd..dc0bb77 100644 --- a/user/cuts.py +++ b/user/cuts.py @@ -379,7 +379,7 @@ def Zprime_softcuts_jax_workshop( "lep_ht_cut": jax.nn.sigmoid( (lep_ht - params["lep_ht_threshold"]) / 5.0 ), - #"nn_cut": jax.nn.sigmoid((nn_score - 0.05) * 10.0), + "nn_cut": jax.nn.sigmoid((nn_score - 0.05) * 10.0), } # --------------------- # Combine cut weights multiplicatively (AND logic) @@ -585,61 +585,3 @@ def Zprime_softcuts_CR2( ) return selections - - -#==================== -# Skimming selection for preprocessing -#==================== -def default_skim_selection( - muons: ak.Array, - jets: ak.Array, - met: ak.Array, - hlt: ak.Array -) -> PackedSelection: - """ - Default skimming selection matching the hardcoded behavior in utils/preproc.py. - - This replicates the current hardcoded selections: - - Exactly 1 muon with pT > 55 GeV, |eta| < 2.4, tight ID, mini-isolation - - HLT_TkMu50 trigger - - MET > 50 GeV - - Parameters - ---------- - muons : ak.Array - Muon collection - jets : ak.Array - Jet collection (not used in this selection) - met : ak.Array - Missing transverse energy - hlt : ak.Array - HLT trigger collection - - Returns - ------- - PackedSelection - Selection object with skimming cuts - """ - selections = PackedSelection(dtype="uint64") - - # Muon selection (matching hardcoded behavior in preproc.py) - mu_sel = ( - (muons.pt > 55) - & (abs(muons.eta) < 2.4) - & muons.tightId - & (muons.miniIsoId > 1) - ) - muon_count = ak.sum(mu_sel, axis=1) - - # Individual cuts - selections.add("trigger", hlt.TkMu50) - selections.add("exactly_1_good_muon", muon_count == 1) - selections.add("met_cut", met.pt > 50) - - # Combined skimming selection - selections.add( - "skim_selection", - selections.all("trigger", "exactly_1_good_muon", "met_cut") - ) - - return selections From 392785d065f5daceb7f43eb710eddca4c5783c20 Mon Sep 17 00:00:00 2001 From: maly Date: Wed, 10 Sep 2025 15:46:08 +0200 Subject: [PATCH 24/24] clean up --- README.md | 14 ++-- analysis/diff.py | 18 +----- utils/datasets.py | 124 ------------------------------------ utils/metadata_extractor.py | 53 +++------------ utils/schema.py | 4 +- utils/skimming.py | 3 +- 6 files changed, 20 insertions(+), 196 deletions(-) diff --git a/README.md b/README.md index fec0dfb..9187ae1 100644 --- a/README.md +++ b/README.md @@ -475,15 +475,11 @@ Configuration for the data skimming step (part of `preprocess` block). | Parameter | Type | Default | Description | |----------------------|------------|-------------------|------------------------------------------------| -| `nanoaod_selection` | `dict` | `None` | NanoAOD mode selection configuration. | -|   ↳ `function` | `Callable` | *Required* | Selection function to apply. | -|   ↳ `use` | `list[str]` | *Required* | Input variables for the function. | -| `uproot_cut_string` | `str` | `None` | Uproot mode cut string. | -| `output_dir` | `str` | `None` | Output directory (auto-set if None). | -| `output_pattern` | `str` | `"part{idx}.root"` | Output filename pattern. | -| `chunk_size` | `int` | `100000` | Events per processing chunk. | -| `tree_name` | `str` | `"Events"` | ROOT tree name. | -| `weight_branch` | `str` | `"genWeight"` | Event weight branch name. | +| `selection_function` | `Callable` | *Required* | Selection function that returns a PackedSelection object. | +| `selection_use` | `list[tuple]` | *Required* | List of (object, variable) tuples specifying inputs for the selection function. | +| `output_dir` | `str` | *Required* | Base directory for skimmed files. Files follow structure: {output_dir}/{dataset}/file__{idx}/part_X.root | +| `chunk_size` | `int` | `100000` | Number of events to process per chunk (used for configuration compatibility). | +| `tree_name` | `str` | `"Events"` | ROOT tree name for input and output files. | --- diff --git a/analysis/diff.py b/analysis/diff.py index a8df3c1..c4e2f55 100644 --- a/analysis/diff.py +++ b/analysis/diff.py @@ -1064,7 +1064,6 @@ def apply_selection( for channel in self.channels: channel_name = channel.name - logger.debug(f"Processing channel {channel_name} for {process}") if not channel.use_in_diff: logger.debug( f"Skipping channel {channel_name} in diff analysis" @@ -1424,19 +1423,16 @@ def _histogramming( channel_name = channel.name # Skip channels not participating in differentiable analysis if not channel.use_in_diff: - warning_logger( + logger.debug( f"Skipping channel {channel_name}" ) continue - info_logger(f"Processing channel {channel_name}...") - - # Skip if channel is not listed in requested channels if ( req := self.config.general.channels ) and channel_name not in req: - warning_logger( + logger.debug( f"Skipping channel {channel_name} (not in requested channels)" ) continue @@ -1747,11 +1743,6 @@ def _run_traced_analysis_chain( for dataset_name, dataset_files in processed_data_events.items(): process_name = dataset_name.split("___")[1] - info_logger( - f" ⏳ Processing dataset: {dataset_name} " - f"(process: {process_name})" - ) - # Ensure process histogram container exists if process_name not in histograms_by_process: histograms_by_process[process_name] = defaultdict( @@ -1761,16 +1752,11 @@ def _run_traced_analysis_chain( # --------------------------------------------------------------------- # Loop over files in the dataset # --------------------------------------------------------------------- - info_logger(" 🔍 Collecting histograms for dataset...") for file_key, variations in dataset_files.items(): for variation_name, ( processed_data, metadata, ) in variations.items(): - logger.debug( - f" • Collecting histograms for file: {file_key} " - f"({variation_name})" - ) # Build histograms for this file and variation file_histograms = self._collect_histograms( diff --git a/utils/datasets.py b/utils/datasets.py index d4959ce..f132951 100644 --- a/utils/datasets.py +++ b/utils/datasets.py @@ -78,24 +78,6 @@ def get_dataset_directory(self, process: str) -> Path: raise KeyError(f"Process '{process}' not found in dataset configuration") return Path(self.datasets[process].directory) - def get_file_pattern(self, process: str) -> str: - """ - Get file pattern from config (typically '*.txt' for listing files). - - Parameters - ---------- - process : str - Process name - - Returns - ------- - str - File pattern for listing files - """ - if process not in self.datasets: - raise KeyError(f"Process '{process}' not found in dataset configuration") - return self.datasets[process].file_pattern - def get_tree_name(self, process: str) -> str: """ Get ROOT tree name from config. @@ -114,42 +96,6 @@ def get_tree_name(self, process: str) -> str: raise KeyError(f"Process '{process}' not found in dataset configuration") return self.datasets[process].tree_name - def get_weight_branch(self, process: str) -> str: - """ - Get weight branch name from config. - - Parameters - ---------- - process : str - Process name - - Returns - ------- - str - Weight branch name - """ - if process not in self.datasets: - raise KeyError(f"Process '{process}' not found in dataset configuration") - return self.datasets[process].weight_branch - - def get_remote_access_config(self, process: str) -> Optional[Dict[str, str]]: - """ - Get remote access configuration (EOS, XRootD, etc.). - - Parameters - ---------- - process : str - Process name - - Returns - ------- - dict or None - Remote access configuration or None if not configured - """ - if process not in self.datasets: - raise KeyError(f"Process '{process}' not found in dataset configuration") - return self.datasets[process].remote_access - def get_cross_section_map(self) -> Dict[str, float]: """ Get a dictionary mapping all process names to their cross-sections. @@ -202,73 +148,3 @@ def validate_process(self, process: str) -> bool: True if process is configured, False otherwise """ return process in self.datasets - - -def create_default_dataset_config() -> DatasetManagerConfig: - """ - Create a default dataset configuration that matches current hardcoded values. - - This provides backward compatibility and a starting point for configuration. - The directories contain .txt files with lists of EOS paths to actual ROOT files. - - Returns - ------- - DatasetManagerConfig - Default dataset configuration - """ - datasets = [ - DatasetConfig( - name="signal", - directory="datasets/signal/", - cross_section=1.0, - file_pattern="*.txt", # Text files containing EOS paths - tree_name="Events", - weight_branch="genWeight" - ), - DatasetConfig( - name="ttbar_semilep", - directory="datasets/ttbar_semilep/", - cross_section=831.76 * 0.438, # 364.35 - file_pattern="*.txt", - tree_name="Events", - weight_branch="genWeight" - ), - DatasetConfig( - name="ttbar_had", - directory="datasets/ttbar_had/", - cross_section=831.76 * 0.457, # 380.11 - file_pattern="*.txt", - tree_name="Events", - weight_branch="genWeight" - ), - DatasetConfig( - name="ttbar_lep", - directory="datasets/ttbar_lep/", - cross_section=831.76 * 0.105, # 87.33 - file_pattern="*.txt", - tree_name="Events", - weight_branch="genWeight" - ), - DatasetConfig( - name="wjets", - directory="datasets/wjets/", - cross_section=61526.7, - file_pattern="*.txt", - tree_name="Events", - weight_branch="genWeight" - ), - DatasetConfig( - name="data", - directory="datasets/data/", - cross_section=1.0, - file_pattern="*.txt", - tree_name="Events", - weight_branch="genWeight" - ) - ] - - return DatasetManagerConfig( - datasets=datasets, - metadata_output_dir="datasets/nanoaods_jsons/", - max_files=-1 # No limit by default - ) diff --git a/utils/metadata_extractor.py b/utils/metadata_extractor.py index 32103ba..14b6400 100644 --- a/utils/metadata_extractor.py +++ b/utils/metadata_extractor.py @@ -27,7 +27,7 @@ from rich.pretty import pretty_repr # Local application imports -from utils.datasets import ConfigurableDatasetManager, create_default_dataset_config +from utils.datasets import ConfigurableDatasetManager # Configure module-level logger @@ -119,21 +119,16 @@ class FilesetBuilder: Manages dataset configurations, including paths and tree names. """ - def __init__(self, dataset_manager: Optional[ConfigurableDatasetManager] = None): + def __init__(self, dataset_manager: ConfigurableDatasetManager): """ Initializes the FilesetBuilder. Parameters ---------- - dataset_manager : Optional[ConfigurableDatasetManager], optional - An existing dataset manager instance. If None, a default one is created. + dataset_manager : ConfigurableDatasetManager + A dataset manager instance (required). """ - # Use provided dataset manager or create a default one - if dataset_manager is None: - dataset_config = create_default_dataset_config() - self.dataset_manager = ConfigurableDatasetManager(dataset_config) - else: - self.dataset_manager = dataset_manager + self.dataset_manager = dataset_manager def build_fileset( self, identifiers: Optional[Union[int, List[int]]] = None @@ -321,22 +316,17 @@ class NanoAODMetadataGenerator: def __init__( self, - dataset_manager: Optional[ConfigurableDatasetManager] = None + dataset_manager: ConfigurableDatasetManager ): """ Initializes the NanoAODMetadataGenerator. Parameters ---------- - dataset_manager : Optional[ConfigurableDatasetManager], optional - An existing dataset manager instance. If None, a default one is created. + dataset_manager : ConfigurableDatasetManager + A dataset manager instance (required). """ - # Use provided dataset manager or create default - if dataset_manager is None: - dataset_config = create_default_dataset_config() - self.dataset_manager = ConfigurableDatasetManager(dataset_config) - else: - self.dataset_manager = dataset_manager + self.dataset_manager = dataset_manager # The metadata_output_dir from the config is the canonical source. # This directory is used for all metadata reading and writing. @@ -710,27 +700,4 @@ def write_metadata(self) -> None: with workitems_path.open("w") as f: json.dump(serializable, f, indent=4) - logger.info(f"WorkItems metadata saved to {workitems_path}") - -# CLI entrypoint for standalone usage -def main() -> None: - """ - Command-line interface for the NanoAODMetadataGenerator. - - This function sets up basic logging and instantiates the generator, - then runs the metadata generation process. - """ - # Configure basic logging to INFO level - logging.basicConfig(level=logging.INFO) - - # Instantiate the metadata generator. - generator = NanoAODMetadataGenerator() - - # Run the metadata generation process. - generator.run(generate_metadata=True) - - - - -if __name__ == "__main__": - main() \ No newline at end of file + logger.info(f"WorkItems metadata saved to {workitems_path}") \ No newline at end of file diff --git a/utils/schema.py b/utils/schema.py index 5462858..8b5eff2 100644 --- a/utils/schema.py +++ b/utils/schema.py @@ -1208,8 +1208,8 @@ class Config(SubscriptableModel): # Enhanced dataset management datasets: Annotated[ - Optional[DatasetManagerConfig], - Field(default=None, description="Dataset management configuration") + DatasetManagerConfig, + Field(description="Dataset management configuration (required)") ] @model_validator(mode="after") diff --git a/utils/skimming.py b/utils/skimming.py index 34398c6..9d2b704 100644 --- a/utils/skimming.py +++ b/utils/skimming.py @@ -510,8 +510,7 @@ def discover_workitem_outputs(self, workitems: List[WorkItem]) -> List[str]: f"{dataset}: {count}" for dataset, count in dataset_counts.items() ]) logger.info( - f"Found {len(output_files)} existing output files " - f"({dataset_info})" + f"Found existing skimmed files for {dataset_info}" ) else: logger.info("No existing output files found")