Skip to content

Adding dEdx and charge particle filter to STDM7

@spagan @adimitri @okepka @goblirsc @npetters

Three main changes in this MR for 21.2, all for the Exclusive WW analysis.

First, I added track dEdx information for both nominal and high-pt tracks to the derivation. This is a straightforward addition of variables to the list for the containers. We are using dEdx to try to improve our true/fake track discrimination (especially for low-pt tracks).

Second, I added a charge particle filter to the STDM7 derivation. This is to reduce our DAOD sizes, as we really only care about events with a small number of charged particles coming from the hard scatter in our backgrounds. The cut only involves charged particles that have |eta|<2.5 and pT>500 MeV. The filter can be turned on with a flag, but it is off by default. It can be turned on by adding "from DerivationFrameworkCore.DerivationFrameworkProdFlags import jobproperties as dfpfjp;dfpfjp.DerivationFrameworkProdFlags.WriteDAOD_STDM7Stream.nChFilter=17;" to the AODtoDAOD preExec. The 17 can be changed but that choice results in a small bias for events with 4 or fewer reconstructed nominal tracks. I had to add a variable to the WriteDAOD_STDM7Stream class in DerivationFrameworkProdFlags.py, and I had to add a TruthHSDecorator tool to indicate when charged particles come from the hard scatter (some of our samples include pileup truth information). The implementation of the flag is in STDM7.py. There is a selection of particles that uses theta instead of eta, because many particles don't have a valid eta value (they have thetas of either 0 or pi).

Lastly, there is a small change in SlimmingHelpers.py. I changed some tabs to spaces here. When I used atlas addpkg to add the DerivationFrameworkCore package to my local athena, my grid jobs failed due to the tabs and spaces conflict.

Merge request reports