{
  "dataset": "rga-library",
  "schemaVersion": 2,
  "version": "2026-09-07",
  "updated": "2026-09-07",
  "license": "CC BY 4.0",
  "attribution": "Mean Free Path, Pierre F. Ribault",
  "canonical": "https://pierreribault.com/data/rga-library.json",
  "data": {
    "massTable": [
      {
        "m": 1,
        "primary": "H⁺",
        "alt": "",
        "note": "Fragment from H2, H2O",
        "contamination": false,
        "key": false
      },
      {
        "m": 2,
        "primary": "H₂⁺",
        "alt": "D⁺",
        "note": "Main UHV gas - normal",
        "contamination": false,
        "key": true
      },
      {
        "m": 3,
        "primary": "HD⁺",
        "alt": "",
        "note": "Isotope - 0.03%",
        "contamination": false,
        "key": false
      },
      {
        "m": 4,
        "primary": "He⁺",
        "alt": "D₂⁺",
        "note": "Leak check or cryo",
        "contamination": false,
        "key": true
      },
      {
        "m": 12,
        "primary": "C⁺",
        "alt": "",
        "note": "Fragment from CO, CO2",
        "contamination": false,
        "key": true
      },
      {
        "m": 14,
        "primary": "N⁺",
        "alt": "CH₂⁺",
        "note": "From N2 (7%) or hydrocarbons",
        "contamination": false,
        "key": false
      },
      {
        "m": 15,
        "primary": "CH₃⁺",
        "alt": "",
        "note": "Hydrocarbons - from CH4",
        "contamination": false,
        "key": false
      },
      {
        "m": 16,
        "primary": "O⁺/CH₄⁺",
        "alt": "",
        "note": "Multiple sources - check",
        "contamination": false,
        "key": false
      },
      {
        "m": 17,
        "primary": "OH⁺",
        "alt": "",
        "note": "Water indicator - 23% of M18",
        "contamination": false,
        "key": true
      },
      {
        "m": 18,
        "primary": "H₂O⁺",
        "alt": "",
        "note": "Water - watch this one",
        "contamination": false,
        "key": true
      },
      {
        "m": 20,
        "primary": "Ar⁺⁺/Ne⁺",
        "alt": "",
        "note": "If M40 present = Ar",
        "contamination": false,
        "key": false
      },
      {
        "m": 23,
        "primary": "Na⁺",
        "alt": "",
        "note": "Fingerprints!",
        "contamination": true,
        "key": false
      },
      {
        "m": 28,
        "primary": "N₂⁺/CO⁺",
        "alt": "C₂H₄⁺",
        "note": "Big one - see diagnostics",
        "contamination": false,
        "key": true
      },
      {
        "m": 29,
        "primary": "¹³CO⁺",
        "alt": "C₂H₅⁺",
        "note": "1.1% of M28 if CO",
        "contamination": false,
        "key": false
      },
      {
        "m": 31,
        "primary": "CH₃O⁺",
        "alt": "CF⁺",
        "note": "Methanol or fluorocarbon",
        "contamination": false,
        "key": false
      },
      {
        "m": 32,
        "primary": "O₂⁺",
        "alt": "S⁺",
        "note": "AIR LEAK if present",
        "contamination": false,
        "key": true
      },
      {
        "m": 35,
        "primary": "³⁵Cl⁺",
        "alt": "",
        "note": "Cl fragment (of HCl or Cl-containing species), 35:37 = 3:1",
        "contamination": true,
        "key": false
      },
      {
        "m": 36,
        "primary": "HCl⁺",
        "alt": "³⁶Ar⁺",
        "note": "HCl parent (35:37 = 3:1 confirms Cl); ³⁶Ar isotope if M35+M37 absent and M40 present",
        "contamination": true,
        "key": false
      },
      {
        "m": 37,
        "primary": "³⁷Cl⁺",
        "alt": "",
        "note": "Cl-37 fragment (M35/M37 = 3:1 pair)",
        "contamination": true,
        "key": false
      },
      {
        "m": 40,
        "primary": "Ar⁺",
        "alt": "",
        "note": "Argon - 0.93% of air",
        "contamination": false,
        "key": true
      },
      {
        "m": 43,
        "primary": "C₃H₇⁺",
        "alt": "CH₃CO⁺",
        "note": "OIL or acetone",
        "contamination": true,
        "key": false
      },
      {
        "m": 44,
        "primary": "CO₂⁺",
        "alt": "C₃H₈⁺",
        "note": "CO2 - always there",
        "contamination": false,
        "key": true
      },
      {
        "m": 45,
        "primary": "¹³CO₂⁺",
        "alt": "",
        "note": "Just isotope - 1.2% of M44",
        "contamination": false,
        "key": false
      },
      {
        "m": 55,
        "primary": "C₄H₇⁺",
        "alt": "",
        "note": "Pump oil",
        "contamination": true,
        "key": false
      },
      {
        "m": 57,
        "primary": "C₄H₉⁺",
        "alt": "",
        "note": "PUMP OIL - main indicator",
        "contamination": true,
        "key": true
      },
      {
        "m": 58,
        "primary": "C₃H₆O⁺",
        "alt": "",
        "note": "Acetone (23%)",
        "contamination": true,
        "key": false
      },
      {
        "m": 59,
        "primary": "C₃H₇O⁺",
        "alt": "",
        "note": "IPA fragment (45%)",
        "contamination": true,
        "key": false
      },
      {
        "m": 64,
        "primary": "SO₂⁺",
        "alt": "",
        "note": "Sulfur problem",
        "contamination": true,
        "key": false
      },
      {
        "m": 69,
        "primary": "CF₃⁺",
        "alt": "C₅H₉⁺",
        "note": "PFPE or HC oil - check M119",
        "contamination": true,
        "key": true
      },
      {
        "m": 71,
        "primary": "C₅H₁₁⁺",
        "alt": "",
        "note": "Pump oil",
        "contamination": true,
        "key": false
      },
      {
        "m": 78,
        "primary": "C₆H₆⁺",
        "alt": "",
        "note": "Benzene",
        "contamination": true,
        "key": true
      },
      {
        "m": 83,
        "primary": "C₆H₁₁⁺",
        "alt": "",
        "note": "Pump oil",
        "contamination": true,
        "key": false
      },
      {
        "m": 91,
        "primary": "C₇H₇⁺",
        "alt": "",
        "note": "Toluene (tropylium)",
        "contamination": true,
        "key": true
      },
      {
        "m": 92,
        "primary": "C₇H₈⁺",
        "alt": "",
        "note": "Toluene",
        "contamination": true,
        "key": false
      },
      {
        "m": 97,
        "primary": "C₇H₁₃⁺",
        "alt": "",
        "note": "Pump oil",
        "contamination": true,
        "key": false
      },
      {
        "m": 119,
        "primary": "C₂F₅⁺",
        "alt": "",
        "note": "PFPE confirmation",
        "contamination": true,
        "key": true
      },
      {
        "m": 169,
        "primary": "C₃F₇⁺",
        "alt": "",
        "note": "PFPE confirmation",
        "contamination": true,
        "key": false
      }
    ],
    "crackingPatterns": [
      {
        "id": "water",
        "name": "Water",
        "parent": 18,
        "fragments": {
          "1": 3,
          "2": 1,
          "16": 1.1,
          "17": 23,
          "18": 100
        },
        "notes": "If M17/M18 ≈ 0.23, water is main contributor",
        "source": "NIST Chemistry WebBook, SRD 69 ; 70 eV electron impact ; normalised to base peak = 100.",
        "sourceLevel": "entry",
        "cas": "7732-18-5",
        "basePeak": 18,
        "ownerValidatedMasses": [
          16
        ],
        "ownerValidatedOn": "2026-07-25"
      },
      {
        "id": "co2",
        "name": "CO2",
        "parent": 44,
        "fragments": {
          "12": 6,
          "16": 8.5,
          "22": 2,
          "28": 11,
          "44": 100,
          "45": 1.1
        },
        "notes": "CO2 adds 11% to M28! Subtract before N2/CO analysis",
        "source": "Dataset-level provenance, see the sources list of this dataset. No per-entry reference, and no value-by-value reconciliation.",
        "sourceLevel": "dataset",
        "ownerValidatedMasses": []
      },
      {
        "id": "hc_oil",
        "name": "HC Oil",
        "parent": 57,
        "fragments": {
          "43": 80,
          "55": 85,
          "57": 100,
          "69": 70,
          "71": 80,
          "83": 60,
          "97": 40
        },
        "notes": "14 AMU spacing (CH2 groups). Odd masses stronger.",
        "source": "Dataset-level provenance, see the sources list of this dataset. No per-entry reference, and no value-by-value reconciliation.",
        "sourceLevel": "dataset",
        "ownerValidatedMasses": []
      },
      {
        "id": "pfpe_oil",
        "name": "PFPE Oil (Fomblin/Krytox)",
        "parent": 69,
        "fragments": {
          "31": 8,
          "50": 12,
          "69": 100,
          "119": 40,
          "131": 10,
          "169": 15
        },
        "notes": "No 14 AMU spacing. M69 + M119 confirms PFPE. M119/M69~0.3-0.5",
        "source": "Dataset-level provenance, see the sources list of this dataset. No per-entry reference, and no value-by-value reconciliation.",
        "sourceLevel": "dataset",
        "ownerValidatedMasses": []
      },
      {
        "id": "methanol",
        "name": "Methanol",
        "parent": 32,
        "fragments": {
          "15": 13,
          "28": 18,
          "29": 65,
          "31": 100,
          "32": 67,
          "33": 1
        },
        "notes": "M31 > M32. M29=65% strong fragment.",
        "source": "Dataset-level provenance, see the sources list of this dataset. No per-entry reference, and no value-by-value reconciliation.",
        "sourceLevel": "dataset",
        "ownerValidatedMasses": []
      },
      {
        "id": "ethanol",
        "name": "Ethanol",
        "parent": 46,
        "fragments": {
          "27": 40,
          "31": 100,
          "45": 80,
          "46": 30
        },
        "notes": "M31 + M45",
        "source": "Dataset-level provenance, see the sources list of this dataset. No per-entry reference, and no value-by-value reconciliation.",
        "sourceLevel": "dataset",
        "ownerValidatedMasses": []
      },
      {
        "id": "ipa",
        "name": "IPA (Isopropanol)",
        "parent": 60,
        "fragments": {
          "27": 16,
          "29": 10,
          "39": 5,
          "41": 9,
          "43": 16,
          "45": 100,
          "60": 1
        },
        "notes": "M45 huge, M60 tiny! M43 overlaps acetone.",
        "source": "NIST Chemistry WebBook, SRD 69 ; 70 eV electron impact ; normalised to base peak = 100.",
        "sourceLevel": "entry",
        "cas": "67-63-0",
        "basePeak": 45,
        "ownerValidatedMasses": [
          43
        ],
        "ownerValidatedOn": "2026-07-25"
      },
      {
        "id": "acetone",
        "name": "Acetone",
        "parent": 58,
        "fragments": {
          "15": 24,
          "26": 4,
          "27": 8,
          "42": 10,
          "43": 100,
          "58": 27
        },
        "notes": "M43 >> M58. M58 confirms acetone vs generic HC.",
        "source": "NIST Chemistry WebBook, SRD 69 ; 70 eV electron impact ; normalised to base peak = 100.",
        "sourceLevel": "entry",
        "cas": "67-64-1",
        "basePeak": 43,
        "ownerValidatedMasses": [
          58,
          15
        ],
        "ownerValidatedOn": "2026-07-25"
      }
    ],
    "diagnosticRatios": [
      {
        "id": "air_leak_n2_o2",
        "name": "Air leak (N2/O2)",
        "num": 28,
        "den": 32,
        "expected": 3.73,
        "tol": 0.3,
        "interp": "If matched = air leak"
      },
      {
        "id": "air_leak_ar_n2",
        "name": "Air leak (Ar/N2)",
        "num": 40,
        "den": 28,
        "expected": 0.012,
        "tol": 0.002,
        "interp": "Confirms air leak"
      },
      {
        "id": "air_leak_ar_o2",
        "name": "Air leak (Ar/O2)",
        "num": 40,
        "den": 32,
        "expected": 0.044,
        "tol": 0.005,
        "interp": "Third confirmation"
      },
      {
        "id": "water",
        "name": "Water fragment",
        "num": 17,
        "den": 18,
        "expected": 0.23,
        "tol": 0.05,
        "interp": "If ~0.23, water is main source of M17"
      },
      {
        "id": "co_presence",
        "name": "CO detection",
        "num": 12,
        "den": 28,
        "expected": 0.045,
        "tol": 0.02,
        "interp": "If M12/M28 > 3%, CO is present"
      }
    ],
    "alertThresholds": [
      {
        "m": 57,
        "species": "HC oil (C₄H₉⁺)",
        "watch": 2e-12,
        "stop": 5e-12,
        "notes": "Main pump oil indicator"
      },
      {
        "m": 69,
        "species": "PFPE/HC (CF₃⁺)",
        "watch": 2e-12,
        "stop": 5e-12,
        "notes": "Check M119 to distinguish PFPE from HC"
      },
      {
        "m": 78,
        "species": "Benzene (C₆H₆⁺)",
        "watch": 5e-13,
        "stop": 2e-12,
        "notes": "Solvent residue"
      },
      {
        "m": 91,
        "species": "Toluene (C₇H₇⁺)",
        "watch": 5e-13,
        "stop": 2e-12,
        "notes": "Solvent residue - tropylium ion"
      }
    ],
    "sources": [
      {
        "rating": "A",
        "label": "NIST Chemistry WebBook, Mass Spectra (70 eV electron impact).",
        "url": "https://webbook.nist.gov/chemistry/"
      },
      {
        "rating": "A",
        "label": "NIST Electron-Impact Cross Section Database.",
        "url": "https://www.nist.gov/pml/electron-impact-cross-sections-ionization-and-excitation-database"
      },
      {
        "rating": "B",
        "label": "MKS Instruments, MicroVision 2 Residual Gas Analyzer : Operating Manual, 2019."
      },
      {
        "rating": "B",
        "label": "Solvay, Fomblin PFPE product documentation (M69 / M119 / M169 triplet)."
      },
      {
        "rating": "B",
        "label": "DuPont / Chemours, Viton and Kalrez guides (thermal decomposition, M100 marker)."
      },
      {
        "rating": "B",
        "label": "Dow Corning / Shin-Etsu, PDMS data (M73 / M147 / M207 triplet, silicone migration)."
      },
      {
        "rating": "B",
        "label": "Gamma Vacuum / Agilent, Ion Pump manuals (noble-gas pumping, cathode sputtering)."
      }
    ],
    "sourcesNote": "Rated [A] primary standard data, [B] manufacturer documentation. 70 eV cracking patterns are nominal and vary 10-20% between instruments : validate against a known calibration gas before quantitative use."
  }
}