Skip to content

[QEE] EW Tupling y24v2 : Include Sprucing24c2

Luke Grazette requested to merge lugrazet-APy24v2 into master

Tupling over the Spruced Comm24 data + exp24 MC.

Will supersede all of !1288 (merged)

https://gitlab.cern.ch/groups/LHCb-QEE/ew/-/milestones/8

Changes:

Starting from !1288 (merged)

!1448 (4322c896)

Selection Dependent Filtering

Two commits, a preparatory commit and the actual commit.

First: !1448 (e5d83968).
Instead of calling `get_particles("/Event/.../Particles") many times in many functions, we just call it once and pass it around. No effect on tupling.

!1448 (143391dd) Addresses partially https://gitlab.cern.ch/LHCb-QEE/ew/ew-analyses/-/issues/960, specifically https://gitlab.cern.ch/LHCb-QEE/ew/ew-analyses/-/issues/960#cuts short version: unify PIDmu cut pre and postTS by requiring it at the DV level. Should reduce significant amounts of background ending up in our tuple.

Remove @rjhunter from inform list

!1448 (54d6cbd2).
I assume this was left over from when he stepped in while I was gone, no point us both getting 100s of emails 😄.

Allow for multiple sprucing campaigns, 24c1 and 24c2

We can expect 3 bookkeeping paths for this year, Excl-UT__24c1, 24c2, Excl-UT__24c2.
For now:

  • Excl-UT__24c2 doesn't exist in bkk.
  • 24c2 only has MagDown

We restructure info.yaml to account for multiple campaigns : !1448 (32b2c804)

Provide the mc.{24c1, 24c2}.{hlt1, hlt2, spruce} option files in a separate commit for readability !1448 (6434172a)

Some simplification of the calling structure is possible via extra_args, a suggestion from Chris

!1448 (d2d6d73b).

Another aesthetic difference but makes the dv script much cleaner to configure : https://mattermost.web.cern.ch/lhcb/pl/uqpitq1tft837ykgwd3ritxxxy conversation.
The benefit is that we don't have to define wrapper functions around main, each configuring multiple arguments to hand in. Instead now we use lbexec to provide the appropriate extra arguments. Overall I think this makes it easier to maintain, i.e. by removing the chance of a mistake when editing the wrapper functions like these

def Turbo_exp24_MagUp(options: Options):
    return main(options=options, spec=Spec(Turbo_exp24_MagUp))

The only downside is I couldn't find a way to pass kwargs (rather than args), without creating an argument parser, because as far as I can tell lbexec only allows passing args. So we'd have to pass args as '--stream=STREAM' and then in the python function decompose that to {'stream': STREAM}. I didn't do this as of yet.

Instead I just passed them as positional arguments, and then because each of these arguments are being used in ENUMs we will get runtime errors if they're in the wrong position immediately when initialising the Spec.

def main(options: Options, stream: str, campaign: str, polarity: str,
         sample: str):
    spec = Spec(stream, campaign, polarity, sample)

No effect on tuples.

More Info about the AP

Selection to Linename Map

selection_linename_map

# Stream : { selection : linename }
    Stream.Turbo: {
        "Jpsi_Detached": "Hlt2QEE_JpsiToMuMu_Detached",
        "Jpsi_Prompt": "Hlt2QEE_JpsiToMuMu_Prompt",
        "U1S": "Hlt2QEE_Upsilon1SToMuMu",
    },
    Stream.Full: {
        "Z": "SpruceQEE_ZToMuMu",
        "ZMuID": "SpruceQEE_ZToMuMu_SingleNoMuID",
        "Wp": "SpruceQEE_SingleHighPtMuon",
        "Wm": "SpruceQEE_SingleHighPtMuon",
        "WpNoMuID": "SpruceQEE_SingleHighPtMuonNoMuID",
        "WmNoMuID": "SpruceQEE_SingleHighPtMuonNoMuID",
        "ZSS": "SpruceQEE_DiMuonSameSign",
    },
    Stream.TurCal:{
        "ZTrkEff_VeloMuon_mum": "SpruceTurCalTrackEff_ZToMuMu_VeloMuon_mum_Tag",
        "ZTrkEff_VeloMuon_mup": "SpruceTurCalTrackEff_ZToMuMu_VeloMuon_mup_Tag",
        "ZTrkEff_SeedMuon_mum": "SpruceTurCalTrackEff_ZToMuMu_SeedMuon_mum_Tag",
        "ZTrkEff_SeedMuon_mup": "SpruceTurCalTrackEff_ZToMuMu_SeedMuon_mup_Tag"
    },
MC Samples per Stream
{
  'Turbo': [
    ('Jpsi', '24142001'),
    ('U1S' , '18112001'),
  ],
  'Full': [
    ('Z'     , '42112001'),
    ('Ztau'  , '42100004'),
    ('Wtau'  , '42300001'),
    ('W'     , '42311003'),
    ('DY'    , '42112015'),
    ('QcdBgd', '49000011'),
    ('ccbar' , '49011014'),
    ('bbbar' , '49011015')
  ],
  'TurCal': [
    ('Z'   , '42112001'),
  ]
}

ToDo

  • Pass Pipeline
  • Review
Edited by Ross John Hunter

Merge request reports

Loading