Source code for skim.standardlists.dileptons

#!/usr/bin/env python3

##########################################################################
# basf2 (Belle II Analysis Software Framework)                           #
# Author: The Belle II Collaboration                                     #
#                                                                        #
# See git log for contributors and copyright holders.                    #
# This file is licensed under LGPL-3.0, see LICENSE.md.                  #
##########################################################################

import modularAnalysis as ma


[docs]def loadStdDiLeptons(persistent=True, path=None): """ Create the following lists of di-leptons: - 'J/psi:mumuLoose'Psi2s - 'J/psi:eeLoose' - 'psi(2S):mumuLoose' - 'psi(2S):eeLoose' @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ loadStdLooseJpsi2mumu(persistent, path) loadStdLooseJpsi2ee(persistent, path) loadStdLoosePsi2s2mumu(persistent, path) loadStdLoosePsi2s2ee(persistent, path) loadStdPsi2s2lepton(persistent, path)
[docs]def loadStdLooseJpsi2mumu(persistent=True, path=None): """ Load the 'J/psi:mumuLoose' list from 'mu-:loose mu+:loose', with :math:`2.8 < M < 3.7~GeV` @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.reconstructDecay('J/psi:mumuLoose -> mu-:loose mu+:loose', '2.8 < M < 3.7', 2, persistent, path) return 'J/psi:mumuLoose'
[docs]def loadStdLooseJpsi2ee(persistent=True, path=None): """ Load the 'J/psi:eeLoose' list from 'e-:loose e+:loose', with :math:`2.8 < M < 3.7~GeV` @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.reconstructDecay('J/psi:eeLoose -> e-:loose e+:loose', '2.8 < M < 3.7', 2, persistent, path) return 'J/psi:eeLoose'
[docs]def loadStdJpsiToee(persistent=True, path=None): """ Load the 'J/psi:ee' list from 'e+:bremCorr e-:bremCorr', with :math:`2.8 < M < 3.4~GeV` with electronID>0.01 @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.fillParticleList('e+:withCuts', cut="dr < 0.5 and abs(dz) < 2 and thetaInCDCAcceptance", path=path) ma.fillParticleList(decayString='gamma:e+', cut="E < 1.0", path=path) ma.correctBrems(outputList='e+:bremCorr', inputList='e+:withCuts', gammaList='gamma:e+', multiplePhotons=False, usePhotonOnlyOnce=True, writeOut=True, path=path) ma.reconstructDecay( 'J/psi:ee -> e+:bremCorr e-:bremCorr', '2.8 < M < 3.4 and daughter(0, electronID) > 0.01 or daughter(1, electronID) > 0.01', 2, persistent, path) return 'J/psi:ee'
[docs]def loadStdJpsiToee_noTOP(persistent=True, path=None): """ Load the 'J/psi:ee' list from 'e+:bremCorr e-:bremCorr', with :math:`2.8 < M < 3.4~GeV` with electronID_noTOP>0.01 @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.fillParticleList('e+:withCuts', cut="dr < 0.5 and abs(dz) < 2 and thetaInCDCAcceptance", path=path) ma.fillParticleList(decayString='gamma:e+', cut="E < 1.0", path=path) ma.correctBrems(outputList='e+:bremCorr', inputList='e+:withCuts', gammaList='gamma:e+', multiplePhotons=False, usePhotonOnlyOnce=True, writeOut=True, path=path) ma.reconstructDecay( 'J/psi:ee -> e+:bremCorr e-:bremCorr', '2.8 < M < 3.4 and daughter(0, electronID_noTOP) > 0.01 or daughter(1, electronID_noTOP) > 0.01', 2, persistent, path) return 'J/psi:ee'
[docs]def loadStdJpsiTomumu(persistent=True, path=None): """ Load the 'J/psi:mumu' list from 'mu+:withCuts mu+:withCuts', with :math:`2.8 < M < 3.4~GeV` where mu+:withCuts list is with cut="dr < 0.5 and abs(dz) < 2 and thetaInCDCAcceptance and muonID > 0.01" @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.fillParticleList('mu+:withCuts', cut="dr < 0.5 and abs(dz) < 2 and thetaInCDCAcceptance", path=path) ma.reconstructDecay( 'J/psi:mumu -> mu+:withCuts mu-:withCuts', '2.8 < M < 3.4 and daughter(0, muonID) > 0.01 or daughter(1,muonID) > 0.01', 2, persistent, path) return 'J/psi:mumu'
[docs]def loadStdPsi2s2lepton(persistent=True, path=None): """ 'psi(2S):ll' list of Psi(2S) to mumu or ee. 'psi(2S):mumu' reconstructed from 'mu-:all mu+:all', with :math:`3.2 < M < 4.1~GeV` 'psi(2S):ee' reconstructed from 'e-:all e+:all', with :math:`3.2 < M < 4.1~GeV` @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.reconstructDecay('psi(2S):mumu -> mu-:all mu+:all', '3.2 < M < 4.1', 1, persistent, path=path) ma.reconstructDecay('psi(2S):ee -> e-:all e+:all', '3.2 < M < 4.1', 2, persistent, path=path) ma.copyLists('psi(2S):ll', ['psi(2S):mumu', 'psi(2S):ee'], persistent, path) return 'psi(2S):ll'
[docs]def loadStdLoosePsi2s2mumu(persistent=True, path=None): """ Load the 'psi(2S):mumuLoose' list from 'mu-:loose mu+:loose', with :math:`3.2 < M < 4.1~GeV` @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.reconstructDecay('psi(2S):mumuLoose -> mu-:loose mu+:loose', '3.2 < M < 4.1', 2, persistent, path) return 'psi(2S):mumuLoose'
[docs]def loadStdLoosePsi2s2ee(persistent=True, path=None): """ Load the 'psi(2S):eeLoose' list from 'e-:loose e+:loose', with :math:`3.2 < M < 4.1~GeV` @param persistent whether RootOutput module should save the created ParticleLists (default True) @param path modules are added to this path """ ma.reconstructDecay('psi(2S):eeLoose -> e-:loose e+:loose', '3.2 < M < 4.1', 2, persistent, path) return 'psi(2S):eeLoose'