Skip to content

HLT1Pi02gammagamma line split by region

Current code: https://gitlab.cern.ch/lhcb/Allen/-/blob/2025-patches/configuration/python/AllenConf/hlt1_calibration_lines.py?ref_type=heads

Notes beforehand:

  • there seems to be an unfortunate cut (or rather bug) that is creating weird shapes on the outer region: in the region around y=0 there is a pT cut that creates double peaks
  • Currently only Rosen can run the pi0 calibration

Detailed considerations:

First idea:

  • 3 lines, one for outer, one for middle, one for inner
  • need to improve s/b
    • track-cluster matching veto? -> should be applied already
    • E/p?

  • how much data per region do we need? How many events?

150M across the whole ECAL with the default

  • fewest events in the inner region but very clean
  • outer region very background dominated
  • how can we ensure the full coverage? Are 3 lines enough (one per region)? Or do we need lines where the two photons come from different regions?

We’ll have to be careful with the transition regions between inner/middle and middle/outer to not create any bias.

  • is there someone you already know who one could put on it/ some calo expertise that we could get in so that we can efficiently and correctly implement the procedure?

JF can ask inside the calo group if someone would like to work on this but I don’t think having a calo expertise is really mandatory to start with. We could probably get some useful inputs running the pi0 calibration with different settings but not clear it’s possible right now, we could check with Rosen since he seems the only one able to run the pi0 calibration right now.

  • how to get the seed CellID? If we have the seed CellID, we can get the area (0: outer, 1: middle, 2: inner) with:
BitsCol  = 6
BitsRow  = 6
BitsArea = 2
ShiftCol = 0
ShiftRow  = ShiftCol + BitsCol
ShiftArea = ShiftRow + BitsRow
MaskArea = ((1 << BitsArea) - 1) << ShiftArea
area = ((cellID & ~(1 << 15)) & MaskArea) >> ShiftArea

Tasks:

  • create 3 replicas of the pi02gammagamma line and split by region
  • fix the problematic cut for the outer region
  • en passant can deal with #595
  • evaluate performance on MEPs (only have ~1M /calib/online/MEP_dumps_30_05_25/, though AFAIK)
    • adapt pi0 calibration scripts to accept data from the new lines
    • adapt alignment writer to write out data filtered by the 3 new lines
  • determine prescales for each line
Edited by Titus Mombaecher