---
title: process_vanilla_result (latest version)
description: API reference for qiskit_noise_learning.protocols.process_vanilla_result in the latest version of qiskit-noise-learning
source: https://quantum.cloud.ibm.com/docs/en/api/qiskit-noise-learning/generated/protocols-process-vanilla-result
---

# qiskit\_noise\_learning.protocols.process\_vanilla\_result

`qiskit_noise_learning.protocols.process_vanilla_result(result: QuantumProgramResult, raw_data_stage: AnalysisStage | None = None) → tuple[list[PauliLindbladMap], list[str], Fit]`

[GitHub](https://github.com/Qiskit/qiskit-noise-learning/tree/stable/0.1/qiskit_noise_learning/protocols/vanilla.py)

Analyze the result of a program built by [`prepare_vanilla_program()`](/docs/api/qiskit-noise-learning/generated/protocols-prepare-vanilla-program "qiskit_noise_learning.protocols.prepare_vanilla_program").

Applies the standard “vanilla” learning program analysis using curve fitting and [`LegacySolve`](/docs/api/qiskit-noise-learning/generated/analysis-legacy-solve "qiskit_noise_learning.analysis.LegacySolve") fit the model.

Example:

```python
noise_maps, gate_names, fit = process_vanilla_result(job.result())
noise_maps[0]
```

**Parameters**

- **result** – The result of a program built by [`prepare_vanilla_program()`](/docs/api/qiskit-noise-learning/generated/protocols-prepare-vanilla-program "qiskit_noise_learning.protocols.prepare_vanilla_program").
- **raw\_data\_stage** – An optional analysis stage to run on the raw data ahead of the standard analysis, typically to post-select on registers that a pass manager added during preparation. It must consume and produce [`RawData`](/docs/api/qiskit-noise-learning/generated/data-raw-data "qiskit_noise_learning.data.RawData").

**Returns**

A `(noise_maps, gate_names, fit)` tuple, whose first two entries are parallel to the `instructions` submitted to [`prepare_vanilla_program()`](/docs/api/qiskit-noise-learning/generated/protocols-prepare-vanilla-program "qiskit_noise_learning.protocols.prepare_vanilla_program"). I.e. for instruction `idx`, `noise_maps[idx]` is the learned noise map, and `gate_names[idx]` is the name assigned to the instruction used in the returned fit. A noise map acts on the qubits of its instruction, its qubit `j` being the `j`-th of the instruction in ascending physical-qubit order.

**Raises**

- [**TypeError**](https://docs.python.org/3/builtins/exceptions.html#TypeError) – If *raw\_data\_stage* is not an analysis stage.
- [**ValueError**](https://docs.python.org/3/builtins/exceptions.html#ValueError) – If *raw\_data\_stage* does not consume and produce [`RawData`](/docs/api/qiskit-noise-learning/generated/data-raw-data "qiskit_noise_learning.data.RawData"), if *result* holds no program items, if the result’s passthrough data carries no vanilla protocol data or carries it at an incompatible version, if the result violates the solver’s assumptions, or if the fitted model gives no noise for one of the gates the program was built from.
