Skip to content

Releases

v1.3.0

Choose a tag to compare

@michael24peters michael24peters released this 15 Oct 12:49

What's Changed

  • Can now handle multiple analysis productions in one merge request, so that you can pass in the ana.py flags (IS_MC, etc.) using flags in parseArgs(). The associated info.yaml file that you make analysis productions with can now be a bunch of different data files and requests (e.g., eta_2mu turbo, eta_2mu MC, eta_mumugamma turbo, etc.), and you can pass in the appropriate flags to do all them in one shot. Cool stuff (but also the liaisons forced me to do this!).
  • Updated trigger lines so there are now the appropriate TIS and TOS trigger lines for eta -> mu+ mu- (gamma), also with a TOS line for eta -> 4mu just in case.
  • Fixed some minor memory allocation/de-allocation issues. Basically just a weird way Python was handling a variable a certain way that kept it in memory. Should be more stable now. Issue only came up when I was testing StdLooseAllMuons, which 20-25x the amount of events processed. Sticking with StdLooseMuons anyway, so it's not super relevant, but doesn't hurt to fix issues when you catch them.

v1.2.0

Choose a tag to compare

@michael24peters michael24peters released this 11 Mar 15:36
3b56e04

Features

  • Expanded decay options by @michael24peters in #4
  • Support added for four decay types: eta2mumu, eta2mumugamma, eta2mumumumu, eta2mumuee
    • Includes different daughter pT cuts depending on number of daughters in decay mode
  • Support added for local, MC anaprod, or real data anaprod
  • Note: Run 3 analysis productions are not possible through this Gaudi ntuple filling method.

Full Changelog: v1.0.2...v1.2.0

v1.1.0

Choose a tag to compare

@michael24peters michael24peters released this 09 Feb 09:38
3890829

Features

  • Can now handle eta2mumu case. This has been tested for both local files and LHCb analysis production.

v1.0.1

Choose a tag to compare

@michael24peters michael24peters released this 24 Jan 13:05
663733c

This is a minor fix to v1.0.0 that changes nothing functionally about the code. This updates the README to correctly give describe the repository and give instructions for using it. It also adds the MIT license so anyone can use this code in their own analysis (as is generally implied to be so).

v1.0.0

Choose a tag to compare

@michael24peters michael24peters released this 24 Jan 12:57

v1.0.0

While many previous commits of this repo worked, this is perhaps the first "clean" version where there are no outstanding issues. The code works and gives the information needed. After just submitting another analysis production with a batch of major fixes, I thought it fitting to release the current state of this repo. Notable features, fixes, and potential future features (todo items) are listed below.

Features

  • Three boolean values in the code can be used to control signal sample versus minbias, MC versus data, and eta -> mu+ mu- gamma versus eta -> mu+ mu- decays. These flags must be manually changed in the code.
  • The ntuple created is memory efficient and provides the exact information required to link reco to gen-level particles, identify mother and daughter particles (and their connection to one another), and store values needed to derive intermediate values offline (e.g., px, py, pz saved for each particle but p is not since this can be derived offline).

Fixes

  • There are two forms of MC gen-level matching, DaVinciSmartAssociator and deltaR matching. The deltaR matching no longer requires the particle IDs for the reco and gen-level particles to be the same to match.
  • Empty events are no longer filled in the ntuple, significantly saving memory and removing the need to use reduction scripts on the ntuple later on in the analysis process.

Todo

  • Set the three boolean values (see Features) through flags in the command line.
  • The MC matching algorithm will always find a match for a reconstructed particle, even if there are no good matches. In other words, there are no ghost particles allowed.
  • eta -> mu+ mu- gamma decays get mother matching, but background sources do not have their mothers identified; they are simply given a mother index of -1 instead of adding their mothers to the ntuple for more in-depth background analysis.
  • Though I have added comments throughout (especially parts modified from the template DiMuon.py file), many of the comments I wrote trying to understand the code were removed to improve readability. These are currently sitting in one of the earlier etaMuMu.py scripts located in the old/ directory.
  • There are also various commented-out sections that need pruning (or possibly reintroduction).