<?xml version='1.0' encoding='UTF-8'?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Noot in Circle</title>
    <link>https://nootincircle.com</link>
    <description>Notes on high-energy physics</description>
    <item>
      <title>Which candidate gets the vertex?</title>
      <link>https://nootincircle.com/notes/cambridge-matching-vertex-candidates/</link>
      <pubDate>Fri, 06 Nov 2026 15:22:54 +0000</pubDate>
      <description>A small matching example from my work on predicting where long-lived particles decay in the ATLAS muon spectrometer.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/cambridge-matching-vertex-candidates/</guid>
      <content:encoded>
&lt;p&gt;Suppose the model proposes two places where a particle might have decayed, and the simulation gives me one eligible decay. Which proposal should learn from that decay? I spent part of this week working through that question with an example small enough to fit on a scrap of paper.&lt;/p&gt;

          &lt;h2&gt;Give each prediction two jobs&lt;/h2&gt;
          &lt;p&gt;The prototype reads the segments from one collision together. Each candidate slot gathers a weighted summary of those measurements, then predicts a position and a score for whether it found a vertex. The number of slots sets the maximum number of predictions. The scores determine how many candidates I keep at inference.&lt;/p&gt;

          &lt;h2&gt;Try it on a line&lt;/h2&gt;
          &lt;p&gt;Imagine the true position is 10 and the two candidates predict 9 and 13. Their distances are 1 and 3, so I match the candidate at 9. I train its position towards 10 and its existence score towards active. The candidate at 13 gets an inactive target for its score. It has no coordinate target for this event.&lt;/p&gt;

          &lt;p&gt;With two eligible decays, each gets a different slot. I choose the pairing with the smallest total position error and hold that pairing fixed while the model updates. The matched coordinates can move towards their targets because the position error changes as the coordinates move. The next pass makes new predictions and matches them again. A related set-matching idea appears in object detection. &lt;a href="https://arxiv.org/abs/2005.12872"&gt;DETR paper&lt;/a&gt;&lt;/p&gt;

          &lt;h2&gt;What I checked this week&lt;/h2&gt;
          &lt;p&gt;I ran the training loop on synthetic events where I could control how many vertices were present and where they were placed. That exercises the cases I care about in the software, including empty targets, more than one vertex and spare candidates. The next step is to define the eligible decays for the endcap pilot and agree what distance counts as a match. Then I can compare missed, duplicate and extra vertices against the existing reconstruction on the same held-out events.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Earlier in the Cambridge notebook&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/cambridge-keeping-collisions-together/"&gt;One collision, one place in the dataset &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>One collision, one place in the dataset</title>
      <link>https://nootincircle.com/notes/cambridge-keeping-collisions-together/</link>
      <pubDate>Fri, 06 Nov 2026 15:22:54 +0000</pubDate>
      <description>How I built a reproducible event split and kept simulated decay positions separate from detector measurements.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/cambridge-keeping-collisions-together/</guid>
      <content:encoded>
&lt;p&gt;My first useful unit of data was a collision. One collision can leave several short segments in the muon spectrometer. They are clues from the same event, so I keep them together from the first read of the ROOT file through to the final test.&lt;/p&gt;

          &lt;h2&gt;Give the collision an identity&lt;/h2&gt;
          &lt;p&gt;Event numbers can repeat across independently generated samples. I pair the run and event numbers with the identity of the simulation sample. Copies or reprocessings of the same collision need to keep the same identity. The split uses the collision identity and a fixed seed, so rereading the events in a different order gives the same assignments. I save those assignments alongside the information needed to trace each extracted record back to its source.&lt;/p&gt;

          &lt;p&gt;Imagine one collision leaves three segments. If two land in training and the third lands in testing, the model gets part of the test event during training. With an event-level split, all three go to the same partition. The training set fits the model, the validation set guides choices such as the score threshold, and the test set is where I check those choices on held-out collisions.&lt;/p&gt;

          &lt;h2&gt;Keep the answer in a separate envelope&lt;/h2&gt;
          &lt;p&gt;The model inputs describe reconstructed segments, starting with their positions and directions. In simulation I can also read the generated decay positions, which I keep in a separate truth record. An eligible target is a generated decay that meets the agreed detector region and selection. A complete record with zero eligible decays supplies a negative example. A missing truth record leaves the answer unknown.&lt;/p&gt;

          &lt;p&gt;I checked that extraction preserves the collision identity, the segment arrays line up and the split joins back to the same collisions. That gave me a way to test how the data move through the pipeline. The next step for physics training is to settle the eligible decay region and confirm the coordinate conventions. Two files that open perfectly can still disagree about where a metre starts.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Next in the Cambridge notebook&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/cambridge-matching-vertex-candidates/"&gt;Which candidate gets the vertex? &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>A short line in a very large detector</title>
      <link>https://nootincircle.com/notes/cambridge-reading-detector-segments/</link>
      <pubDate>Fri, 06 Nov 2026 15:22:54 +0000</pubDate>
      <description>What a muon spectrometer segment measures, and how several local directions can point back to a displaced decay.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/cambridge-reading-detector-segments/</guid>
      <content:encoded>
&lt;p&gt;When I started my MPhil in October, I kept returning to a drawing with a few short lines. Each line tells you where the muon spectrometer saw a particle pass and which way it was heading there. My question was whether several of those lines could help me work backwards to the same place.&lt;/p&gt;

          &lt;h2&gt;What a segment measures&lt;/h2&gt;
          &lt;p&gt;A segment is a local fit to hits in a detector chamber. It carries a position and a direction. A displaced vertex is the point where a particle decayed away from the original proton collision. If a long-lived particle reaches the outer detector and decays there, its decay can produce a spray of particles. Some leave enough hits for the chambers to measure local directions. &lt;a href="https://atlas.cern/Discover/Detector/Muon-Spectrometer"&gt;ATLAS muon spectrometer&lt;/a&gt; · &lt;a href="https://arxiv.org/abs/2503.20445"&gt;ATLAS displaced-vertex search&lt;/a&gt;&lt;/p&gt;

          &lt;figure class="article-figure"&gt;
            &lt;svg viewBox="0 0 600 234" width="600" height="234" style="display:block;max-width:100%;height:auto" role="img" aria-labelledby="segment-figure-title segment-figure-desc"&gt;
              &lt;title id="segment-figure-title"&gt;Tracing two short segments back to a candidate decay&lt;/title&gt;
              &lt;desc id="segment-figure-desc"&gt;A proton collision is marked on the left. On the right, two solid measured segments have dashed backward projections that converge at a separate candidate decay point.&lt;/desc&gt;
              &lt;rect width="600" height="234" rx="16" fill="#14272e"/&gt;
              &lt;path d="M359 30v153M418 30v153M477 30v153" stroke="#85adae" stroke-opacity=".24" stroke-width="2"/&gt;
              &lt;path d="M239 114 375 64m-136 50 144 40" stroke="#9bc7c2" stroke-opacity=".84" stroke-width="2.4" stroke-dasharray="6 7"/&gt;
              &lt;path d="M375 64l55-20m-47 110 58 16" stroke="#b8e8db" stroke-width="5" stroke-linecap="round"/&gt;
              &lt;circle cx="81" cy="114" r="6" fill="#f2e6d1"/&gt;
              &lt;circle cx="239" cy="114" r="13" fill="#ffd196" fill-opacity=".18"/&gt;
              &lt;circle cx="239" cy="114" r="6" fill="#ffd196"/&gt;
              &lt;g font-family="system-ui,sans-serif" font-size="18" fill="#f2e6d1"&gt;
                &lt;text x="29" y="152"&gt;Beam collision&lt;/text&gt;
                &lt;text x="176" y="202"&gt;Candidate decay&lt;/text&gt;
                &lt;text x="373" y="202" fill="#b8e8db"&gt;Measured segments&lt;/text&gt;
              &lt;/g&gt;
              &lt;path d="M239 135v42" stroke="#ffd196" stroke-opacity=".6" stroke-width="1.6"/&gt;
            &lt;/svg&gt;
            &lt;figcaption&gt;Sketch of the geometry. The solid lines are measured segments. The dashed lines extend their local directions backwards.&lt;/figcaption&gt;
          &lt;/figure&gt;

          &lt;h2&gt;When a drawing turns into reconstruction&lt;/h2&gt;
          &lt;p&gt;On paper, I can extend two lines with a ruler. In the detector, segment directions have measurement uncertainty, magnetic fields bend charged trajectories, and some segments come from unrelated activity. A cluster of compatible directions gives a candidate. The reconstruction still needs a way to decide which segments belong together and where the candidate lies. The published standalone ATLAS method is the starting point for understanding that problem. &lt;a href="https://arxiv.org/abs/1311.7070"&gt;Standalone vertex finding in the ATLAS muon spectrometer&lt;/a&gt;&lt;/p&gt;

          &lt;p&gt;This is the part I like. A line in a chamber is a measurement I can reason about. An event contains a whole collection of them, and the geometry only starts to tell a story when I look at them together.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;See the geometry in motion&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/cambridge.html#detector"&gt;Try the displaced-decay walkthrough &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>What counts as replaying the same collision?</title>
      <link>https://nootincircle.com/notes/openlab-replaying-a-collision/</link>
      <pubDate>Fri, 06 Nov 2026 15:22:54 +0000</pubDate>
      <description>What the PEPPER report taught me about comparing the same sampled collision across arithmetic modes.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/openlab-replaying-a-collision/</guid>
      <content:encoded>
&lt;p&gt;Writing up the openlab project in October made me separate two questions I had been treating as one. Can I run PEPPER again with the same sampling setup? And can I ask two arithmetic builds to evaluate the same candidate collision? The distinction decides what a difference in the output can tell me.&lt;/p&gt;

          &lt;h2&gt;Reuse the sampler, then match the input&lt;/h2&gt;
          &lt;p&gt;An event generator learns where to spend its effort. It can save settings that guide it towards parts of phase space that contribute strongly to a process. In my precision study I reused that optimisation state to study the production stage separately. That held the sampling setup fixed while leaving the generator free to draw new candidate collisions.&lt;/p&gt;

          &lt;p&gt;For an event-by-event comparison, I need each build to see the same momenta and to match the choices that affect the weight, such as the incoming particle types and any sampled spin states. The random seed starts a sequence. Which step uses which number depends on how the run proceeds. Imagine that drawing momenta normally uses the first three random numbers and choosing a spin state uses the fourth. If I read the momenta from a file and skip those first three draws, the spin choice now gets the first number.&lt;/p&gt;

          &lt;p&gt;PEPPER’s current manual describes how its file-based replay keeps those later draws aligned. It draws and discards the numbers that would have been spent generating the momenta. It also lists the settings required to reproduce the original run, and explains why recalculation from stored momenta can still differ at the level of rounding. &lt;a href="https://spice-mc.gitlab.io/pepper/guides/reusing_phase_space_points.html"&gt;PEPPER manual on reusing phase-space points&lt;/a&gt;.&lt;/p&gt;

          &lt;h2&gt;Check the route before comparing precision&lt;/h2&gt;
          &lt;p&gt;I compared direct generation with writing and reading events while keeping the arithmetic in FP64. That isolated the effect of changing how the input reached the calculation. It also gave me a better order for the next comparison. First I’d match the input, settings and relevant sampling choices. Then I’d compare weights before unweighting and follow any discrepancies through the calculation.&lt;/p&gt;

          &lt;p&gt;“Run it again” sounds like the easy part. For this project it turned out to be one of the more interesting experimental controls.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Start with the project&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/openlab-why-precision-matters/"&gt;How many digits does a collision need? &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>Before a collision becomes a histogram</title>
      <link>https://nootincircle.com/notes/openlab-before-the-histogram/</link>
      <pubDate>Fri, 06 Nov 2026 15:22:54 +0000</pubDate>
      <description>Why I looked at PEPPER’s weighted events before unweighting to see where rounding starts to matter.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/openlab-before-the-histogram/</guid>
      <content:encoded>
&lt;p&gt;A cross section is a number I know how to look at. A log full of calculations that led to it is a rather different proposition. During openlab I learnt to keep the individual event weights in view, because the final sum can hide exactly the thing I’m trying to understand.&lt;/p&gt;

          &lt;h2&gt;What an event carries&lt;/h2&gt;
          &lt;p&gt;PEPPER proposes configurations of outgoing particles and works out how much each contributes to the predicted rate. The weight includes the physics of the hard scattering and factors that account for how the configuration was sampled. Some workflows then &lt;em&gt;unweight&lt;/em&gt; those events by accepting heavier events more often, so the accepted events can usually be handled with a common weight. &lt;a href="https://arxiv.org/html/2311.06198v4#S3"&gt;PEPPER paper, event generation framework&lt;/a&gt;.&lt;/p&gt;

          &lt;p&gt;Here’s a tiny positive-weight example. Suppose two candidates have weights 1 and 3, and we use 4 as the acceptance bound. The first gets accepted one quarter of the time and the second three quarters of the time. If both happen to survive, they look alike in the unweighted sample. Their original weights explain why the second was more likely to get there.&lt;/p&gt;

          &lt;h2&gt;Where I put the diagnostic&lt;/h2&gt;
          &lt;p&gt;I recorded numerical diagnostics after each candidate’s weight was calculated and before the accept-or-reject step. That gave me the original weighted calculation to inspect. I could look at the evaluated matrix-element quantity alongside the other ingredients and ask where the sensitivity to rounding entered. A warning from CADNA points to an operation worth investigating. Several such warnings can come from the same candidate. &lt;a href="https://indico.cern.ch/event/1707614/"&gt;CERN openlab project and talk&lt;/a&gt;.&lt;/p&gt;

          &lt;p&gt;Imagine a distribution split into two bins. A shift from weights 4 and 6 to 3 and 7 leaves the total at 10, but it moves weight from one bin to the other. That is why I want both views of a precision comparison. The overall rate and the shape tell me how a physics prediction moves. The individual weights give me a place to start looking for the reason.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Next openlab note&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/openlab-replaying-a-collision/"&gt;What counts as replaying the same collision? &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>Making precision a setting I could test</title>
      <link>https://nootincircle.com/notes/openlab-making-precision-testable/</link>
      <pubDate>Fri, 06 Nov 2026 15:22:54 +0000</pubDate>
      <description>How I set up four arithmetic builds in PEPPER, and what a single C++ literal taught me about testing precision.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/openlab-making-precision-testable/</guid>
      <content:encoded>
&lt;p&gt;In early July I wanted to answer a deceptively small question about PEPPER. If I asked the generator to calculate with 32-bit numbers, which parts of the calculation would actually run in 32 bits? I started by making precision a choice I could build, record and repeat.&lt;/p&gt;

          &lt;h2&gt;Four builds, two questions&lt;/h2&gt;
          &lt;p&gt;I set up separate builds for ordinary single and double precision, called FP32 and FP64, and for each precision with CADNA on the CPU. The ordinary builds let me compare the arithmetic used by the generator. CADNA added a different kind of evidence. It varies the rounding across copies of a calculation and uses their spread to estimate how many digits remain stable. Comparing the four modes gave me a way to ask both whether an answer moved and where it became sensitive. &lt;a href="https://indico.cern.ch/event/1707614/"&gt;CERN openlab project and talk&lt;/a&gt; · &lt;a href="https://cadna.lip6.fr/"&gt;CADNA project&lt;/a&gt;.&lt;/p&gt;

          &lt;h2&gt;A tiny example from C++&lt;/h2&gt;
          &lt;p&gt;Take a variable &lt;code&gt;x&lt;/code&gt; declared as a &lt;code&gt;float&lt;/code&gt;. In &lt;code&gt;x * 0.5&lt;/code&gt;, C++ treats &lt;code&gt;0.5&lt;/code&gt; as a &lt;code&gt;double&lt;/code&gt;, so the expression is evaluated as a double-precision expression at the language level. Write &lt;code&gt;x * 0.5f&lt;/code&gt; and the expression has type &lt;code&gt;float&lt;/code&gt;. Both expressions can give the same result in this example. The interesting bit is that the type of the variable and the type of the operation are two things to check. &lt;a href="https://eel.is/c++draft/lex.fcon"&gt;C++ floating-point literal rules&lt;/a&gt;.&lt;/p&gt;

          &lt;p&gt;That distinction mattered in the generator. I used a shared numerical type for the core calculations, then checked the places where other assumptions could creep back in, such as constants, mathematical functions and complex numbers. The diagnostic builds also needed an explicit conversion when passing values to libraries that expect ordinary floats. The numerical type tells me how a result was calculated. The storage type tells me how it was written.&lt;/p&gt;

          &lt;p&gt;By the time I could switch between builds, I had something much more useful than a collection of edited source files. I could say exactly which arithmetic I was testing and reproduce the setup when the next calculation surprised me.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Next openlab note&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/openlab-before-the-histogram/"&gt;Before a collision becomes a histogram &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>What is ATLAS, and what does it do?</title>
      <link>https://nootincircle.com/notes/what-is-atlas/</link>
      <pubDate>Fri, 06 Nov 2026 14:57:58 +0000</pubDate>
      <description>How the ATLAS detector turns particle collisions into measurements, from the tracker at its centre to the muon chambers used in my Cambridge research.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/what-is-atlas/</guid>
      <content:encoded>
&lt;p&gt;On the homepage, two dots go around a ring and meet at ATLAS. In the real Large Hadron Collider (LHC), beams of protons travel in opposite directions in separate pipes. At a few points around the ring, the beams cross and some of the protons collide. ATLAS is a general-purpose particle detector built around one of those crossings, Point 1. It is also the name of the collaboration that operates the detector and studies the data. &lt;a href="https://home.cern/science/experiments/atlas"&gt;CERN’s ATLAS overview&lt;/a&gt; and &lt;a href="https://home.cern/two-circulating-beams-bring-first-collisions-in-the-lhc/"&gt;guide to the collision points&lt;/a&gt;.&lt;/p&gt;

          &lt;p&gt;Start with one collision. Particles fly out from the centre and cross layers that measure different things. ATLAS pieces those measurements together to reconstruct what happened.&lt;/p&gt;

          &lt;figure class="article-figure"&gt;
            &lt;img src="https://nootincircle.com/assets/atlas-cutaway.svg" alt="View along the beam pipe, showing the inner tracker at the centre, the electromagnetic and hadronic calorimeters around it, and muon chambers around the outside." width="1080" height="820" loading="lazy" decoding="async"&gt;
            &lt;figcaption&gt;Original cross-section of the ATLAS barrel, looking along the beam pipe. Illustration · Not to scale. Based on the &lt;a href="https://atlas.cern/Discover/Detector"&gt;ATLAS detector documentation&lt;/a&gt;.&lt;/figcaption&gt;
          &lt;/figure&gt;

          &lt;h2&gt;What each layer measures&lt;/h2&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;Inner tracking detector.&lt;/strong&gt; Charged particles leave a series of hits as they pass through sensors near the beam pipe. A magnetic field bends their paths. From the direction and amount of bending, we can infer the sign of a particle’s charge and help determine its momentum. &lt;a href="https://atlas.cern/Discover/Detector/Inner-Detector"&gt;ATLAS inner detector&lt;/a&gt;.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Calorimeters.&lt;/strong&gt; When particles interact with dense material, they can produce a shower of secondary particles. The calorimeters sample the energy deposited by the shower to estimate the original particle’s energy. The electromagnetic layers are designed for electrons and photons. The hadronic layers measure showers from particles such as pions and protons. &lt;a href="https://atlas.cern/Discover/Detector/Calorimeter"&gt;ATLAS calorimeters&lt;/a&gt;.&lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;Muon spectrometer.&lt;/strong&gt; Muons often pass through the calorimeters and reach the outer chambers. By measuring how their paths bend in the field of the large toroidal magnets, the spectrometer can estimate their momentum independently of the inner tracker. &lt;a href="https://atlas.cern/Discover/Detector/Muon-Spectrometer"&gt;ATLAS muon spectrometer&lt;/a&gt;.&lt;/li&gt;
          &lt;/ul&gt;

          &lt;h2&gt;How a collision becomes a physics measurement&lt;/h2&gt;
          &lt;p&gt;Collisions arrive too quickly to save all the detector data. A system called the &lt;strong&gt;trigger&lt;/strong&gt; makes a fast first decision using hardware. Software then examines the selected events in more detail and decides which ones to record. Reconstruction software combines the detector signals into things we can analyse, such as tracks, photons and jets. &lt;a href="https://atlas.cern/Discover/Detector/Trigger-DAQ"&gt;ATLAS trigger and data acquisition&lt;/a&gt;.&lt;/p&gt;

          &lt;p&gt;The Higgs boson is a good example of what you can do with that record. In one type of analysis, we use the energies and directions of two photons to calculate the mass of the particle that could have produced them. When many such events are plotted together, Higgs decays contribute a peak near 125 GeV above the background. The same detector can measure known processes in more detail and search for patterns we have yet to see. &lt;a href="https://atlas.cern/Updates/Briefing/Run3-Higgs"&gt;ATLAS Higgs measurements&lt;/a&gt;.&lt;/p&gt;

          &lt;h2&gt;Where my Cambridge project comes in&lt;/h2&gt;
          &lt;p&gt;A hypothetical long-lived particle could reach the muon spectrometer before it decays. The resulting tracks can point back to a spot away from the beam crossing, called a &lt;strong&gt;displaced vertex&lt;/strong&gt;. In my MPhil, I’m investigating whether machine learning can help use those short segments to locate the decay. Read &lt;a href="https://nootincircle.com/notes/cambridge-reading-detector-segments/"&gt;what a segment measures&lt;/a&gt; or see &lt;a href="https://atlas.cern/Updates/Briefing/Displaced-but-not-Unnoticed"&gt;ATLAS’s displaced-vertex search&lt;/a&gt;.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;See how reconstruction works&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/cambridge.html#detector"&gt;Try the displaced-decay walkthrough &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>Explaining numerical precision in a lightning talk</title>
      <link>https://nootincircle.com/notes/openlab-lightning-talk/</link>
      <pubDate>Fri, 06 Nov 2026 14:50:14 +0000</pubDate>
      <description>My CERN openlab lightning talk and the checks I’d want before trusting a mixed-precision generator.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/openlab-lightning-talk/</guid>
      <content:encoded>
&lt;p&gt;On 18 August I took PEPPER to the CERN Council Chamber for the openlab lightning talks. I had about five minutes to explain where floating-point rounding matters in a simulated collision. The &lt;a href="https://indico.cern.ch/event/1707614/"&gt;public agenda&lt;/a&gt; has my slides and recording.&lt;/p&gt;

          &lt;h2&gt;How I’d test a faster calculation&lt;/h2&gt;
          &lt;p&gt;The next question I’d ask is where a mixture of 32-bit and 64-bit arithmetic can work. I’d start by feeding the same event kinematics through both versions and comparing intermediate quantities as well as the final weight. Using the same inputs matters because two independent Monte Carlo runs will differ even when the arithmetic is identical.&lt;/p&gt;

          &lt;p&gt;I’d trace the largest discrepancies back to the first operation that accounts for them, then test that operation in FP64 or rewrite it in a more stable form. Next I’d compare cross sections and distributions across processes. I’d pay particular attention near cuts and in sparsely populated bins, where a shift in event weights can matter even if the overall rate barely moves.&lt;/p&gt;

          &lt;p&gt;The final check is a benchmark on the target hardware. Keeping sensitive operations in FP64 leaves a practical question: does the remaining FP32 work save time across the whole workflow?&lt;/p&gt;

          &lt;h2&gt;Back to the notebook&lt;/h2&gt;
          &lt;p&gt;This is what made the project interesting to me. A question that starts with a data type takes you all the way back to which events matter for a physics analysis. Thanks to Enrico Bothmann and František Stloukal for supervising the project.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Read from the start&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/openlab-why-precision-matters/"&gt;How many digits does a collision need? &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>What happens when you let the rounding vary?</title>
      <link>https://nootincircle.com/notes/openlab-listening-to-rounding/</link>
      <pubDate>Fri, 06 Nov 2026 14:50:14 +0000</pubDate>
      <description>A small cancellation example explains what CADNA can tell us about the reliability of a calculation.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/openlab-listening-to-rounding/</guid>
      <content:encoded>
&lt;p&gt;A program can print ten digits even when some depend on a rounding choice made several operations earlier. During my openlab project, I used CADNA to vary those choices and see how much the answer moved. The output looks considerably less self-assured once you give it a second opinion.&lt;/p&gt;

          &lt;h2&gt;Try it with five significant digits&lt;/h2&gt;
          &lt;p&gt;Subtract 1.23454 from 1.23456. The exact difference is 0.00002. If you first round both inputs to five significant digits, you subtract 1.2345 from 1.2346 and get 0.0001. If you round both inputs down to that precision, you get zero. Both calculations start from the same values. The difference is small enough that changing how you round the inputs changes the answer considerably.&lt;/p&gt;

          &lt;p&gt;That example uses decimal arithmetic to make the cancellation visible. In a real program, rounding happens in binary and can accumulate over a long chain of operations. CADNA runs several copies of the arithmetic with different rounding choices and uses the spread of the results to estimate how many significant digits are stable under those perturbations. &lt;a href="https://www.sciencedirect.com/science/article/abs/pii/S0010465510002353"&gt;CADNA for C and C++&lt;/a&gt;.&lt;/p&gt;

          &lt;h2&gt;What to do when a number moves&lt;/h2&gt;
          &lt;p&gt;In PEPPER I looked for rounding sensitivity in matrix elements and event weights. When a weight moves, intermediate values help locate where the two calculations first diverge. It could be a subtraction of nearly equal numbers or a threshold that sends the calculation down a different branch.&lt;/p&gt;

          &lt;p&gt;Read a warning as a pointer to an operation. One event can raise several, and the estimate of stable digits describes that calculation under those test conditions. For the physics check, compare the overall rate and the regions of the distribution that the analysis uses.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Next in the series&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/openlab-lightning-talk/"&gt;Explaining numerical precision in a lightning talk &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>How many digits does a collision need?</title>
      <link>https://nootincircle.com/notes/openlab-why-precision-matters/</link>
      <pubDate>Fri, 06 Nov 2026 14:50:14 +0000</pubDate>
      <description>Where floating-point precision matters in a particle physics event generator, and what I set out to learn with PEPPER.</description>
      <guid isPermaLink="true">https://nootincircle.com/notes/openlab-why-precision-matters/</guid>
      <content:encoded>
&lt;p&gt;I started my CERN openlab placement with a question about PEPPER: which parts of a particle physics event generator need the extra digits of 64-bit arithmetic? I came in thinking about speed. I spent the summer learning where the digits go.&lt;/p&gt;

          &lt;h2&gt;From a collision to a number&lt;/h2&gt;
          &lt;p&gt;During my summer project, I worked with Enrico Bothmann and František Stloukal on PEPPER, a generator for the parton-level stage of a collider simulation. This is where the simulation calculates the hard interaction between incoming partons such as quarks and gluons, before later stages model the development of the event and its passage through a detector. A matrix element helps determine how likely a particular configuration is. The event weight also reflects factors such as how we sampled that configuration. If the arithmetic changes the weight, it can change how much that event contributes to a prediction. &lt;a href="https://doi.org/10.21468/SciPostPhys.17.3.081"&gt;PEPPER paper&lt;/a&gt;.&lt;/p&gt;

          &lt;h2&gt;What a smaller number format changes&lt;/h2&gt;
          &lt;p&gt;FP32 stores fewer significant bits than FP64. The gap between the numbers it can represent grows as the numbers get larger. When a calculation subtracts two nearly equal quantities, the difference can be smaller than the rounding errors already in them. The subtraction can then be perfectly legal arithmetic and still return a misleading answer. There’s a small &lt;a href="https://nootincircle.com/#openlab"&gt;mass reconstruction example on the homepage&lt;/a&gt; that lets you see this happen.&lt;/p&gt;

          &lt;p&gt;Start with the same event kinematics and compare the matrix element and weight. Then ask whether the difference changes a quantity the analysis uses. A few digits matter a lot more if they decide which side of a cut an event lands on.&lt;/p&gt;

          &lt;p&gt;Some hardware can do 32-bit arithmetic faster. My summer project focused on the step that comes first: finding where rounding affects the calculation. I started by &lt;a href="https://nootincircle.com/notes/openlab-making-precision-testable/"&gt;making precision a setting I could test&lt;/a&gt;. The &lt;a href="https://indico.cern.ch/event/1707614/"&gt;CERN openlab lightning talk programme&lt;/a&gt; has the project description.&lt;/p&gt;

          &lt;div class="article-next"&gt;
            &lt;p class="eyebrow"&gt;Next in the series&lt;/p&gt;
            &lt;a class="sub-link" href="https://nootincircle.com/notes/openlab-listening-to-rounding/"&gt;What happens when you let the rounding vary? &lt;span aria-hidden="true"&gt;→&lt;/span&gt;&lt;/a&gt;
          &lt;/div&gt;
</content:encoded>
    </item>
    <item>
      <title>Wrapping up UCL: what I built, what I learnt, and what I’d do next</title>
      <link>https://nootincircle.com/2026/10/20/wrapping-up-ucl-what-i-built-what-i-learnt-and-what-id-do-next/</link>
      <pubDate>Tue, 20 Oct 2026 11:41:04 +0000</pubDate>
      <description>A look back at my UCL BSc project, from a Rivet analysis for boosted Higgs production to an exploratory Contur and Spey workflow.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=252</guid>
      <content:encoded>
&lt;p&gt;Time to close the UCL chapter.&lt;/p&gt;

&lt;p&gt;The project finished before the blog did. I’m calling that an unusually thorough editorial process.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/ucl_illuminate1.jpg" alt="" loading="lazy" decoding="async" width="800" height="450"&gt;&lt;/figure&gt;

&lt;p&gt;Figure 1. Artist’s impression of UCL Illuminated, showing the Portico and Wilkins Building lit up for UCL’s bicentenary celebrations in 2026. Image credit: © Double Take Productions. Source: &lt;a href="https://www.ucl.ac.uk/news/2026/feb/ucl-illuminated-join-wednesdays-online-stream"&gt;UCL News&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The previous posts went from simulating collisions and tagging boosted Higgs candidates to comparing model implementations and testing the results with Contur and Spey.&lt;/p&gt;

&lt;p&gt;Here’s what came together, where I got stuck and what I’d try first if I went back to it.&lt;/p&gt;

&lt;h2&gt;The original question&lt;/h2&gt;

&lt;p&gt;My BSc project, supervised by Professor Jon Butterworth, investigated &lt;strong&gt;Higgs physics at the Future Circular Collider&lt;/strong&gt;, focusing on associated ZH production at 85 TeV.&lt;/p&gt;

&lt;p&gt;The signature was an invisibly decaying Z boson alongside a Higgs decaying into a bottom quark and an antibottom quark. In the boosted regime, the Higgs decay products can be reconstructed inside one large jet.&lt;/p&gt;

&lt;p&gt;I wanted to use the Higgs Effective Lagrangian to see how modified Higgs interactions would change this process, then estimate how sensitive the analysis might be to those changes.&lt;/p&gt;

&lt;p&gt;The plan sounded straightforward. Generate events, analyse them, vary the coefficients and interpret the results.&lt;/p&gt;

&lt;p&gt;Then the software was given an opportunity to comment.&lt;/p&gt;

&lt;h2&gt;What I built&lt;/h2&gt;

&lt;p&gt;I connected the main stages of the project into one working analysis chain:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event generation → Rivet reconstruction → signal–background comparisons → Contur/Spey interpretation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each arrow required its own checks.&lt;/p&gt;

&lt;h3&gt;Getting the generation under control&lt;/h3&gt;

&lt;p&gt;I loaded the HEL implementation into Herwig and compared its cross sections with MadGraph in the Standard Model limit and at exploratory nonzero coefficient settings.&lt;/p&gt;

&lt;p&gt;The checks gave me a baseline and showed how strongly some of the benchmark coefficients could change the predicted rate.&lt;/p&gt;

&lt;p&gt;They also taught me to be precise about “agreement”. In one benchmark, both generators predicted a large enhancement, yet the difference between them exceeded the quoted integration errors. The final report made that distinction clearer than my early posts did.&lt;/p&gt;

&lt;p&gt;I used Standard Model samples for the main event analysis.&lt;/p&gt;

&lt;h3&gt;Turning simulated events into Higgs candidates&lt;/h3&gt;

&lt;p&gt;I developed the custom Rivet routine, FCC_MC_ZH2BB_MDT, to reconstruct large jets, apply missing-momentum and b-hadron requirements, groom the candidates, and inspect their masses.&lt;/p&gt;

&lt;p&gt;The routine produced distributions and cutflows, so I could see how many events survived each step. I could vary the MET requirement, jet radius and grooming parameter without rewriting the routine.&lt;/p&gt;

&lt;p&gt;I also matched the generation to the final state I wanted: boosted Z bosons decaying invisibly.&lt;/p&gt;

&lt;p&gt;At one representative working point, the routine retained about 21.7% of the generated signal sample. That fraction applies to the boosted generation cuts and selected decay mode used in the study.&lt;/p&gt;

&lt;h3&gt;Bringing in the background&lt;/h3&gt;

&lt;p&gt;I then established a comparison using one million signal events and one million background events. Stephen generated the main background sample: Z production alongside a bottom-quark pair, with the Z decaying invisibly.&lt;/p&gt;

&lt;p&gt;The background sample let me measure what else passed the same selection.&lt;/p&gt;

&lt;p&gt;Varying the MET selection showed how much signal I lost as I removed background.&lt;/p&gt;

&lt;p&gt;In the highest MET bins, a few surviving events could make the ratio look impressive. I learnt to check the counts before celebrating the ratio.&lt;/p&gt;

&lt;h3&gt;Connecting the analysis to a statistical test&lt;/h3&gt;

&lt;p&gt;In the final stage, I adapted Contur and Spey to use simulated pseudo-measurements from the custom analysis.&lt;/p&gt;

&lt;p&gt;I wrote helper code to prepare the histograms, matched reference and theory objects, added the database entries and selected the observables for the scans.&lt;/p&gt;

&lt;p&gt;The resulting workflow ran a 13 TeV closure test and an 85 TeV FCC-like study. Both scans preferred an added contribution near zero.&lt;/p&gt;

&lt;h2&gt;How the project changed direction&lt;/h2&gt;

&lt;p&gt;The project finished as a controlled Standard Model analysis with a statistical workflow I could exercise using simulated inputs.&lt;/p&gt;

&lt;p&gt;The HEL calculations established benchmarks for the two generators. To turn the scan into direct EFT constraints, I’d need reliable event generation with the translated model and a statistical treatment that accounts for uncertainties and correlations.&lt;/p&gt;

&lt;p&gt;That change made the remaining problems much more specific.&lt;/p&gt;

&lt;p&gt;“Study new physics at the FCC” is a large ambition. “Understand how this template’s Monte Carlo uncertainty enters this likelihood” is a task I can investigate.&lt;/p&gt;

&lt;p&gt;Less impressive as a conversation starter, perhaps. Considerably more useful when deciding what to do on Monday.&lt;/p&gt;

&lt;h2&gt;What I’d do next&lt;/h2&gt;

&lt;h3&gt;1. Establish reliable EFT event generation&lt;/h3&gt;

&lt;p&gt;I would start with a small number of carefully checked benchmark points.&lt;/p&gt;

&lt;p&gt;Before a wider scan, I’d check that the operator conventions, coefficient normalisations and generator inputs give the intended predictions.&lt;/p&gt;

&lt;p&gt;I’d carry those benchmark samples through the analysis and check that a change in the coefficient produced the expected change in the observable.&lt;/p&gt;

&lt;h3&gt;2. Validate the statistical treatment&lt;/h3&gt;

&lt;p&gt;Next I’d trace the uncertainties from the simulated reference, the baseline and the added template into the likelihood, including correlations between bins.&lt;/p&gt;

&lt;p&gt;I’d start with controlled cases where I know what the fit should return.&lt;/p&gt;

&lt;p&gt;Those checks would tell me whether I could attach a confidence level to the scan crossings and explain where the uncertainty came from.&lt;/p&gt;

&lt;h3&gt;3. Extend the analysis on those foundations&lt;/h3&gt;

&lt;p&gt;With the model and statistics checked, I’d generate more events in sparse regions and compare a wider range of selections and observables.&lt;/p&gt;

&lt;p&gt;I’d then test how detector effects and pile-up change the results from the particle-level study.&lt;/p&gt;

&lt;h2&gt;What I’m taking away&lt;/h2&gt;

&lt;p&gt;The project taught me to follow a result all the way back through the analysis.&lt;/p&gt;

&lt;p&gt;A model that loads, a cross section that looks sensible, a usable event sample, a tagged candidate and a completed statistical scan each answer a different question.&lt;/p&gt;

&lt;p&gt;By the end I could run that whole chain and point to the next check at each stage.&lt;/p&gt;

&lt;p&gt;A big thank you to Prof. Jon Butterworth for supervising the project and helping me work through its changing direction. He remains, as previously reported, probably the nicest professor I’ve met.&lt;/p&gt;

&lt;p&gt;That wraps up the UCL project and, finally, this part of the blog.&lt;/p&gt;

&lt;p&gt;Contur has received its ending. I can now introduce the next research adventure without leaving the previous one permanently labelled “coming soon”.&lt;/p&gt;

&lt;p&gt;And the project earned a first-class grade, which was a lovely way to finish. ;)&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>What the numbers actually said: Contur at 13 and 85 TeV</title>
      <link>https://nootincircle.com/2026/10/20/what-the-numbers-actually-said-contur-at-13-and-85-tev/</link>
      <pubDate>Tue, 20 Oct 2026 11:33:34 +0000</pubDate>
      <description>What I learnt from a 13 TeV closure test and an exploratory 85 TeV scan with Contur.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=242</guid>
      <content:encoded>
&lt;p&gt;In the previous post, I connected the Rivet analysis to Contur and Spey using simulated pseudo-measurements.&lt;/p&gt;

&lt;p&gt;Once the histograms and the database were talking to each other, the scans returned two numbers: 41.8 and 8.11.&lt;/p&gt;

&lt;p&gt;A satisfying moment, followed by the harder question of what those numbers meant.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/fcc-map-overview-stand-phy01-b-2025-00000.png" alt="" loading="lazy" decoding="async" width="1440" height="1008"&gt;&lt;/figure&gt;

&lt;p&gt;Figure 1. Schematic view of a proposed Future Circular Collider (FCC) location in the Geneva region, showing its ring alongside the existing LHC. Image credit: Daniel Dominguez/CERN, © 2025 CERN. Source: &lt;a href="https://cds.cern.ch/record/2929353"&gt;CERN Document Server, CERN-GRAPHICS-2025-002&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;A quick reminder: what am I varying?&lt;/h2&gt;

&lt;p&gt;I used distributions from Standard Model simulation as my reference, so the comparison started from a known set of modelling assumptions.&lt;/p&gt;

&lt;p&gt;Against that reference, I tested a prediction consisting of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Standard Model baseline + μ × an additional test contribution.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The parameter μ, pronounced “mu”, controls the size of the added component. At μ = 0, there is no extra contribution. At μ = 1, I add the nominal template once.&lt;/p&gt;

&lt;p&gt;The added templates also came from Standard Model simulation. That gave me controlled inputs for the statistical workflow while I worked on EFT event generation.&lt;/p&gt;

&lt;p&gt;With the &lt;a href="https://arxiv.org/abs/2307.06996"&gt;Spey statistical backend&lt;/a&gt;, I scanned μ to find the best fit and see how the fit changed as I added more of the template.&lt;/p&gt;

&lt;h2&gt;First: does the 13 TeV test behave sensibly?&lt;/h2&gt;

&lt;p&gt;The 13 TeV study used the fat-jet mass distribution as a closure test.&lt;/p&gt;

&lt;p&gt;A closure test asks whether the procedure gives the answer you expect in a controlled case. With an SM-like reference and baseline, the fit should prefer μ close to zero.&lt;/p&gt;

&lt;p&gt;The scan’s best-fit μ was effectively zero.&lt;/p&gt;

&lt;p&gt;My synthetic Standard Model reference was happy with the Standard Model baseline. That was the check I needed before moving to 85 TeV.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/chatgpt-e59bbee5838f-2026e5b9b410e69c8820e697a5-12_32_03.png" alt="" loading="lazy" decoding="async" width="1051" height="828"&gt;&lt;/figure&gt;

&lt;p&gt;Figure 2. The 13 TeV scan. The black curve reaches its minimum near μ = 0. The blue vertical line marks the crossing of the red reference threshold at μ ≈ 41.8. Source: my UCL BSc project report.&lt;/p&gt;

&lt;p&gt;As the contribution grew, the scan curve rose. It reached the plotted threshold at &lt;strong&gt;μ ≈ 41.8&lt;/strong&gt;, about 42 times the nominal added template.&lt;/p&gt;

&lt;p&gt;The nominal template at μ = 1 sat well below that crossing.&lt;/p&gt;

&lt;p&gt;The fit behaved as expected in this closure test. Interpreting the crossing at a stated confidence level would require checks of the uncertainty model.&lt;/p&gt;

&lt;h2&gt;Then: the 85 TeV FCC-like study&lt;/h2&gt;

&lt;p&gt;For the 85 TeV setup, I examined the groomed mass of b-tagged Higgs-candidate fat jets.&lt;/p&gt;

&lt;p&gt;I plotted the distribution &lt;strong&gt;before applying the explicit Higgs mass window&lt;/strong&gt;. That let me see whether the candidates clustered near the Higgs mass before I selected on it.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/85tev-candidate-mass.png" alt="" loading="lazy" decoding="async" width="1240" height="1234"&gt;&lt;/figure&gt;

&lt;p&gt;Figure 3. The 85 TeV candidate-mass distribution before the Higgs mass-window selection. Black markers are simulated pseudo-data; red is the SM baseline; blue includes the nominal added template. The original legend labels the blue curve “BSM+SM”, although this test used an SM-derived template. Source: my UCL BSc project report.&lt;/p&gt;

&lt;p&gt;The distribution showed a feature around 125 GeV, where I expected the reconstructed Higgs candidates to sit.&lt;/p&gt;

&lt;p&gt;The reference and baseline agreed closely. Adding the template raised the prediction around the peak and at higher masses.&lt;/p&gt;

&lt;p&gt;The mass observable responded where I expected it to. The scan showed how that response changed the fit.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/85tev-spey-scan.png" alt="" loading="lazy" decoding="async" width="1127" height="1060"&gt;&lt;/figure&gt;

&lt;p&gt;Figure 4. The 85 TeV scan. The minimum again lies near μ = 0, with the plotted threshold crossing at μ ≈ 8.11. Source: my UCL BSc project report.&lt;/p&gt;

&lt;p&gt;The best fit again lay effectively at zero. The curve reached its threshold at &lt;strong&gt;μ ≈ 8.11&lt;/strong&gt;, about eight times the nominal template.&lt;/p&gt;

&lt;h2&gt;Does 8.11 versus 41.8 prove an FCC improvement?&lt;/h2&gt;

&lt;p&gt;I would quite like to divide the two numbers and let the arithmetic finish the physics for me.&lt;/p&gt;

&lt;p&gt;Each crossing is in its benchmark’s own units. The benchmarks used different observables, and the size of one unit of μ depends on how each template is normalised.&lt;/p&gt;

&lt;p&gt;To isolate the effect of collision energy, I would need to compare setups with consistent observables, template definitions, luminosity and uncertainties.&lt;/p&gt;

&lt;h2&gt;The unfinished part: uncertainties&lt;/h2&gt;

&lt;p&gt;Some bins in the simulated reference had very small uncertainties. In the 13 TeV distribution, a modest difference between curves could look large when expressed in units of those uncertainties.&lt;/p&gt;

&lt;p&gt;The next checks are how the calculation handles the added template’s Monte Carlo statistical uncertainty and correlations between bins.&lt;/p&gt;

&lt;p&gt;These details matter. Shared uncertainties can make several bins move together, affecting how much independent information the distribution contains.&lt;/p&gt;

&lt;p&gt;The lower panels helped me inspect the comparison. Checking how each uncertainty entered the fit was a separate job.&lt;/p&gt;

&lt;p&gt;The red lines show the chosen threshold of 3.84. The confidence level associated with a crossing depends on the test statistic and its distribution, which still needed checking.&lt;/p&gt;

&lt;h2&gt;What did this stage achieve?&lt;/h2&gt;

&lt;p&gt;The custom analysis could now produce distributions and use them to build a simulated reference and run statistical scans with Contur and Spey.&lt;/p&gt;

&lt;p&gt;The 13 TeV test returned the expected best fit near zero. The 85 TeV study produced a Higgs-sensitive mass distribution and a scan that responded to the added template.&lt;/p&gt;

&lt;p&gt;The crossings were provisional. A direct EFT interpretation would require validated predictions connecting the Wilson coefficients to these distributions, as well as the uncertainty checks above.&lt;/p&gt;

&lt;p&gt;The computer had successfully returned numbers. The remaining work was understanding exactly what those numbers deserved to mean.&lt;/p&gt;

&lt;p&gt;Next, I’ll bring the UCL project together: what I set out to do, what I completed, and what I would tackle first if I continued it.&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Finally, Contur: making measurements for a collider that hasn’t run yet</title>
      <link>https://nootincircle.com/2026/10/16/finally-contur-making-measurements-for-a-collider-that-hasnt-run-yet/</link>
      <pubDate>Thu, 15 Oct 2026 23:29:44 +0000</pubDate>
      <description>How I connected a Rivet analysis to Contur and Spey for a simulated collider without measured data.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=219</guid>
      <content:encoded>
&lt;p&gt;After several posts of promising to get to Contur, here we are.&lt;/p&gt;

&lt;p&gt;I had a working Rivet analysis, simulated Higgs events and a way to compare signal with background. The one thing I couldn’t get was a measurement from the FCC.&lt;/p&gt;

&lt;p&gt;The collider hadn’t been built. A slightly inconvenient detail.&lt;/p&gt;

&lt;p&gt;My original plan was to generate events with modified Higgs interactions and find out how tightly I could constrain them. The coefficient study depended on getting the model translation and event generation to work.&lt;/p&gt;

&lt;p&gt;I used the samples I had to test the statistical workflow. Could it recover the expected answer against a reference I had simulated myself?&lt;/p&gt;

&lt;h2&gt;What does Contur actually do?&lt;/h2&gt;

&lt;p&gt;Contur stands for &lt;strong&gt;Constraints On New Theories Using Rivet&lt;/strong&gt;.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/contur-logo.png" alt="" loading="lazy" decoding="async" width="619" height="468"&gt;&lt;/figure&gt;

&lt;p&gt;Figure 1. The ship illustration used as the Contur logo. Illustration by Chris Wormell, from &lt;em&gt;A Map of the Invisible&lt;/em&gt;, as credited in the &lt;a href="https://indico.cern.ch/event/1076291/contributions/4609969/attachments/2353048/4015595/Contur_tutorial_TOOLS21-2.pdf"&gt;Contur tutorial&lt;/a&gt;. Logo source: &lt;a href="https://hepcedar.gitlab.io/contur-webpage/"&gt;official Contur documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Contur starts with a collider measurement. Even a distribution measured to study a Standard Model process can constrain a proposed model if its extra contribution changes the shape or rate.&lt;/p&gt;

&lt;p&gt;Contur uses measurements preserved in Rivet to test whether predictions from a proposed model are compatible with the data. The &lt;a href="https://arxiv.org/abs/2102.04377"&gt;Contur toolkit paper&lt;/a&gt; explains the approach in detail.&lt;/p&gt;

&lt;p&gt;In the extra-contribution setup I was studying, the question was:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much could I add to an acceptable Standard Model prediction before it stopped agreeing with the reference?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That gives us something more informative than looking at two curves and deciding that one seems suspiciously enthusiastic.&lt;/p&gt;

&lt;h2&gt;Making a reference dataset&lt;/h2&gt;

&lt;p&gt;For the FCC study, I used simulated Standard Model events to build the reference distributions.&lt;/p&gt;

&lt;p&gt;These &lt;strong&gt;pseudo-measurements&lt;/strong&gt; are the distributions I would expect under the Standard Model assumptions used in the simulation.&lt;/p&gt;

&lt;p&gt;They gave me a controlled way to test the workflow. How much the resulting scan can tell us depends on the uncertainties assigned to that reference.&lt;/p&gt;

&lt;p&gt;My Rivet routine supplied the distributions. A jet-mass histogram records the simulated contribution in each mass bin, so it keeps the shape of the distribution as well as the total yield.&lt;/p&gt;

&lt;p&gt;That matters for a Higgs analysis. An additional contribution concentrated around the Higgs-candidate mass region can behave differently from one spread across the entire distribution.&lt;/p&gt;

&lt;p&gt;Rivet stored these histograms in YODA files. Those became the inputs to the next stage.&lt;/p&gt;

&lt;h2&gt;Teaching the files to talk to each other&lt;/h2&gt;

&lt;p&gt;A histogram can look perfectly good on a plot and still be invisible to the next program in the chain.&lt;/p&gt;

&lt;p&gt;I came here to study Higgs physics and ended up negotiating with histogram names. Fair enough.&lt;/p&gt;

&lt;p&gt;I wrote helper code to prepare matching reference and theory objects, labelled &lt;code&gt;/REF/&lt;/code&gt; and &lt;code&gt;/THY/&lt;/code&gt;, with consistent analysis names and histogram paths.&lt;/p&gt;

&lt;p&gt;I also extended the Contur database with the entries needed for the custom analysis, including its grouping and luminosity information.&lt;/p&gt;

&lt;p&gt;I kept the observables intended for the statistical study and excluded empty objects and diagnostic plots from the Rivet output.&lt;/p&gt;

&lt;p&gt;Once Contur could read the custom FCC analysis, I could start checking the statistical assumptions.&lt;/p&gt;

&lt;h2&gt;Turning up the extra contribution&lt;/h2&gt;

&lt;p&gt;The comparison can be written in plain English:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Total prediction = Standard Model baseline + μ × extra test contribution.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The symbol μ, pronounced “mu”, controls the size of the additional contribution:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;μ = 0 means the baseline alone.&lt;/li&gt;

&lt;li&gt;μ = 1 adds the test contribution at its nominal size.&lt;/li&gt;

&lt;li&gt;μ = 2 adds twice that test contribution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I built the test templates from Standard Model simulation to give the pipeline controlled inputs. A constraint on cH, cHW or cHB would require validated predictions for how those coefficients change the distributions.&lt;/p&gt;

&lt;p&gt;For the statistical calculation, I used Contur with the &lt;a href="https://arxiv.org/abs/2307.06996"&gt;Spey backend&lt;/a&gt;. Spey provides tools for likelihood-based hypothesis tests: assessing how well a prediction describes the reference within a specified statistical model.&lt;/p&gt;

&lt;p&gt;Scanning μ then shows where the agreement is best and how it changes as the extra contribution grows.&lt;/p&gt;

&lt;h2&gt;First, check the obvious case&lt;/h2&gt;

&lt;p&gt;Before interpreting the FCC-like study, I ran a 13 TeV closure test using an SM-like reference and SM-derived predictions.&lt;/p&gt;

&lt;p&gt;With an SM-like reference and baseline, I expected the fit to prefer an additional contribution close to zero.&lt;/p&gt;

&lt;p&gt;The best-fit μ was effectively zero. The workflow passed that qualitative check.&lt;/p&gt;

&lt;p&gt;I still needed to check how the calculation handled the simulated uncertainties, especially for the added template, and how it treated correlations between bins. Those choices determine how much weight a difference between curves carries.&lt;/p&gt;

&lt;p&gt;By this point, I had a working chain:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simulated events → Rivet distributions → pseudo-measurements → Contur/Spey statistical tests.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That was a substantial step beyond getting a Higgs tagger to run.&lt;/p&gt;

&lt;p&gt;Next came the results at 13 and 85 TeV, and the job of deciding how much confidence to place in those numbers.&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Lost in translation: from HEL to SMEFT</title>
      <link>https://nootincircle.com/2026/10/16/lost-in-translation-from-hel-to-smeft/</link>
      <pubDate>Thu, 15 Oct 2026 23:21:25 +0000</pubDate>
      <description>What happened when I translated Higgs-sector coefficients between HEL and SMEFT and checked the results in two generators.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=210</guid>
      <content:encoded>
&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/d0e8a576881c7d6b944b3d2c78a5515e_8-851s13.jpg.webp" alt="" loading="lazy" decoding="async" width="320" height="240"&gt;&lt;/figure&gt;

&lt;p&gt;The drafts have made it out of the drawer.&lt;/p&gt;

&lt;p&gt;The Contur cliffhanger can wait one more post.&lt;/p&gt;

&lt;p&gt;First, what happened to my original plan to change the Higgs interactions and see what that did to the predictions?&lt;/p&gt;

&lt;p&gt;In the early posts, I introduced the Higgs Effective Lagrangian, or HEL, and started varying three Wilson coefficients, written here as cH, cHW, and cHB. These control additional interactions that can change the rate and kinematics of Higgs production.&lt;/p&gt;

&lt;p&gt;HEL describes modifications to Higgs interactions using dimension-six operators. Moving to the Warsaw-basis implementation of Standard Model Effective Field Theory (SMEFT) meant expressing the same interactions in a different set of operators. The &lt;a href="https://arxiv.org/abs/1310.5150"&gt;HEL model paper&lt;/a&gt; describes the implementation I used for the initial checks.&lt;/p&gt;

&lt;p&gt;I compared Herwig and MadGraph with all Wilson coefficients set to zero, then switched on individual coefficients and combinations.&lt;/p&gt;

&lt;p&gt;One exploratory benchmark used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cH = 0.2&lt;/li&gt;

&lt;li&gt;cHW = 0.1&lt;/li&gt;

&lt;li&gt;cHB = 0.1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At 85 TeV, MadGraph returned a cross section of 197 ± 1 pb, while Herwig returned 205.4 ± 0.3 pb. Both predicted a substantial enhancement over the Standard Model rate.&lt;/p&gt;

&lt;p&gt;The generators predict a similar enhancement, and their cross sections differ by roughly 4%. That difference exceeds the quoted Monte Carlo integration uncertainties, so my earlier description of statistical agreement was too strong.&lt;/p&gt;

&lt;p&gt;This was an exploratory benchmark. To judge whether the parameter point was physically viable, I would need further checks, including whether the EFT approximation held in the energy region I studied.&lt;/p&gt;

&lt;p&gt;The next challenge was expressing these HEL settings in the Warsaw basis used by the SMEFT implementation I was investigating.&lt;/p&gt;

&lt;p&gt;A basis is the set of independent operators used to write the effective Lagrangian. The same interaction can look different in two bases: one nonzero coefficient in the first can become several in the second.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/1508.05895"&gt;Rosetta&lt;/a&gt; can translate between bases such as SILH and Warsaw. I still needed to check how the specific model files defined and normalised their coefficients.&lt;/p&gt;

&lt;p&gt;The cH comparison came closer after I accounted for a normalisation factor involving the new-physics scale and the Higgs vacuum expectation value. That pointed to a convention issue in this particular check.&lt;/p&gt;

&lt;p&gt;The momentum-dependent cHW case remained unresolved. The translation gave several Warsaw-basis coefficients, as can happen in a basis change. The test was whether the complete setup reproduced the HEL prediction, and the much larger HEL cross section did not reappear.&lt;/p&gt;

&lt;p&gt;Loading a model and obtaining a cross section were only the first two checks. Rivet needed a usable event sample, and I hadn’t established a reliable way to generate one with the translated SMEFT model in Herwig by the end of the project.&lt;/p&gt;

&lt;p&gt;I continued with Herwig’s built-in Standard Model signal and Standard Model background samples. Those gave me stable inputs for the event selection, jet tagging and signal–background comparison.&lt;/p&gt;

&lt;p&gt;The HEL studies gave me a set of generator benchmarks. Direct Wilson-coefficient constraints would need reliable EFT event samples.&lt;/p&gt;

&lt;p&gt;That brought me back to Contur. I now had a narrower question: could I use simulated measurements to test the statistical interpretation?&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Yearly Catch up: a Higgs candidate is only half the story</title>
      <link>https://nootincircle.com/2026/10/16/yearly-catch-up-a-higgs-candidate-is-only-half-the-story/</link>
      <pubDate>Thu, 15 Oct 2026 23:17:04 +0000</pubDate>
      <description>How the boosted Higgs analysis took shape, from identifying a candidate jet to deciding what counted as signal and background.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=203</guid>
      <content:encoded>
&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2026/10/fig_33aa.jpg" alt="" loading="lazy" decoding="async" width="1440" height="949"&gt;&lt;/figure&gt;

&lt;p&gt;It’s been a while. Here’s a favourite ATLAS event display to get us back into the physics.&lt;/p&gt;

&lt;p&gt;Figure 1. ATLAS event display of a candidate Higgs decay into four muons, H → ZZ* → 4μ, recorded on 10 June 2012. Image credit: ATLAS Collaboration, © 2012 CERN. Reproduced without modification under &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;CC BY-SA 4.0&lt;/a&gt;. &lt;a href="https://cds.cern.ch/record/1605821"&gt;Original source: CERN Document Server&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Last time, I showed how my Rivet routine looks for a boosted Higgs. It finds a large jet, checks for b hadrons, grooms the jet and asks whether its mass is close to the Higgs mass.&lt;/p&gt;

&lt;p&gt;The routine could now tag candidates. How often could something else pass the same selection?&lt;/p&gt;

&lt;p&gt;A background jet does not politely remove itself just because I have written a Higgs analysis.&lt;/p&gt;

&lt;p&gt;My project follows a different channel from the one in the ATLAS image. In the proton–proton process pp → ZH, the Z decays into neutrinos and the Higgs decays into a bottom quark and an antibottom quark.&lt;/p&gt;

&lt;p&gt;When the Higgs has high transverse momentum, the two bottom quarks can end up inside one large jet. The neutrinos escape detection, so the visible particles carry an imbalance in transverse momentum. I call that imbalance MET here.&lt;/p&gt;

&lt;p&gt;I generated signal with Z-boson transverse momentum above 400 GeV and selected invisible Z decays. The efficiencies below describe that restricted, simulated signal sample.&lt;/p&gt;

&lt;p&gt;I varied the MET requirement, the radius of the large jet and the grooming parameter &lt;code&gt;z_cut&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;One working point used MET above 400 GeV, a jet radius of 1.0 and &lt;code&gt;z_cut&lt;/code&gt; = 0.1. It retained 217,297 tagged candidates from one million generated signal events, about 21.7%.&lt;/p&gt;

&lt;p&gt;I used that working point for the background comparison. Optimising the selection would take a broader study.&lt;/p&gt;

&lt;p&gt;The main background I studied was Z production alongside a bottom quark and an antibottom quark, again with an invisible Z decay. It can give us the same ingredients as the signal: missing momentum and bottom-quark jets. Here the pair comes from a process with no Higgs decay.&lt;/p&gt;

&lt;p&gt;Stephen generated the background sample. I ran one million simulated events of each process through the analysis.&lt;/p&gt;

&lt;p&gt;To compare the expected event counts, I used each process’s cross section, the assumed integrated luminosity and the fraction of events that passed the selection:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Expected event count = cross section × integrated luminosity × selection efficiency.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I called the expected numbers passing the selection S for signal and B for background.&lt;/p&gt;

&lt;p&gt;I compared S/B, the signal-to-background ratio, with S/√B, a simple sensitivity proxy that is most useful for sufficiently large, background-dominated counts.&lt;/p&gt;

&lt;p&gt;They answer different questions. A selection can produce a cleaner sample while throwing away enough signal to make the measurement less sensitive.&lt;/p&gt;

&lt;p&gt;Tightening the MET cut could reduce background, at the cost of losing signal. At the highest MET values, so few simulated events survived that a fluctuation in one nearly empty bin could make the ratio look impressive.&lt;/p&gt;

&lt;p&gt;The comparison gave me signal and background yields for the same particle-level selection. An experimental sensitivity estimate would also need detector effects and a fuller treatment of uncertainties.&lt;/p&gt;

&lt;p&gt;Meanwhile, I was still trying to get reliable event generation with the translated EFT model. The early benchmarks remained exploratory, and I continued the main analysis with a controlled Standard Model baseline.&lt;/p&gt;

&lt;p&gt;Once I had the distributions, I could ask how much room they left for an additional contribution.&lt;/p&gt;

&lt;p&gt;That meant returning to Contur and working out what to use as a measurement for a collider that hasn’t run yet.&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Hunting boosted Higgs bosons with Rivet at FCC-hh</title>
      <link>https://nootincircle.com/2025/11/26/hunting-boosted-higgs-bosons-with-rivet-at-fcc-hh/</link>
      <pubDate>Wed, 26 Nov 2025 14:48:07 +0000</pubDate>
      <description>How my Rivet routine uses missing transverse momentum, bottom hadrons and a groomed jet mass to find boosted Higgs candidates.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=185</guid>
      <content:encoded>
&lt;p&gt;Once I have a pile of simulated events, how do I find the ones that look like boosted Higgs production? That’s where Rivet comes in.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/11/long-rivet-2.png" alt="" loading="lazy" decoding="async" width="1024" height="768"&gt;&lt;/figure&gt;

&lt;p&gt;A rivet, in the other sense.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://heprivet.org/"&gt;Rivet&lt;/a&gt; stands for Robust Independent Validation of Experiment and Theory. It’s a C++ framework for analysing Monte Carlo events at particle level. I can run an existing analysis from its library or write my own selection.&lt;/p&gt;

&lt;p&gt;My analysis is called &lt;code&gt;FCC_MC_ZH2BB_MDT&lt;/code&gt;. I’m looking for a pair of signatures in the same event:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Z decays to neutrinos, leaving a large imbalance in transverse momentum (MET).&lt;/li&gt;

&lt;li&gt;The Higgs decays to a bottom quark and antiquark. When the Higgs has high transverse momentum, both sprays of particles can fit inside one large-radius jet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s how I select a candidate:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Require large MET.&lt;/strong&gt; A cut on the imbalance selects events consistent with an energetic, invisibly decaying Z. Background processes can also produce MET.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Build large-radius jets.&lt;/strong&gt; I cluster jets with a radius parameter of about 1.0 and use the highest-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; jet as the starting Higgs candidate.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Check the transverse-momentum balance.&lt;/strong&gt; If the Higgs and the Z recoil against each other, the jet’s &lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; should be comparable to the MET. I apply a loose cut on the ratio.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Look for bottom hadrons.&lt;/strong&gt; Rivet’s particle-level b-tagging utilities let me check whether the jet contains a bottom hadron.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Groom the jet.&lt;/strong&gt; With FastJet, I apply the &lt;a href="https://arxiv.org/abs/1307.0007"&gt;modified mass-drop tagger&lt;/a&gt; (mMDT). It undoes the clustering until it finds a sufficiently balanced split, discarding soft branches along the way.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Check the mass.&lt;/strong&gt; I keep candidates with groomed masses in a window around the Higgs mass, roughly 115–140 GeV in this setup.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I can run the same selection on signal and background samples and compare:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many signal events pass the selection.&lt;/li&gt;

&lt;li&gt;How often a background event passes the same cuts.&lt;/li&gt;

&lt;li&gt;How distributions such as jet &lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt;, MET and jet mass change as I apply the cuts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I start with Standard Model samples to understand the cut flow. Then I vary the HEL coefficients &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HW&lt;/sub&gt;, &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HB&lt;/sub&gt; and &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;H&lt;/sub&gt; to see how the selected yield and distributions respond, especially in the high-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; tail.&lt;/p&gt;

&lt;p&gt;I use particle-level events to study the selection. An experimental sensitivity estimate would also account for detector response and realistic pile-up.&lt;/p&gt;

&lt;p&gt;The Rivet routine gives me a test bench. Can a boosted-Higgs selection keep enough of the changes I saw in the generator to make this channel worth a closer look?&lt;/p&gt;

&lt;hr&gt;
</content:encoded>
    </item>
    <item>
      <title>How we simulate collisions before they happen: MadGraph and Herwig</title>
      <link>https://nootincircle.com/2025/11/26/how-we-simulate-collisions-before-they-happen-madgraph-and-herwig/</link>
      <pubDate>Wed, 26 Nov 2025 14:44:12 +0000</pubDate>
      <description>How I use MadGraph and Herwig to generate simulated ZH events, cross-check the hard process and prepare inputs for Rivet.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=181</guid>
      <content:encoded>
&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/11/simulated-particle-collisions.png" alt="" loading="lazy" decoding="async" width="1024" height="768"&gt;&lt;/figure&gt;

&lt;p&gt;One slightly strange thing about studying a future collider is that I spend most of my time analysing collisions that have never happened. The events come from Monte Carlo generators, which let me test an analysis before there’s a detector to run it on.&lt;/p&gt;

&lt;p&gt;For this FCC study I use &lt;a href="https://arxiv.org/abs/1405.0301"&gt;MadGraph&lt;/a&gt; and &lt;a href="https://arxiv.org/abs/1512.01178"&gt;Herwig&lt;/a&gt;. Both generate simulated events. In my workflow, they also provide an independent check on each other.&lt;/p&gt;

&lt;p&gt;MadGraph handles the hard scattering, the short-distance part of the collision. For associated Higgs and Z production, I specify the process (for example, &lt;code&gt;p p &amp;gt; z h&lt;/code&gt;), the model (the Standard Model or HEL) and the beam energy. It uses the matrix elements to sample parton-level kinematics and assign event weights.&lt;/p&gt;

&lt;p&gt;Herwig can also generate the hard process. I use it for the stages that turn a few outgoing partons into a whole event:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parton showering models further emissions, such as quarks radiating gluons.&lt;/li&gt;

&lt;li&gt;Hadronisation turns the coloured partons into colour-neutral hadrons.&lt;/li&gt;

&lt;li&gt;Unstable particles decay, leaving the final-state particles I can analyse.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before running Rivet, I compare the two generators on a small set of checks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Compute ZH cross sections with matched process definitions and inputs at 13 and 85 TeV.&lt;/li&gt;

&lt;li&gt;Check the Standard Model limit by setting the HEL Wilson coefficients to zero.&lt;/li&gt;

&lt;li&gt;Turn on one benchmark with non-zero &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;H&lt;/sub&gt;, &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HW&lt;/sub&gt; and &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HB&lt;/sub&gt;, and compare the resulting changes in the rate.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In my literature review, the coefficient-zero cross sections agreed within the quoted statistical uncertainties at both energies. At the illustrative 85 TeV benchmark, both generators predicted a much larger cross section than the baseline. Their predictions differed by about 4%, more than the quoted Monte Carlo integration uncertainties.&lt;/p&gt;

&lt;p&gt;The comparison gives me two checks before I run Rivet. The two setups recover the same baseline within their quoted uncertainties and both respond strongly when I switch on the benchmark coefficients. A process definition or model setting can quietly change which events end up in the sample.&lt;/p&gt;

&lt;p&gt;Once the checks are in place, I use Herwig’s showered and hadronised events as particle-level input to Rivet. MadGraph is still there for cross-checks as I change energies or coefficients.&lt;/p&gt;

&lt;p&gt;That’s what I mean by “simulated FCC collisions”: a sample of possible events under a specified model and set of inputs. Rivet then gives me a way to ask whether the differences between two HEL settings would show up in an observable I can actually build.&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>From the LHC to the FCC: why build an even bigger collider?</title>
      <link>https://nootincircle.com/2025/11/24/from-the-lhc-to-the-fcc-why-build-an-even-bigger-collider/</link>
      <pubDate>Mon, 24 Nov 2025 17:17:45 +0000</pubDate>
      <description>What CERN’s proposed FCC stages could add to LHC Higgs measurements, and where my boosted ZH study fits.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=167</guid>
      <content:encoded>
&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/11/future-circular-collider-2.png" alt="" loading="lazy" decoding="async" width="1024" height="768"&gt;&lt;/figure&gt;

&lt;p&gt;AI-generated tunnel illustration.&lt;/p&gt;

&lt;p&gt;I spend a lot of time thinking about a machine that doesn’t exist yet: the Future Circular Collider (FCC). The LHC is still running and has already given us the Higgs. What would we learn from building another collider?&lt;/p&gt;

&lt;p&gt;The Large Hadron Collider is a 27 km ring beneath the French–Swiss border. In Run 3, two proton beams at 6.8 TeV each collide at a centre-of-mass energy of 13.6 TeV. ATLAS and CMS are general-purpose detectors. LHCb specialises in flavour physics, while ALICE studies heavy-ion collisions.&lt;/p&gt;

&lt;p&gt;Since its first physics run in 2010, the LHC has discovered the Higgs and made precision measurements of electroweak, top and flavour processes. The &lt;a href="https://home.cern/science/accelerators/hilumi-lhc/"&gt;High-Luminosity LHC upgrade&lt;/a&gt; aims for about ten times the integrated luminosity of the original design. That larger dataset will give rare processes a better chance to show up.&lt;/p&gt;

&lt;p&gt;Collision energy sets a different limit. Heavier particles can require more energy than the LHC can provide, and even Standard Model processes such as Higgs-pair production are hard to measure precisely. Higgs pairs are one of the ways to study how the Higgs interacts with itself.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://home.cern/cern-releases-report-feasibility-possible-future-circular-collider/"&gt;2025 FCC feasibility study&lt;/a&gt; outlines two stages in a proposed 90.7 km tunnel:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;FCC-ee: a high-luminosity electron–positron collider.
&lt;ul&gt;
&lt;li&gt;The proposal covers several energies: the Z pole, the threshold for W-pair production, Higgs production around 240 GeV, and the top-pair threshold programme extending to roughly 365 GeV.&lt;/li&gt;

&lt;li&gt;The well-defined electron–positron initial state would let us measure Higgs and electroweak properties with much smaller uncertainties.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;FCC-hh: a later proton–proton collider in the same tunnel, in the region of 100 TeV depending on the magnet technology.
&lt;ul&gt;
&lt;li&gt;This is the stage I study. My simulations use 85 TeV as a benchmark.&lt;/li&gt;

&lt;li&gt;The higher energy would extend the search for heavy new particles and yield many more events from rare processes such as Higgs-pair production.&lt;/li&gt;

&lt;li&gt;The challenge is experimental: many proton collisions can overlap in one bunch crossing, on top of the backgrounds already present in the hard collision.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For Higgs physics, the stages ask complementary questions. FCC-ee would sharpen measurements of absolute Higgs couplings and help infer the total width. FCC-hh would reach further into rare processes and the high-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; tails, where some departures from the Standard Model would be easier to see.&lt;/p&gt;

&lt;p&gt;I study Higgs production alongside a Z boson. I want to know whether a boosted ZH analysis can isolate the signal well enough to probe Higgs–gauge interactions at FCC-hh.&lt;/p&gt;

&lt;p&gt;What would another collider give us?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More precise measurements of Higgs properties that are still poorly known.&lt;/li&gt;

&lt;li&gt;Access to higher energies and more events from rare processes.&lt;/li&gt;

&lt;li&gt;Two complementary ways to look for new physics, whether it appears as a new particle or as a small change in a familiar interaction.&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>Effective Field Theory and why I am using the Higgs Effective Lagrangian</title>
      <link>https://nootincircle.com/2025/11/24/effective-field-theory-and-why-i-am-using-the-higgs-effective-lagrangian/</link>
      <pubDate>Mon, 24 Nov 2025 17:15:59 +0000</pubDate>
      <description>How the Higgs Effective Lagrangian describes possible new interactions, and why boosted ZH events are a useful place to look.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=162</guid>
      <content:encoded>
&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/11/standard_model_of_elementary_particles.svg_.png" alt="" loading="lazy" decoding="async" width="1200" height="1149"&gt;&lt;/figure&gt;

&lt;p&gt;One of the questions behind my project is whether we can learn about new particles that are too heavy to produce directly. Effective field theory (EFT) gives us a way to look for their indirect effects.&lt;/p&gt;

&lt;p&gt;I start with the Standard Model and ask what extra terms we can build from its fields while respecting its symmetries. The higher-dimensional terms are suppressed by powers of a heavy scale. At energies well below that scale, the first few terms give a useful description of how heavy new physics could change what we measure.&lt;/p&gt;

&lt;p&gt;With those terms in hand, I can ask which changes to Higgs interactions are consistent with the symmetries and how large the data allow them to be. The description applies to different high-energy theories that produce the same low-energy interactions.&lt;/p&gt;

&lt;p&gt;I use a particular implementation called the &lt;a href="https://arxiv.org/abs/1310.5150"&gt;Higgs Effective Lagrangian (HEL)&lt;/a&gt;. It extends the Standard Model Lagrangian with higher-dimensional operators. Each operator has a Wilson coefficient that sets the size of its contribution in the chosen basis.&lt;/p&gt;

&lt;p&gt;Some useful groups of operators are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CP-even bosonic terms, which can change the Higgs kinetic term and potential as well as interactions with W and Z bosons and photons. This is the part I spend most of my time on.&lt;/li&gt;

&lt;li&gt;CP-odd terms, which can introduce new sources of CP violation.&lt;/li&gt;

&lt;li&gt;Fermionic terms, which can alter Higgs interactions with quarks and leptons or add dipole interactions.&lt;/li&gt;

&lt;li&gt;Pure gauge terms, which can change interactions among gauge bosons.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I vary a small set of coefficients, including &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;H&lt;/sub&gt;, &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HW&lt;/sub&gt; and &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HB&lt;/sub&gt;, and look at Higgs production alongside a Z boson (ZH). I’m interested in both the overall rate and the shape of the transverse-momentum distribution.&lt;/p&gt;

&lt;p&gt;Some operators give Higgs interactions a new dependence on momentum. A small effect in an inclusive rate can stand out in the tail of a distribution. That is where I check whether the energies still fall within the EFT’s range of validity.&lt;/p&gt;

&lt;p&gt;A future proton collider such as FCC-hh would make those energetic events easier to study. My job is to find out whether the changes survive event generation, jet reconstruction and selection strongly enough to constrain the coefficients.&lt;/p&gt;

&lt;p&gt;Three things I keep in mind when reading the plots:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The operators describe possible low-energy effects without specifying the particles that caused them.&lt;/li&gt;

&lt;li&gt;The coefficients act as dials, but which dial changes what depends on the operator basis.&lt;/li&gt;

&lt;li&gt;Boosted events can be especially sensitive to momentum-dependent terms.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rest of the project is about turning that clean theoretical idea into a messy collider analysis. If nature has turned one of those dials, would I notice?&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Week 5 – Tightening cuts, first BSM point, and a dark matter detour</title>
      <link>https://nootincircle.com/2025/11/24/week-5-tightening-cuts-first-bsm-point-and-a-dark-matter-detour/</link>
      <pubDate>Mon, 24 Nov 2025 17:10:37 +0000</pubDate>
      <description>Tighter boosted ZH cuts, a first non-zero HEL benchmark, and a lecture on how dark matter detectors see their backgrounds.</description>
      <guid isPermaLink="false">http://nootincircle.com/?p=150</guid>
      <content:encoded>
&lt;p&gt;This week I tightened the ZH selection, switched on my first non-zero Wilson coefficients and took a detour into dark matter detection.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Monday 27 October · Dark matter and “scintillates like a pig”&lt;/h2&gt;

&lt;p&gt;Monday’s dark matter lecture was a nice break from arguing with Herwig run cards.&lt;/p&gt;

&lt;p&gt;Galaxy rotation curves, gravitational lensing and the cosmic microwave background all give us evidence for dark matter through gravity. Its particle nature remains open. We looked at three ways to search for it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Direct detection, looking for scattering in a target such as liquid xenon deep underground.&lt;/li&gt;

&lt;li&gt;Indirect detection, looking for possible decay or annihilation products.&lt;/li&gt;

&lt;li&gt;Collider searches, looking for signatures such as missing transverse momentum.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fun part was comparing the detector technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dual-phase experiments such as LZ and &lt;a href="https://darkside.lngs.infn.it/?page_id=32"&gt;DarkSide-50&lt;/a&gt; record prompt scintillation (S1) and a delayed signal from electrons extracted into gas (S2). &lt;a href="https://deap3600.ca/deap-3600-detector/"&gt;DEAP-3600&lt;/a&gt; instead uses scintillation in single-phase liquid argon. Liquid xenon “scintillates like a pig”, apparently.&lt;/li&gt;

&lt;li&gt;Cryogenic solid detectors can read out phonons, sometimes alongside light or ionisation, depending on the material and design.&lt;/li&gt;

&lt;li&gt;Gaseous detectors can give lovely track information, though the low density makes it harder to achieve a large target mass.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also talked about backgrounds: uranium and thorium decay chains, radon, neutrons from (α, n) reactions and cosmic-ray activation. Before a possible dark matter signal ever appears, the detector is already busy with the Standard Model.&lt;/p&gt;

&lt;p&gt;I liked seeing the same question approached from so many angles, each with its own background to understand.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Focusing on the boosted region in Herwig&lt;/h2&gt;

&lt;p&gt;Back to ZH.&lt;/p&gt;

&lt;p&gt;To get closer to the phase space where my boosted-Higgs tagger is useful, I tried generator-level transverse-momentum cuts in Herwig:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;set /Herwig/Cuts/JetKtCut:MinKT 150*GeV&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;&lt;code&gt;set /Herwig/Cuts/JetZ0Cut:MinKT 150*GeV&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The cross sections behaved as I’d hoped:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The ZH cross section dropped sharply once I selected events with a high-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; Z.&lt;/li&gt;

&lt;li&gt;MadGraph and Herwig agreed on the smaller rates within the statistical uncertainties quoted for those samples.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also tried a Z transverse-momentum cut around 400 GeV. Both generators gave rates of order 10&lt;sup&gt;−2&lt;/sup&gt; pb at 85 TeV for that selection. In these boosted events, the two sprays from the Higgs decay are often close enough to fit inside a single large-radius jet.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;My first BSM benchmark&lt;/h2&gt;

&lt;p&gt;With the Standard Model baseline in place, I tried a deliberately large HEL benchmark:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;var&gt;c&lt;/var&gt;&lt;sub&gt;H&lt;/sub&gt; = 0.2&lt;/li&gt;

&lt;li&gt;&lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HW&lt;/sub&gt; = 0.1&lt;/li&gt;

&lt;li&gt;&lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HB&lt;/sub&gt; = 0.1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I ran the benchmark at 85 TeV to check how MadGraph and Herwig responded to the same changes.&lt;/p&gt;

&lt;p&gt;The benchmark comparison gave:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A coefficient-zero cross section of about 5–6 pb.&lt;/li&gt;

&lt;li&gt;About 197 pb in MadGraph and 205 pb in Herwig at the non-zero point.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both generators showed a large increase at this point, giving me an implementation check. For a wider grid of coefficients, I’d first establish where the EFT approximation holds.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Reading the Rivet cut flow&lt;/h2&gt;

&lt;p&gt;I ran larger samples through the Rivet routine so I could see what each cut was doing.&lt;/p&gt;

&lt;p&gt;An event has to pass all of these checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Missing transverse momentum above the threshold.&lt;/li&gt;

&lt;li&gt;A leading large-radius jet that passes the &lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; and pseudorapidity cuts.&lt;/li&gt;

&lt;li&gt;Bottom-hadron content in that jet.&lt;/li&gt;

&lt;li&gt;A groomed jet mass between about 115 and 140 GeV.&lt;/li&gt;

&lt;li&gt;A jet &lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; to MET ratio of roughly 0.8–1.2.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Herwig logs let me count:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Events that pass the MET cut.&lt;/li&gt;

&lt;li&gt;Events that survive the large-radius jet and b-tagging requirements.&lt;/li&gt;

&lt;li&gt;Higgs candidates left after the mass window.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The early cut flows were stable enough to show where the selection was losing events.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Small quality-of-life improvements&lt;/h2&gt;

&lt;p&gt;I also got tired of typing the same commands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up shell aliases for quicker cluster logins.&lt;/li&gt;

&lt;li&gt;Wrote a small &lt;code&gt;qsub&lt;/code&gt; script to submit Herwig jobs.&lt;/li&gt;

&lt;li&gt;Organised the runs by model and selection so I can tell which settings produced which output.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Future me will probably be grateful.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Friday 31 October · ATLAS and Halloween&lt;/h2&gt;

&lt;p&gt;Alex gave a talk on the Global Trigger at the Friday UCL ATLAS meeting.&lt;/p&gt;

&lt;p&gt;We also went through collaboration updates, which was a change of scale after spending most of the week on one event selection.&lt;/p&gt;

&lt;p&gt;The updates covered committee roles, institutes joining ATLAS and the work that keeps the collaboration running.&lt;/p&gt;

&lt;p&gt;It was slightly surreal to sit in a small room on Gower Street and see my project supervisor’s name come up in a discussion of outreach for a collaboration of thousands.&lt;/p&gt;

&lt;p&gt;The list of roles went well beyond physics analysis: computing, data preparation, trigger, publications, early-career support and more. Every plot depends on people doing that work.&lt;/p&gt;

&lt;p&gt;I spend most days thinking about a narrow FCC study. It was useful to see how many ways there are to contribute to a large experiment, and how much of that work happens long before the analysis.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/11/img_0238-e1764003802660.jpeg" alt="" loading="lazy" decoding="async" width="2090" height="1203"&gt;&lt;/figure&gt;

&lt;h2&gt;What came together this week&lt;/h2&gt;

&lt;p&gt;I now have ZH samples in the boosted region, one benchmark that tests the generator setup, and a Rivet cut flow I can read from start to finish.&lt;/p&gt;

&lt;p&gt;P.S. Easily the coolest Halloween costume ever. 👻&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/11/img_0242-e1764004199165.jpeg" alt="" loading="lazy" decoding="async" width="1546" height="1774"&gt;&lt;/figure&gt;
</content:encoded>
    </item>
    <item>
      <title>Week 4 – Cross-section detective work and the Rivet Routine the goat</title>
      <link>https://nootincircle.com/2025/11/24/week-4-cross-section-detective-work-and-the-rivet-routine-the-goat/</link>
      <pubDate>Mon, 24 Nov 2025 16:54:16 +0000</pubDate>
      <description>Tracking down an oversized Herwig cross section, checking the Standard Model limit, and getting my Rivet analysis to run.</description>
      <guid isPermaLink="false">https://nootincircle.com/?p=144</guid>
      <content:encoded>
&lt;p&gt;Three patties for nine quid at the UCL burger shop. A decent start to a week of theory revision, digging through old configs, and finally getting my Rivet routine to run.&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/11/img_0125-e1764003200324.jpg" alt="" loading="lazy" decoding="async" width="250" height="311"&gt;&lt;/figure&gt;

&lt;hr&gt;

&lt;h2&gt;Tuesday 21 October · Why was the cross section so big?&lt;/h2&gt;

&lt;p&gt;We started Tuesday’s meeting with a quick bit of theory.&lt;/p&gt;

&lt;p&gt;The Higgs doublet has four real degrees of freedom. After electroweak symmetry breaking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Three provide the longitudinal polarisation states of the W&lt;sup&gt;+&lt;/sup&gt;, W&lt;sup&gt;−&lt;/sup&gt; and Z bosons.&lt;/li&gt;

&lt;li&gt;The fourth is the physical Higgs boson.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s why the Higgs and electroweak gauge sectors are tied together. The connection matters for my boosted ZH study, where I’m testing changes to Higgs interactions with gauge bosons.&lt;/p&gt;

&lt;p&gt;Then we sorted out what we meant by inclusive and exclusive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An inclusive measurement could count events with a high-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; ZZ system reconstructed from four leptons, regardless of what else is produced.&lt;/li&gt;

&lt;li&gt;For the generator comparison, I wanted a hard-process sample restricted to ZH, excluding contributions from ZZ and HH.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That distinction turned out to explain the surprisingly large cross section I’d attributed to ZZ in Herwig over the summer.&lt;/p&gt;

&lt;p&gt;I compared the two generator configurations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MadGraph was only generating &lt;code&gt;p p &amp;gt; z h&lt;/code&gt;.&lt;/li&gt;

&lt;li&gt;The Herwig HEL constructor was generating several processes together, including ZH, ZZ and HH.&lt;/li&gt;

&lt;li&gt;W production was switched off in my Herwig configuration, but the model still included Higgs-sector couplings to W and Z bosons.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d been comparing unlike samples. Once I set &lt;code&gt;HPConstructor:Processes&lt;/code&gt; to &lt;code&gt;Exclusive&lt;/code&gt; and restricted Herwig to ZH, the coefficient-zero cross section came down to about 0.56 pb, in line with MadGraph for that setup.&lt;/p&gt;

&lt;p&gt;Mystery solved by a configuration change. A useful reminder to check what’s actually in the sample before interpreting the number.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Does HEL recover the Standard Model?&lt;/h2&gt;

&lt;p&gt;The next check was to set the HEL Wilson coefficients to zero and see whether the total rate recovered the Standard Model baseline.&lt;/p&gt;

&lt;p&gt;I generated ZH samples in MadGraph and Herwig at 13 and 85 TeV. With the coefficients set to zero:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MadGraph’s HEL cross sections matched its Standard Model setup.&lt;/li&gt;

&lt;li&gt;Herwig’s HEL cross sections agreed with MadGraph within statistical uncertainties once I restricted it to ZH.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The matched ZH rates at 13 and 85 TeV give me a baseline for the next comparison, with the coefficients switched on.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Turning ZH into something I can measure&lt;/h2&gt;

&lt;p&gt;The other big job was getting the Rivet analysis into shape.&lt;/p&gt;

&lt;p&gt;Here’s the process I’m targeting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A quark and antiquark produce a Higgs and a Z boson.&lt;/li&gt;

&lt;li&gt;The Z decays to neutrinos, leaving missing transverse momentum (MET).&lt;/li&gt;

&lt;li&gt;The Higgs decays to a bottom quark and antiquark. At high boost, their particle sprays can fit inside a single large-radius jet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That gives me two things to look for in the same event:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A large-radius jet with bottom-hadron content.&lt;/li&gt;

&lt;li&gt;Large MET.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The selection in &lt;code&gt;analyze(const Event&amp;amp; event)&lt;/code&gt; goes roughly like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Check MET.&lt;/strong&gt; Keep events above a threshold to focus on the boosted region.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Build large-radius jets.&lt;/strong&gt; Use a radius parameter around 1.0 and take the highest-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; jet as the starting Higgs candidate.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Apply basic jet cuts.&lt;/strong&gt; Require the leading jet to pass thresholds in transverse momentum and pseudorapidity.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Check the recoil.&lt;/strong&gt; Require the ratio of MET and jet &lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; to sit in a loose window, around 0.8–1.2. Approximate balance is consistent with a Higgs recoiling against a Z.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Look for bottom hadrons.&lt;/strong&gt; I use Rivet’s b-tagging utilities. For example, &lt;code&gt;pre_mmdt_bTags = leading_fj.bTags()&lt;/code&gt; lets me inspect the jet before grooming.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Groom the jet.&lt;/strong&gt; Apply the modified mass-drop tagger (mMDT) to look for a hard two-prong split.
&lt;ul&gt;
&lt;li&gt;Discard soft branches as the clustering is undone.&lt;/li&gt;

&lt;li&gt;Keep a split with two sufficiently hard branches.&lt;/li&gt;

&lt;li&gt;Use &lt;code&gt;z_cut&lt;/code&gt; to set how balanced the split must be.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Apply the Higgs mass window.&lt;/strong&gt; Keep the candidate if the groomed jet mass is between about 115 and 140 GeV.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I fill histograms for jet &lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt;, MET and jet mass. I also count how many events pass the selection so I can see what each change does to the tagging efficiency.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Rivet versus Contur&lt;/h2&gt;

&lt;p&gt;My original plan was to let &lt;code&gt;contur-batch&lt;/code&gt; generate the Herwig jobs, then drop in the new Rivet analysis.&lt;/p&gt;

&lt;p&gt;That took longer than I expected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contur’s &lt;code&gt;config.dat&lt;/code&gt; kept overwriting my edited &lt;code&gt;herwig.in&lt;/code&gt;.&lt;/li&gt;

&lt;li&gt;Herwig jobs started by Contur couldn’t see the analysis.&lt;/li&gt;

&lt;li&gt;I read the Contur Rivet README and still couldn’t get Herwig to load it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s what got the routine running:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use Contur to create a baseline &lt;code&gt;herwig.in&lt;/code&gt; and directory layout.&lt;/li&gt;

&lt;li&gt;Edit the run card and launch Herwig directly.&lt;/li&gt;

&lt;li&gt;After a fresh login, add the directory containing the compiled Rivet analysis to &lt;code&gt;RIVET_ANALYSIS_PATH&lt;/code&gt;.&lt;/li&gt;

&lt;li&gt;Check &lt;code&gt;herwig.log&lt;/code&gt; to confirm the analysis was loaded and that its cut flow appeared.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That workflow now runs reliably for this setup. Contur turned out to be useful as a starting template while I was getting the analysis to work on its own.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;What I can build on&lt;/h2&gt;

&lt;p&gt;I have a cross-checked coefficient-zero ZH rate, a Herwig sample restricted to the right process, and a Rivet routine that finally produces numbers. A week for getting the basics right.&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Week 3 - Less working, more meetings</title>
      <link>https://nootincircle.com/2025/10/22/week-3-less-working-more-meetings/</link>
      <pubDate>Wed, 22 Oct 2025 14:29:18 +0000</pubDate>
      <description>An FCC group meeting puts my summer ZH study in context and gives me a short list of checks for MadGraph, Herwig and Contur.</description>
      <guid isPermaLink="false">https://nootincircle.com/?p=124</guid>
      <content:encoded>
&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/10/img_0100.jpg" alt="" loading="lazy" decoding="async" width="8064" height="6048"&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Figure 1.&lt;/strong&gt; Marble Arch, finally free of scaffolding.&lt;/p&gt;

&lt;p&gt;Master’s applications took up most of this week. The project moved forward in meetings, where I got a clearer idea of what to check next.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tuesday 14 October · FCC group meeting&lt;/strong&gt;&lt;br&gt;I joined Jon, Tim, Wei, Lauren and Stephen for my first group meeting. We went back over my summer study of ZH production, where I used a &lt;em&gt;modified mass-drop tagger&lt;/em&gt; to look for highly boosted Higgs bosons.&lt;/p&gt;

&lt;p&gt;The event samples are ready. I’ll check which events the tagger keeps before starting another scan.&lt;/p&gt;

&lt;p&gt;We also talked through the Higgs Effective Lagrangian (HEL). I’m trying to understand which of its effects can be expressed as shifts in Standard Model couplings in the &lt;strong&gt;κ framework&lt;/strong&gt;, and which need a different description.&lt;/p&gt;

&lt;p&gt;I showed the group my summer plots of the high-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; tails in ZH production. Some deviations were large enough to catch the eye. I’ll check the generator setup for Higgs production alongside a vector boson before interpreting those tails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Models and tools&lt;/strong&gt;&lt;br&gt;We use MadGraph and Herwig to generate events, and Rivet to analyse them. The main channel is ZH, with the Z decaying to neutrinos and the Higgs to a bottom quark and antiquark. Other processes can leave a similar signature. We discussed di-Higgs production as a possible extension.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main goals&lt;/strong&gt;&lt;br&gt;The broader question behind these checks is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Is the Higgs truly a fundamental scalar particle?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For this project, that means asking how sensitive the high-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; region is to changes in Higgs interactions. My next steps were:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Compare Standard Model and HEL cross sections at 13 TeV and at several energies between 50 and 90 TeV. With all Wilson coefficients set to zero, the HEL samples should recover the Standard Model baseline.&lt;/li&gt;

&lt;li&gt;Cross-check Wei’s MadGraph setup against HEL in Herwig.&lt;/li&gt;

&lt;li&gt;Work out how Contur uses measured distributions to constrain simulated new-physics contributions.&lt;/li&gt;
&lt;/ol&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/10/img_0067.jpg" alt="" loading="lazy" decoding="async" width="5712" height="4284"&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Figure 2.&lt;/strong&gt; The short-term plan and a sketch of quark–antiquark production of ZH.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Friday 17 October · ATLAS meeting&lt;/strong&gt;&lt;br&gt;I also sat in on an ATLAS meeting. My notes were mostly about how many separate pieces have to work before anyone gets to analyse a collision.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Phase II upgrade:&lt;/strong&gt; progress on power converters and other detector preparations.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Inner Tracker (ITk):&lt;/strong&gt; preparations for the High-Luminosity LHC.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Accelerator:&lt;/strong&gt; configuration for high-intensity running.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Data taking:&lt;/strong&gt; a reported efficiency of 96.5%.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Detector and trigger:&lt;/strong&gt; performance updates.&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/10/physics-analysis.jpeg" alt="" loading="lazy" decoding="async" width="3024" height="4032"&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Figure 3.&lt;/strong&gt; A summary of the ATLAS and CMS Run 2 Higgs-pair combination.&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Week 2 - BRAVO Tuesday!</title>
      <link>https://nootincircle.com/2025/10/13/bravo-tuesday/</link>
      <pubDate>Mon, 13 Oct 2025 00:59:17 +0000</pubDate>
      <description>Reading the Run 1 literature for bounds on Higgs–gauge operators and working out how Wilson coefficients relate to couplings.</description>
      <guid isPermaLink="false">https://zhangmichael999-dxmoq.wordpress.com/?p=106</guid>
      <content:encoded>
&lt;p&gt;Time for the &lt;em&gt;researching of the research papers&lt;/em&gt;. I wanted to find published bounds on two of the Wilson coefficients in our study, &lt;strong&gt;&lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HB&lt;/sub&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HW&lt;/sub&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Lucky me. The second paper I picked, &lt;a href="https://arxiv.org/abs/1410.7703"&gt;&lt;em&gt;The Effective Standard Model after LHC Run I&lt;/em&gt;&lt;/a&gt; by John Ellis, Verónica Sanz and Tevong You, already discusses the operators I’m looking at. I’ll check with Jon how directly their bounds apply to our setup.&lt;/p&gt;

&lt;p&gt;Two terms helped me read the paper. An operator is a term built from fields in the Lagrangian, and a Wilson coefficient sets how strongly that term contributes.&lt;/p&gt;

&lt;h2&gt;Coupling constants&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A coupling constant sets the strength of an interaction between fields or particles.&lt;/li&gt;

&lt;li&gt;Examples:
&lt;ul&gt;
&lt;li&gt;&lt;var&gt;g&lt;/var&gt; is an example of a gauge coupling.&lt;/li&gt;

&lt;li&gt;&lt;var&gt;y&lt;/var&gt;&lt;sub&gt;f&lt;/sub&gt; is the Yukawa coupling for a fermion of flavour &lt;var&gt;f&lt;/var&gt;.&lt;/li&gt;

&lt;li&gt;&lt;var&gt;g&lt;/var&gt;&lt;sub&gt;hZZ&lt;/sub&gt; denotes a coupling between the Higgs and two Z bosons.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;In the Standard Model, the theory fixes the form of the interactions. Measurements determine the values of the input parameters.&lt;/li&gt;

&lt;li&gt;Higher-dimensional operators can shift some couplings or add interactions with new momentum dependence.&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/10/atlas-8-tev.png" alt="" loading="lazy" decoding="async" width="1098" height="558"&gt;&lt;/figure&gt;

&lt;p&gt;The paper shows why the high-&lt;var&gt;p&lt;/var&gt;&lt;sub&gt;T&lt;/sub&gt; region matters. Operators such as the one multiplied by &lt;var&gt;c&lt;/var&gt;&lt;sub&gt;HW&lt;/sub&gt; can introduce momentum-dependent terms in Higgs interactions with electroweak gauge bosons. Those terms can leave a larger imprint in energetic events, so the shape of a distribution can tell us more than its total rate.&lt;/p&gt;

&lt;p&gt;Next on the list is &lt;a href="https://arxiv.org/abs/1404.3667"&gt;&lt;em&gt;Complete Higgs Sector Constraints on Dimension-6 Operators&lt;/em&gt;&lt;/a&gt;, by the same authors. I’m still working out how to connect these coefficients to the &lt;strong&gt;κ framework&lt;/strong&gt;. I’ll ask Jon, and this time I &lt;em&gt;promise&lt;/em&gt; to write it all down.&lt;/p&gt;

&lt;p&gt;That’s enough paper reading for now. Tomorrow is a day off from the project. 😌&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>Mid-Autumn Festival</title>
      <link>https://nootincircle.com/2025/10/06/mid-autumn-festival/</link>
      <pubDate>Mon, 06 Oct 2025 19:32:06 +0000</pubDate>
      <description>Mooncakes, an early look at the Wilson-coefficient contours, and a clearer question for the next meeting.</description>
      <guid isPermaLink="false">https://zhangmichael999-dxmoq.wordpress.com/?p=46</guid>
      <content:encoded>
&lt;p&gt;At Monday’s meeting, I showed Jon my Run 3 and Run 4 heat maps. I’d zoomed in too far on Run 3, so I widened the view for Run 4. We traced the approximate contours by hand. Firm limits on the Wilson coefficients will take a more detailed study. My next step is to connect the coefficients to the &lt;em&gt;κ&lt;/em&gt; framework, which describes deviations from Standard Model coupling strengths.&lt;/p&gt;

&lt;p&gt;It was also the Mid-Autumn Festival, so I brought Jon and Peng some mooncakes. The festival falls on the fifteenth day of the eighth lunar month, around the full moon. The round mooncakes are a symbol of reunion. Perhaps unification in physics is within reach too. :)&lt;/p&gt;

&lt;figure class="article-figure"&gt;&lt;img src="https://nootincircle.com/wp-content/uploads/2025/10/img_0186-1.jpg" alt="" loading="lazy" decoding="async" width="4032" height="3024"&gt;&lt;/figure&gt;

&lt;p&gt;Jon’s sketch of the Feynman diagrams that can contribute at different energy scales.&lt;/p&gt;

&lt;p&gt;Next on my list are the papers that cite the Higgs Effective Lagrangian. I didn’t get to them today. Tomorrow, then.&lt;/p&gt;

&lt;hr&gt;
</content:encoded>
    </item>
  </channel>
</rss>