Source code for b2biiMonitors

#!/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 basf2 as b2
from modularAnalysis import fillParticleList
from modularAnalysis import copyParticles
from modularAnalysis import copyList
from modularAnalysis import cutAndCopyLists
from modularAnalysis import matchMCTruth

from vertex import kFit


[docs]def addBeamParamsConversionMonitors(outputRootFile='b2biiBeamParamsConversionMonitors.root', path=None): """ In each event saves HER, LER, CMS, x-angle to histograms for monitoring purpuses: e.g. to be compared with same distributions obtained within BASF. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ # register VariablesToHistogram and fill it with monitored variables beam2hist = b2.register_module('VariablesToHistogram') beam2hist.param('particleList', '') # define variables that are monitored and specify # the corresponding histogram (#bins, low, high) # ('variable_name', number_of_bins, x_low, x_high) beam2hist_expno = ('expNum', 100, 0.0, 99.0) beam2hist_runno = ('modulo(runNum,1000)', 1000, 0.0, 999.0) beam2hist_evtno = ('modulo(evtNum,10000)', 10000, 0.0, 9999.0) beam2hist_Eher = ('Eher', 13000, 7.100, 8.400) beam2hist_Eler = ('Eler', 6000, 3.100, 3.700) beam2hist_Ecms = ('Ecms', 17000, 9.200, 10.900) beam2hist_Xang = ('XAngle', 100, 0.01, 0.03) beam2hist_ipx = ('IPX', 100, -0.5, 0.5) beam2hist_ipy = ('IPY', 100, -0.5, 0.5) beam2hist_ipz = ('IPZ', 100, -5.0, 5.0) beam2hist_iperr00 = ('IPCov(0,0)', 100, 0.0, 0.000500) beam2hist_iperr01 = ('IPCov(0,1)', 100, 0.0, 0.000001) beam2hist_iperr02 = ('IPCov(0,2)', 100, 0.0, 0.010000) beam2hist_iperr11 = ('IPCov(1,1)', 100, 0.0, 0.000001) beam2hist_iperr12 = ('IPCov(1,2)', 100, 0.0, 0.000001) beam2hist_iperr22 = ('IPCov(2,2)', 100, 0.0, 0.500000) beam2hist.param('variables', [beam2hist_expno, beam2hist_runno, beam2hist_evtno, beam2hist_Eher, beam2hist_Eler, beam2hist_Ecms, beam2hist_Xang, beam2hist_ipx, beam2hist_ipy, beam2hist_ipz, beam2hist_iperr00, beam2hist_iperr01, beam2hist_iperr02, beam2hist_iperr11, beam2hist_iperr12, beam2hist_iperr22]) beam2hist.param('fileName', outputRootFile) path.add_module(beam2hist)
[docs]def addKshortConversionMonitors(outputRootFile='b2biiKshortConversionMonitors.root', path=None): """ Creates copies of KShort particles from 'K_S0:mdst' ParticleList and fills them to a new ParticleList called 'K_S0:b2bii_monitor'. For each KShort candidate several quantities are stored to histograms with 'VariablesToHistogram' module for monitoring purpuses: e.g. to be compared with same distributions obtained within BASF. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ # copy KShorts from 'K_S0:mdst' list. We don't want to mess with them. copyParticles('K_S0:b2bii_monitor', 'K_S0:mdst', False, path) kFit('K_S0:b2bii_monitor', -1, path=path) matchMCTruth('K_S0:b2bii_monitor', path) # register VariablesToHistogram and fill it with monitored variables kshorts2hist = b2.register_module('VariablesToHistogram') kshorts2hist.param('particleList', 'K_S0:mdst') fittdKS2hist = b2.register_module('VariablesToHistogram') fittdKS2hist.param('particleList', 'K_S0:b2bii_monitor') # define variables that are monitored and specify # the corresponding histogram (#bins, low, high) # ('variable_name', number_of_bins, x_low, x_high) kshorts2hist_mass = ('M', 100, 0.46, 0.53) kshorts2hist_px = ('px', 100, -2.5, 2.5) kshorts2hist_py = ('py', 100, -2.5, 2.5) kshorts2hist_pz = ('pz', 100, -1.5, 3.5) kshorts2hist_e = ('E', 100, 0.0, 4.0) kshorts2hist_x = ('x', 100, -50.0, 50.0) kshorts2hist_y = ('y', 100, -50.0, 50.0) kshorts2hist_z = ('z', 100, -50.0, 50.0) kshorts2hist_d0px = ('daughter(0,px)', 100, -2.0, 2.0) kshorts2hist_d0py = ('daughter(0,py)', 100, -2.0, 2.0) kshorts2hist_d0pz = ('daughter(0,pz)', 100, -2.0, 3.0) kshorts2hist_d0e = ('daughter(0,E)', 100, 0.0, 3.0) kshorts2hist_d0x = ('daughter(0,x)', 100, -50.0, 50.0) kshorts2hist_d0y = ('daughter(0,y)', 100, -50.0, 50.0) kshorts2hist_d0z = ('daughter(0,z)', 100, -50.0, 50.0) kshorts2hist_d1px = ('daughter(1,px)', 100, -2.0, 2.0) kshorts2hist_d1py = ('daughter(1,py)', 100, -2.0, 2.0) kshorts2hist_d1pz = ('daughter(1,pz)', 100, -2.0, 3.0) kshorts2hist_d1e = ('daughter(1,E)', 100, 0.0, 3.0) kshorts2hist_d1x = ('daughter(1,x)', 100, -50.0, 50.0) kshorts2hist_d1y = ('daughter(1,y)', 100, -50.0, 50.0) kshorts2hist_d1z = ('daughter(1,z)', 100, -50.0, 50.0) kshorts2hist_gks = ('extraInfo(goodKs)', 120, -1.1, 1.1) kshorts2hist_vlike = ('extraInfo(ksnbVLike)', 120, -1.1, 1.1) kshorts2hist_nolam = ('extraInfo(ksnbNoLam)', 120, -1.1, 1.1) kshorts2hist_stnrd = ('extraInfo(ksnbStandard)', 120, -1.1, 1.1) kshorts2hist.param('variables', [kshorts2hist_mass, kshorts2hist_px, kshorts2hist_py, kshorts2hist_pz, kshorts2hist_e, kshorts2hist_x, kshorts2hist_y, kshorts2hist_z, kshorts2hist_d0px, kshorts2hist_d0py, kshorts2hist_d0pz, kshorts2hist_d0e, kshorts2hist_d0x, kshorts2hist_d0y, kshorts2hist_d0z, kshorts2hist_d1px, kshorts2hist_d1py, kshorts2hist_d1pz, kshorts2hist_d1e, kshorts2hist_d1x, kshorts2hist_d1y, kshorts2hist_d1z, kshorts2hist_gks, kshorts2hist_vlike, kshorts2hist_nolam, kshorts2hist_stnrd]) fittdKS2hist_mass = ('M', 100, 0.46, 0.53) fittdKS2hist_px = ('px', 100, -2.5, 2.5) fittdKS2hist_py = ('py', 100, -2.5, 2.5) fittdKS2hist_pz = ('pz', 100, -1.5, 3.5) fittdKS2hist_e = ('E', 100, 0.0, 4.0) fittdKS2hist_x = ('x', 100, -50.0, 50.0) fittdKS2hist_y = ('y', 100, -50.0, 50.0) fittdKS2hist_z = ('z', 100, -50.0, 50.0) fittdKS2hist_pvale = ('chiProb', 120, -1.1, 1.1) fittdKS2hist_err00 = ('momVertCovM(0,0)', 100, 0.0, 0.00010) fittdKS2hist_err01 = ('momVertCovM(0,1)', 100, 0.0, 0.00005) fittdKS2hist_err02 = ('momVertCovM(0,2)', 100, 0.0, 0.00005) fittdKS2hist_err03 = ('momVertCovM(0,3)', 100, 0.0, 0.00010) fittdKS2hist_err04 = ('momVertCovM(0,4)', 100, 0.0, 0.00020) fittdKS2hist_err05 = ('momVertCovM(0,5)', 100, 0.0, 0.00050) fittdKS2hist_err06 = ('momVertCovM(0,6)', 100, 0.0, 0.00100) fittdKS2hist_err11 = ('momVertCovM(1,1)', 100, 0.0, 0.00010) fittdKS2hist_err12 = ('momVertCovM(1,2)', 100, 0.0, 0.00005) fittdKS2hist_err13 = ('momVertCovM(1,3)', 100, 0.0, 0.00010) fittdKS2hist_err14 = ('momVertCovM(1,4)', 100, 0.0, 0.00050) fittdKS2hist_err15 = ('momVertCovM(1,5)', 100, 0.0, 0.00020) fittdKS2hist_err16 = ('momVertCovM(1,6)', 100, 0.0, 0.00100) fittdKS2hist_err22 = ('momVertCovM(2,2)', 100, 0.0, 0.00020) fittdKS2hist_err23 = ('momVertCovM(2,3)', 100, 0.0, 0.00020) fittdKS2hist_err24 = ('momVertCovM(2,4)', 100, 0.0, 0.00050) fittdKS2hist_err25 = ('momVertCovM(2,5)', 100, 0.0, 0.00050) fittdKS2hist_err26 = ('momVertCovM(2,6)', 100, 0.0, 0.00005) fittdKS2hist_err33 = ('momVertCovM(3,3)', 100, 0.0, 0.00030) fittdKS2hist_err34 = ('momVertCovM(3,4)', 100, 0.0, 0.00050) fittdKS2hist_err35 = ('momVertCovM(3,5)', 100, 0.0, 0.00050) fittdKS2hist_err36 = ('momVertCovM(3,6)', 100, 0.0, 0.00050) fittdKS2hist_err44 = ('momVertCovM(4,4)', 100, 0.0, 0.00100) fittdKS2hist_err45 = ('momVertCovM(4,5)', 100, 0.0, 0.00100) fittdKS2hist_err46 = ('momVertCovM(4,6)', 100, 0.0, 0.00100) fittdKS2hist_err55 = ('momVertCovM(5,5)', 100, 0.0, 0.00100) fittdKS2hist_err56 = ('momVertCovM(5,6)', 100, 0.0, 0.00100) fittdKS2hist_err66 = ('momVertCovM(6,6)', 100, 0.0, 0.00100) # mc truth information fittdKS2hist_ksd0MCPDG = ('abs(daughter(0,mcPDG))', 250, 0.0, 2499.0) fittdKS2hist_ksd1MCPDG = ('abs(daughter(1,mcPDG))', 250, 0.0, 2499.0) fittdKS2hist_ksd0MCP = ('daughter(0,mcP)', 100, 0.0, 3.5) fittdKS2hist_ksd1MCP = ('daughter(1,mcP)', 100, 0.0, 3.5) fittdKS2hist.param('variables', [fittdKS2hist_mass, fittdKS2hist_px, fittdKS2hist_py, fittdKS2hist_pz, fittdKS2hist_e, fittdKS2hist_x, fittdKS2hist_y, fittdKS2hist_z, fittdKS2hist_pvale, fittdKS2hist_err00, fittdKS2hist_err01, fittdKS2hist_err02, fittdKS2hist_err03, fittdKS2hist_err04, fittdKS2hist_err05, fittdKS2hist_err06, fittdKS2hist_err11, fittdKS2hist_err12, fittdKS2hist_err13, fittdKS2hist_err14, fittdKS2hist_err15, fittdKS2hist_err16, fittdKS2hist_err22, fittdKS2hist_err23, fittdKS2hist_err24, fittdKS2hist_err25, fittdKS2hist_err26, fittdKS2hist_err33, fittdKS2hist_err34, fittdKS2hist_err35, fittdKS2hist_err36, fittdKS2hist_err44, fittdKS2hist_err45, fittdKS2hist_err46, fittdKS2hist_err55, fittdKS2hist_err56, fittdKS2hist_err66, fittdKS2hist_ksd0MCPDG, fittdKS2hist_ksd1MCPDG, fittdKS2hist_ksd0MCP, fittdKS2hist_ksd1MCP]) kshorts2hist.param('fileName', outputRootFile) outputRootFileAVF = outputRootFile.replace(".root", "-AVF.root") fittdKS2hist.param('fileName', outputRootFileAVF) path.add_module(kshorts2hist) path.add_module(fittdKS2hist)
[docs]def addKlongConversionMonitors(outputRootFile='b2biiKlongConversionMonitors.root', path=None): """ Creates copies of KLong particles from 'K_L0:mdst' ParticleList and fills them to a new ParticleList called 'K_L0:b2bii_monitor'. For each Klong candidate several quantities are stored to histograms with 'VariablesToHistogram' module for monitoring purpuses: e.g. to be compared with same distributions obtained within BASF. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ matchMCTruth('K_L0:mdst', path) # register VariablesToHistogram and fill it with monitored variables klong2hist = b2.register_module('VariablesToHistogram') klong2hist.param('particleList', 'K_L0:mdst') # define variables that are monitored and specify # the corresponding histogram (#bins, low, high) # ('variable_name', number_of_bins, x_low, x_high) klong2hist_pos_x = ('klmClusterPositionX', 100, -3.0, 3.0) klong2hist_pos_y = ('klmClusterPositionY', 100, -3.0, 3.0) klong2hist_pos_z = ('klmClusterPositionZ', 100, -3.0, 3.0) klong2hist_layers = ('klmClusterLayers', 100, 0.0, 35.0) klong2hist_innermost_layer = ('klmClusterInnermostLayer', 100, 0.0, 35.0) # (vague) mc truth missing # mcPDG, mE, mPX, mPY, mPZ klong2hist_mcPDG = ('mcPDG', 1000, 0, 1000) klong2hist_mE = ('mcE', 100, 0.0, 6.0) klong2hist_mPX = ('mcPX', 100, -5.0, 5.0) klong2hist_mPY = ('mcPY', 100, -5.0, 5.0) klong2hist_mPZ = ('mcPZ', 100, -5.0, 5.0) klong2hist.param('variables', [klong2hist_pos_x, klong2hist_pos_y, klong2hist_pos_z, klong2hist_layers, klong2hist_innermost_layer, klong2hist_mcPDG, klong2hist_mE, klong2hist_mPX, klong2hist_mPY, klong2hist_mPZ ]) klong2hist.param('fileName', outputRootFile) path.add_module(klong2hist)
[docs]def addLambda0ConversionMonitors(outputRootFile='b2biiLambda0ConversionMonitors.root', path=None): """ Creates copies of Lambda0 particles from 'Lambda0:mdst' ParticleList and c.c. and fills them to a new ParticleList called 'Lambda0:b2bii_monitor'. For each Lambda0 candidate several quantities are stored to histograms with 'VariablesToHistogram' module for monitoring purpuses: e.g. to be compared with same distributions obtained within BASF. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ copyParticles('Lambda0:b2bii_monitor', 'Lambda0:mdst', False, path) kFit('Lambda0:b2bii_monitor', -1, path=path) matchMCTruth('Lambda0:b2bii_monitor', path) # register VariablesToHistogram and fill it with monitored variables lambdas2hist = b2.register_module('VariablesToHistogram') lambdas2hist.param('particleList', 'Lambda0:mdst') fittdL02hist = b2.register_module('VariablesToHistogram') fittdL02hist.param('particleList', 'Lambda0:b2bii_monitor') # define variables that are monitored and specify # the corresponding histogram (#bins, low, high) # ('variable_name', number_of_bins, x_low, x_high) lambdas2hist_mass = ('M', 100, 1.095, 1.135) lambdas2hist_px = ('px', 100, -2.5, 2.5) lambdas2hist_py = ('py', 100, -2.5, 2.5) lambdas2hist_pz = ('pz', 100, -1.5, 3.5) lambdas2hist_e = ('E', 100, 0.0, 4.0) lambdas2hist_x = ('x', 100, -50.0, 50.0) lambdas2hist_y = ('y', 100, -50.0, 50.0) lambdas2hist_z = ('z', 100, -50.0, 50.0) lambdas2hist_d0px = ('daughter(0,px)', 100, -2.0, 2.0) lambdas2hist_d0py = ('daughter(0,py)', 100, -2.0, 2.0) lambdas2hist_d0pz = ('daughter(0,pz)', 100, -2.0, 3.0) lambdas2hist_d0e = ('daughter(0,E)', 100, 0.0, 3.0) lambdas2hist_d0x = ('daughter(0,x)', 100, -50.0, 50.0) lambdas2hist_d0y = ('daughter(0,y)', 100, -50.0, 50.0) lambdas2hist_d0z = ('daughter(0,z)', 100, -50.0, 50.0) lambdas2hist_d1px = ('daughter(1,px)', 100, -2.0, 2.0) lambdas2hist_d1py = ('daughter(1,py)', 100, -2.0, 2.0) lambdas2hist_d1pz = ('daughter(1,pz)', 100, -2.0, 3.0) lambdas2hist_d1e = ('daughter(1,E)', 100, 0.0, 3.0) lambdas2hist_d1x = ('daughter(1,x)', 100, -50.0, 50.0) lambdas2hist_d1y = ('daughter(1,y)', 100, -50.0, 50.0) lambdas2hist_d1z = ('daughter(1,z)', 100, -50.0, 50.0) lambdas2hist.param('variables', [lambdas2hist_mass, lambdas2hist_px, lambdas2hist_py, lambdas2hist_pz, lambdas2hist_e, lambdas2hist_x, lambdas2hist_y, lambdas2hist_z, lambdas2hist_d0px, lambdas2hist_d0py, lambdas2hist_d0pz, lambdas2hist_d0e, lambdas2hist_d0x, lambdas2hist_d0y, lambdas2hist_d0z, lambdas2hist_d1px, lambdas2hist_d1py, lambdas2hist_d1pz, lambdas2hist_d1e, lambdas2hist_d1x, lambdas2hist_d1y, lambdas2hist_d1z]) fittdL02hist_mass = ('M', 100, 1.095, 1.135) fittdL02hist_px = ('px', 100, -2.5, 2.5) fittdL02hist_py = ('py', 100, -2.5, 2.5) fittdL02hist_pz = ('pz', 100, -1.5, 3.5) fittdL02hist_e = ('E', 100, 0.0, 4.0) fittdL02hist_x = ('x', 100, -50.0, 50.0) fittdL02hist_y = ('y', 100, -50.0, 50.0) fittdL02hist_z = ('z', 100, -50.0, 50.0) fittdL02hist_pvale = ('chiProb', 120, -1.1, 1.1) fittdL02hist_err00 = ('momVertCovM(0,0)', 100, 0.0, 0.00010) fittdL02hist_err01 = ('momVertCovM(0,1)', 100, 0.0, 0.00005) fittdL02hist_err02 = ('momVertCovM(0,2)', 100, 0.0, 0.00005) fittdL02hist_err03 = ('momVertCovM(0,3)', 100, 0.0, 0.00010) fittdL02hist_err04 = ('momVertCovM(0,4)', 100, 0.0, 0.00020) fittdL02hist_err05 = ('momVertCovM(0,5)', 100, 0.0, 0.00050) fittdL02hist_err06 = ('momVertCovM(0,6)', 100, 0.0, 0.00100) fittdL02hist_err11 = ('momVertCovM(1,1)', 100, 0.0, 0.00010) fittdL02hist_err12 = ('momVertCovM(1,2)', 100, 0.0, 0.00005) fittdL02hist_err13 = ('momVertCovM(1,3)', 100, 0.0, 0.00010) fittdL02hist_err14 = ('momVertCovM(1,4)', 100, 0.0, 0.00050) fittdL02hist_err15 = ('momVertCovM(1,5)', 100, 0.0, 0.00020) fittdL02hist_err16 = ('momVertCovM(1,6)', 100, 0.0, 0.00100) fittdL02hist_err22 = ('momVertCovM(2,2)', 100, 0.0, 0.00020) fittdL02hist_err23 = ('momVertCovM(2,3)', 100, 0.0, 0.00020) fittdL02hist_err24 = ('momVertCovM(2,4)', 100, 0.0, 0.00050) fittdL02hist_err25 = ('momVertCovM(2,5)', 100, 0.0, 0.00050) fittdL02hist_err26 = ('momVertCovM(2,6)', 100, 0.0, 0.00005) fittdL02hist_err33 = ('momVertCovM(3,3)', 100, 0.0, 0.00030) fittdL02hist_err34 = ('momVertCovM(3,4)', 100, 0.0, 0.00050) fittdL02hist_err35 = ('momVertCovM(3,5)', 100, 0.0, 0.00050) fittdL02hist_err36 = ('momVertCovM(3,6)', 100, 0.0, 0.00050) fittdL02hist_err44 = ('momVertCovM(4,4)', 100, 0.0, 0.00100) fittdL02hist_err45 = ('momVertCovM(4,5)', 100, 0.0, 0.00100) fittdL02hist_err46 = ('momVertCovM(4,6)', 100, 0.0, 0.00100) fittdL02hist_err55 = ('momVertCovM(5,5)', 100, 0.0, 0.00100) fittdL02hist_err56 = ('momVertCovM(5,6)', 100, 0.0, 0.00100) fittdL02hist_err66 = ('momVertCovM(6,6)', 100, 0.0, 0.00100) # mc truth information fittdL02hist_ksd0MCPDG = ('abs(daughter(0,mcPDG))', 250, 0.0, 2499.0) fittdL02hist_ksd1MCPDG = ('abs(daughter(1,mcPDG))', 250, 0.0, 2499.0) fittdL02hist_ksd0MCP = ('daughter(0,mcP)', 100, 0.0, 3.5) fittdL02hist_ksd1MCP = ('daughter(1,mcP)', 100, 0.0, 3.5) fittdL02hist.param('variables', [fittdL02hist_mass, fittdL02hist_px, fittdL02hist_py, fittdL02hist_pz, fittdL02hist_e, fittdL02hist_x, fittdL02hist_y, fittdL02hist_z, fittdL02hist_pvale, fittdL02hist_err00, fittdL02hist_err01, fittdL02hist_err02, fittdL02hist_err03, fittdL02hist_err04, fittdL02hist_err05, fittdL02hist_err06, fittdL02hist_err11, fittdL02hist_err12, fittdL02hist_err13, fittdL02hist_err14, fittdL02hist_err15, fittdL02hist_err16, fittdL02hist_err22, fittdL02hist_err23, fittdL02hist_err24, fittdL02hist_err25, fittdL02hist_err26, fittdL02hist_err33, fittdL02hist_err34, fittdL02hist_err35, fittdL02hist_err36, fittdL02hist_err44, fittdL02hist_err45, fittdL02hist_err46, fittdL02hist_err55, fittdL02hist_err56, fittdL02hist_err66, fittdL02hist_ksd0MCPDG, fittdL02hist_ksd1MCPDG, fittdL02hist_ksd0MCP, fittdL02hist_ksd1MCP]) lambdas2hist.param('fileName', outputRootFile) outputRootFileAVF = outputRootFile.replace(".root", "-AVF.root") fittdL02hist.param('fileName', outputRootFileAVF) path.add_module(lambdas2hist) path.add_module(fittdL02hist)
[docs]def addConvertedPhotonConversionMonitors(outputRootFile='b2biiConvertedPhotonConversionMonitors.root', path=None): """ Creates copies of gamma particles from 'gamma:v0mdst' ParticleList and fills them to a new ParticleList called 'gamma:v0_b2bii_monitor'. For each gamma candidate several quantities are stored to histograms with 'VariablesToHistogram' module for monitoring purpuses: e.g. to be compared with same distributions obtained within BASF. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ copyParticles('gamma:v0_b2bii_monitor', 'gamma:v0mdst', False, path) kFit('gamma:v0_b2bii_monitor', -1, path=path) matchMCTruth('gamma:v0_b2bii_monitor', path) # register VariablesTohistogram and fill it with monitored variables convgam2hist = b2.register_module('VariablesToHistogram') convgam2hist.param('particleList', 'gamma:v0mdst') fittdCG2hist = b2.register_module('VariablesToHistogram') fittdCG2hist.param('particleList', 'gamma:v0_b2bii_monitor') # define variables that are monitored and specify # the corresponding histogram (#bins, low, high) # ('variable_name', number_of_bins, x_low, x_high) convgam2hist_mass = ('M', 100, 0.0, 0.050) convgam2hist_px = ('px', 100, -2.5, 2.5) convgam2hist_py = ('py', 100, -2.5, 2.5) convgam2hist_pz = ('pz', 100, -1.5, 3.5) convgam2hist_e = ('E', 100, 0.0, 4.0) convgam2hist_x = ('x', 100, -50.0, 50.0) convgam2hist_y = ('y', 100, -50.0, 50.0) convgam2hist_z = ('z', 100, -50.0, 50.0) convgam2hist_d0px = ('daughter(0,px)', 100, -2.0, 2.0) convgam2hist_d0py = ('daughter(0,py)', 100, -2.0, 2.0) convgam2hist_d0pz = ('daughter(0,pz)', 100, -2.0, 3.0) convgam2hist_d0e = ('daughter(0,E)', 100, 0.0, 3.0) convgam2hist_d0x = ('daughter(0,x)', 100, -50.0, 50.0) convgam2hist_d0y = ('daughter(0,y)', 100, -50.0, 50.0) convgam2hist_d0z = ('daughter(0,z)', 100, -50.0, 50.0) convgam2hist_d1px = ('daughter(1,px)', 100, -2.0, 2.0) convgam2hist_d1py = ('daughter(1,py)', 100, -2.0, 2.0) convgam2hist_d1pz = ('daughter(1,pz)', 100, -2.0, 3.0) convgam2hist_d1e = ('daughter(1,E)', 100, 0.0, 3.0) convgam2hist_d1x = ('daughter(1,x)', 100, -50.0, 50.0) convgam2hist_d1y = ('daughter(1,y)', 100, -50.0, 50.0) convgam2hist_d1z = ('daughter(1,z)', 100, -50.0, 50.0) convgam2hist.param('variables', [convgam2hist_mass, convgam2hist_px, convgam2hist_py, convgam2hist_pz, convgam2hist_e, convgam2hist_x, convgam2hist_y, convgam2hist_z, convgam2hist_d0px, convgam2hist_d0py, convgam2hist_d0pz, convgam2hist_d0e, convgam2hist_d0x, convgam2hist_d0y, convgam2hist_d0z, convgam2hist_d1px, convgam2hist_d1py, convgam2hist_d1pz, convgam2hist_d1e, convgam2hist_d1x, convgam2hist_d1y, convgam2hist_d1z]) fittdCG2hist_mass = ('M', 100, 0.0, 0.050) fittdCG2hist_px = ('px', 100, -2.5, 2.5) fittdCG2hist_py = ('py', 100, -2.5, 2.5) fittdCG2hist_pz = ('pz', 100, -1.5, 3.5) fittdCG2hist_e = ('E', 100, 0.0, 4.0) fittdCG2hist_x = ('x', 100, -50.0, 50.0) fittdCG2hist_y = ('y', 100, -50.0, 50.0) fittdCG2hist_z = ('z', 100, -50.0, 50.0) fittdCG2hist_pvale = ('chiProb', 120, -1.1, 1.1) fittdCG2hist_err00 = ('momVertCovM(0,0)', 100, 0.0, 0.00010) fittdCG2hist_err01 = ('momVertCovM(0,1)', 100, 0.0, 0.00005) fittdCG2hist_err02 = ('momVertCovM(0,2)', 100, 0.0, 0.00005) fittdCG2hist_err03 = ('momVertCovM(0,3)', 100, 0.0, 0.00010) fittdCG2hist_err04 = ('momVertCovM(0,4)', 100, 0.0, 0.00020) fittdCG2hist_err05 = ('momVertCovM(0,5)', 100, 0.0, 0.00050) fittdCG2hist_err06 = ('momVertCovM(0,6)', 100, 0.0, 0.00100) fittdCG2hist_err11 = ('momVertCovM(1,1)', 100, 0.0, 0.00010) fittdCG2hist_err12 = ('momVertCovM(1,2)', 100, 0.0, 0.00005) fittdCG2hist_err13 = ('momVertCovM(1,3)', 100, 0.0, 0.00010) fittdCG2hist_err14 = ('momVertCovM(1,4)', 100, 0.0, 0.00050) fittdCG2hist_err15 = ('momVertCovM(1,5)', 100, 0.0, 0.00020) fittdCG2hist_err16 = ('momVertCovM(1,6)', 100, 0.0, 0.00100) fittdCG2hist_err22 = ('momVertCovM(2,2)', 100, 0.0, 0.00020) fittdCG2hist_err23 = ('momVertCovM(2,3)', 100, 0.0, 0.00020) fittdCG2hist_err24 = ('momVertCovM(2,4)', 100, 0.0, 0.00050) fittdCG2hist_err25 = ('momVertCovM(2,5)', 100, 0.0, 0.00050) fittdCG2hist_err26 = ('momVertCovM(2,6)', 100, 0.0, 0.00005) fittdCG2hist_err33 = ('momVertCovM(3,3)', 100, 0.0, 0.00030) fittdCG2hist_err34 = ('momVertCovM(3,4)', 100, 0.0, 0.00050) fittdCG2hist_err35 = ('momVertCovM(3,5)', 100, 0.0, 0.00050) fittdCG2hist_err36 = ('momVertCovM(3,6)', 100, 0.0, 0.00050) fittdCG2hist_err44 = ('momVertCovM(4,4)', 100, 0.0, 0.00100) fittdCG2hist_err45 = ('momVertCovM(4,5)', 100, 0.0, 0.00100) fittdCG2hist_err46 = ('momVertCovM(4,6)', 100, 0.0, 0.00100) fittdCG2hist_err55 = ('momVertCovM(5,5)', 100, 0.0, 0.00100) fittdCG2hist_err56 = ('momVertCovM(5,6)', 100, 0.0, 0.00100) fittdCG2hist_err66 = ('momVertCovM(6,6)', 100, 0.0, 0.00100) # mc truth information fittdCG2hist_ksd0MCPDG = ('abs(daughter(0,mcPDG))', 250, 0.0, 2499.0) fittdCG2hist_ksd1MCPDG = ('abs(daughter(1,mcPDG))', 250, 0.0, 2499.0) fittdCG2hist_ksd0MCP = ('daughter(0,mcP)', 100, 0.0, 3.5) fittdCG2hist_ksd1MCP = ('daughter(1,mcP)', 100, 0.0, 3.5) fittdCG2hist.param('variables', [fittdCG2hist_mass, fittdCG2hist_px, fittdCG2hist_py, fittdCG2hist_pz, fittdCG2hist_e, fittdCG2hist_x, fittdCG2hist_y, fittdCG2hist_z, fittdCG2hist_pvale, fittdCG2hist_err00, fittdCG2hist_err01, fittdCG2hist_err02, fittdCG2hist_err03, fittdCG2hist_err04, fittdCG2hist_err05, fittdCG2hist_err06, fittdCG2hist_err11, fittdCG2hist_err12, fittdCG2hist_err13, fittdCG2hist_err14, fittdCG2hist_err15, fittdCG2hist_err16, fittdCG2hist_err22, fittdCG2hist_err23, fittdCG2hist_err24, fittdCG2hist_err25, fittdCG2hist_err26, fittdCG2hist_err33, fittdCG2hist_err34, fittdCG2hist_err35, fittdCG2hist_err36, fittdCG2hist_err44, fittdCG2hist_err45, fittdCG2hist_err46, fittdCG2hist_err55, fittdCG2hist_err56, fittdCG2hist_err66, fittdCG2hist_ksd0MCPDG, fittdCG2hist_ksd1MCPDG, fittdCG2hist_ksd0MCP, fittdCG2hist_ksd1MCP]) convgam2hist.param('fileName', outputRootFile) outputRootFileAVF = outputRootFile.replace(".root", "-AVF.root") fittdCG2hist.param('fileName', outputRootFileAVF) path.add_module(convgam2hist) path.add_module(fittdCG2hist)
[docs]def addTrackConversionMonitors(outputRootFile='b2biiTrackConversionMonitors.root', path=None): """ Creates 'pi+:b2bii_monitor' ParticleLists and fills it with all converted charged tracks as charged pions. For each charged pion (track) several quantities are stored to histograms with 'VariablesToHistogram' module for monitoring purpuses: e.g. to be compared with same distributions obtained within BASF. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ # create charged pions from all charged tracks fillParticleList('pi+:b2bii_monitor', '', False, path) # register VariablesToHistogram and fill it with monitored variables tracks2hist = b2.register_module('VariablesToHistogram') tracks2hist.param('particleList', 'pi+:b2bii_monitor') # define variables that are monitored and specify # the corresponding histogram (#bins, low, high) # ('variable_name', number_of_bins, x_low, x_high) tracks2hist_KPID = ('atcPIDBelle(3,2)', 110, -0.05, 1.05) tracks2hist_PRKID = ('atcPIDBelle(4,3)', 110, -0.05, 1.05) tracks2hist_PRPID = ('atcPIDBelle(4,2)', 110, -0.05, 1.05) tracks2hist_EID = ('eIDBelle', 110, -0.05, 1.05) tracks2hist_MUID = ('muIDBelle', 110, -0.05, 1.05) tracks2hist_MUIDQ = ('muIDBelleQuality', 110, -0.05, 1.05) tracks2hist_px = ('px', 100, -3.0, 3.0) tracks2hist_py = ('py', 100, -3.0, 3.0) tracks2hist_pz = ('pz', 100, -3.0, 3.0) tracks2hist_E = ('E', 100, 0.0, 4.0) tracks2hist_x = ('x', 100, -5.0, 5.0) tracks2hist_y = ('y', 100, -5.0, 5.0) tracks2hist_z = ('z', 100, -5.0, 5.0) tracks2hist_Err00 = ('momVertCovM(0,0)', 100, -0.0001, 0.0001) tracks2hist_Err01 = ('momVertCovM(0,1)', 100, -0.0001, 0.0001) tracks2hist_Err02 = ('momVertCovM(0,2)', 100, -0.0001, 0.0001) tracks2hist_Err03 = ('momVertCovM(0,3)', 100, -0.0001, 0.0001) tracks2hist_Err04 = ('momVertCovM(0,4)', 100, -0.0001, 0.0001) tracks2hist_Err05 = ('momVertCovM(0,5)', 100, -0.0001, 0.0001) tracks2hist_Err06 = ('momVertCovM(0,6)', 100, -0.0001, 0.0001) tracks2hist_Err11 = ('momVertCovM(1,1)', 100, -0.0001, 0.0001) tracks2hist_Err12 = ('momVertCovM(1,2)', 100, -0.0001, 0.0001) tracks2hist_Err13 = ('momVertCovM(1,3)', 100, -0.0001, 0.0001) tracks2hist_Err14 = ('momVertCovM(1,4)', 100, -0.0001, 0.0001) tracks2hist_Err15 = ('momVertCovM(1,5)', 100, -0.0001, 0.0001) tracks2hist_Err16 = ('momVertCovM(1,6)', 100, -0.0001, 0.0001) tracks2hist_Err22 = ('momVertCovM(2,2)', 100, -0.0001, 0.0001) tracks2hist_Err23 = ('momVertCovM(2,3)', 100, -0.0001, 0.0001) tracks2hist_Err24 = ('momVertCovM(2,4)', 100, -0.0001, 0.0001) tracks2hist_Err25 = ('momVertCovM(2,5)', 100, -0.0001, 0.0001) tracks2hist_Err26 = ('momVertCovM(2,6)', 100, -0.0001, 0.0001) tracks2hist_Err33 = ('momVertCovM(3,3)', 100, -0.0001, 0.0001) tracks2hist_Err34 = ('momVertCovM(3,4)', 100, -0.0001, 0.0001) tracks2hist_Err35 = ('momVertCovM(3,5)', 100, -0.0001, 0.0001) tracks2hist_Err36 = ('momVertCovM(3,6)', 100, -0.0001, 0.0001) tracks2hist_Err44 = ('momVertCovM(4,4)', 100, -0.0001, 0.0001) tracks2hist_Err45 = ('momVertCovM(4,5)', 100, -0.0001, 0.0001) tracks2hist_Err46 = ('momVertCovM(4,6)', 100, -0.0001, 0.0001) tracks2hist_Err55 = ('momVertCovM(5,5)', 100, -0.0001, 0.0001) tracks2hist_Err56 = ('momVertCovM(5,6)', 100, -0.0001, 0.0001) tracks2hist_Err66 = ('momVertCovM(6,6)', 100, -0.0001, 0.0001) tracks2hist.param('variables', [tracks2hist_KPID, tracks2hist_PRKID, tracks2hist_PRPID, tracks2hist_EID, tracks2hist_MUID, tracks2hist_MUIDQ, tracks2hist_px, tracks2hist_py, tracks2hist_pz, tracks2hist_E, tracks2hist_x, tracks2hist_y, tracks2hist_z, tracks2hist_Err00, tracks2hist_Err01, tracks2hist_Err02, tracks2hist_Err03, tracks2hist_Err04, tracks2hist_Err05, tracks2hist_Err06, tracks2hist_Err11, tracks2hist_Err12, tracks2hist_Err13, tracks2hist_Err14, tracks2hist_Err15, tracks2hist_Err16, tracks2hist_Err22, tracks2hist_Err23, tracks2hist_Err24, tracks2hist_Err25, tracks2hist_Err26, tracks2hist_Err33, tracks2hist_Err34, tracks2hist_Err35, tracks2hist_Err36, tracks2hist_Err44, tracks2hist_Err45, tracks2hist_Err46, tracks2hist_Err55, tracks2hist_Err56, tracks2hist_Err66]) tracks2hist.param('fileName', outputRootFile) path.add_module(tracks2hist)
[docs]def addNeutralsConversionMonitors(gammaOutputRootFile='b2biiGammaConversionMonitors.root', neutralPiOutputRootFile='b2biiPi0ConversionMonitors.root', MCneutralPiOutputRootFile='b2biiMCPi0ConversionMonitors.root', path=None): """ Creates 'gamma:b2bii_monitor' and 'pi0:b2bii_monitor' from already existing 'gamma:mdst' and 'pi0:mdst' ParticleList and fills it with all converted neutral gammas. For each object several quantities are stored to histograms with 'VariablesToHistogram' module for monitoring purpuses: e.g. to be compared with same distributions obtained within BASF. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ # load gammas and pi0, copy pi0s from 'pi0:mdst' list. We don't want to mess with them. copyList('gamma:b2bii_monitor', 'gamma:mdst', False, path) copyParticles('pi0:b2bii_monitor', 'pi0:mdst', False, path) kFit('pi0:b2bii_monitor', -1, 'mass', path=path) matchMCTruth('gamma:b2bii_monitor', path) matchMCTruth('pi0:b2bii_monitor', path) cutAndCopyLists('pi0:b2bii_monitorMC', 'pi0:b2bii_monitor', 'mcPDG == 111', path=path) # register VariablesToHistogram and fill them with monitored variables gamma2hist = b2.register_module('VariablesToHistogram') gamma2hist.param('particleList', 'gamma:b2bii_monitor') neutralPi2hist = b2.register_module('VariablesToHistogram') neutralPi2hist.param('particleList', 'pi0:b2bii_monitor') MCneutralPi2hist = b2.register_module('VariablesToHistogram') MCneutralPi2hist.param('particleList', 'pi0:b2bii_monitorMC') # define variables that are monitored and specify # the corresponding histogram (#bins, low, high) # ('variable_name', number_of_bins, x_low, x_high) ################### # Gamma ################### # Position and momentum gamma2hist_x = ('x', 100, -1.0, 1.0) gamma2hist_y = ('y', 100, -1.0, 1.0) gamma2hist_z = ('z', 100, -1.0, 1.0) gamma2hist_px = ('px', 100, -1.5, 1.5) gamma2hist_py = ('py', 100, -1.5, 1.5) gamma2hist_pz = ('pz', 100, -1.0, 2.5) gamma2hist_truepx = ('mcPX', 100, -1.5, 1.5) gamma2hist_truepy = ('mcPY', 100, -1.5, 1.5) gamma2hist_truepz = ('mcPZ', 100, -1.0, 2.5) gamma2hist_trueE = ('mcE', 100, 0.0, 3.0) # Cluster variables gamma2hist_E = ('E', 100, 0.0, 3.0) gamma2hist_Theta = ('clusterTheta', 100, 0.0, 3.14) gamma2hist_Phi = ('clusterPhi', 100, -3.14, 3.14) gamma2hist_R = ('clusterR', 100, 120, 260) # Auxiliary variables gamma2hist_Edep = ('clusterUncorrE', 100, 0.0, 0.1) # gamma2hist_Time= ('clusterTiming', 100, ?, ?) gamma2hist_Emax = ('clusterHighestE', 100, 0.0, 2.0) gamma2hist_E9E25 = ('clusterE9E25', 100, 0.0, 1.0) gamma2hist_noC = ('clusterNHits', 100, 0.0, 30.0) gamma2hist_Quality = ('clusterBelleQuality', 10, 0.0, 20.0) gamma2hist_Width = ('clusterLAT', 100, 0.0, 50.0) gamma2hist_Err00 = ('momVertCovM(0,0)', 100, -0.0005, 0.0005) gamma2hist_Err10 = ('momVertCovM(1,0)', 100, -0.0005, 0.0005) gamma2hist_Err11 = ('momVertCovM(1,1)', 100, -0.0005, 0.0005) gamma2hist_Err20 = ('momVertCovM(2,0)', 100, -0.0005, 0.0005) gamma2hist_Err21 = ('momVertCovM(2,1)', 100, -0.0005, 0.0005) gamma2hist_Err22 = ('momVertCovM(2,2)', 100, -0.0005, 0.0005) gamma2hist_Err30 = ('momVertCovM(3,0)', 100, -0.0005, 0.0005) gamma2hist_Err31 = ('momVertCovM(3,1)', 100, -0.0005, 0.0005) gamma2hist_Err32 = ('momVertCovM(3,2)', 100, -0.0005, 0.0005) gamma2hist_Err33 = ('momVertCovM(3,3)', 100, -0.0005, 0.0005) gamma2hist_Err40 = ('momVertCovM(4,0)', 100, -0.0005, 0.0005) gamma2hist_Err41 = ('momVertCovM(4,1)', 100, -0.0005, 0.0005) gamma2hist_Err42 = ('momVertCovM(4,2)', 100, -0.0005, 0.0005) gamma2hist_Err43 = ('momVertCovM(4,3)', 100, -0.0005, 0.0005) gamma2hist_Err44 = ('momVertCovM(4,4)', 100, 0.99, 1.01) gamma2hist_Err50 = ('momVertCovM(5,0)', 100, -0.0005, 0.0005) gamma2hist_Err51 = ('momVertCovM(5,1)', 100, -0.0005, 0.0005) gamma2hist_Err52 = ('momVertCovM(5,2)', 100, -0.0005, 0.0005) gamma2hist_Err53 = ('momVertCovM(5,3)', 100, -0.0005, 0.0005) gamma2hist_Err54 = ('momVertCovM(5,4)', 100, -0.0005, 0.0005) gamma2hist_Err55 = ('momVertCovM(5,5)', 100, 0.99, 1.01) gamma2hist_Err60 = ('momVertCovM(6,0)', 100, -0.0005, 0.0005) gamma2hist_Err61 = ('momVertCovM(6,1)', 100, -0.0005, 0.0005) gamma2hist_Err62 = ('momVertCovM(6,2)', 100, -0.0005, 0.0005) gamma2hist_Err63 = ('momVertCovM(6,3)', 100, -0.0005, 0.0005) gamma2hist_Err64 = ('momVertCovM(6,4)', 100, -0.0005, 0.0005) gamma2hist_Err65 = ('momVertCovM(6,5)', 100, -0.0005, 0.0005) gamma2hist_Err66 = ('momVertCovM(6,6)', 100, 0.99, 1.01) gamma2hist.param('variables', [gamma2hist_x, gamma2hist_y, gamma2hist_z, gamma2hist_px, gamma2hist_py, gamma2hist_pz, gamma2hist_truepx, gamma2hist_truepy, gamma2hist_truepz, gamma2hist_trueE, gamma2hist_E, gamma2hist_Theta, gamma2hist_Phi, gamma2hist_R, gamma2hist_Edep, gamma2hist_Emax, gamma2hist_E9E25, gamma2hist_noC, gamma2hist_Quality, gamma2hist_Width, gamma2hist_Err00, gamma2hist_Err10, gamma2hist_Err11, gamma2hist_Err20, gamma2hist_Err21, gamma2hist_Err22, gamma2hist_Err30, gamma2hist_Err31, gamma2hist_Err32, gamma2hist_Err33, gamma2hist_Err40, gamma2hist_Err41, gamma2hist_Err42, gamma2hist_Err43, gamma2hist_Err44, gamma2hist_Err50, gamma2hist_Err51, gamma2hist_Err52, gamma2hist_Err53, gamma2hist_Err54, gamma2hist_Err55, gamma2hist_Err60, gamma2hist_Err61, gamma2hist_Err62, gamma2hist_Err63, gamma2hist_Err64, gamma2hist_Err65, gamma2hist_Err66]) ################### # Pi0 ################### # Position and momentum neutralPi2hist_x = ('x', 100, -1.0, 1.0) neutralPi2hist_y = ('y', 100, -1.0, 1.0) neutralPi2hist_z = ('z', 100, -1.0, 1.0) neutralPi2hist_px = ('px', 100, -2.0, 2.0) neutralPi2hist_py = ('py', 100, -2.0, 2.0) neutralPi2hist_pz = ('pz', 100, -1.0, 2.5) neutralPi2hist_E = ('E', 100, 0.0, 3.0) neutralPi2hist_InvM = ('M', 100, 0.1344, 0.136) neutralPi2hist_M = ('InvM', 50, 0.08, 0.18) neutralPi2hist_truepx = ('mcPX', 100, -2.0, 2.0) neutralPi2hist_truepy = ('mcPY', 100, -2.0, 2.0) neutralPi2hist_truepz = ('mcPZ', 100, -1.0, 2.5) neutralPi2hist_trueE = ('mcE', 100, 0.0, 3.0) neutralPi2hist_d1x = ('daughter(0,x)', 100, -1.0, 1.0) neutralPi2hist_d1y = ('daughter(0,y)', 100, -1.0, 1.0) neutralPi2hist_d1z = ('daughter(0,z)', 100, -1.0, 1.0) neutralPi2hist_d1px = ('daughter(0,px)', 100, -1.5, 1.5) neutralPi2hist_d1py = ('daughter(0,py)', 100, -1.5, 1.5) neutralPi2hist_d1pz = ('daughter(0,pz)', 100, -1.0, 2.5) neutralPi2hist_d1e = ('daughter(0,E)', 100, 0.0, 3) neutralPi2hist_d2x = ('daughter(1,x)', 100, -1.0, 1.0) neutralPi2hist_d2y = ('daughter(1,y)', 100, -1.0, 1.0) neutralPi2hist_d2z = ('daughter(1,z)', 100, -1.0, 1.0) neutralPi2hist_d2px = ('daughter(1,px)', 100, -1.5, 1.5) neutralPi2hist_d2py = ('daughter(1,py)', 100, -1.5, 1.5) neutralPi2hist_d2pz = ('daughter(1,pz)', 100, -1.0, 2.5) neutralPi2hist_d2e = ('daughter(1,E)', 100, 0.0, 3) neutralPi2hist_Err00 = ('momVertCovM(0,0)', 100, -0.0005, 0.0005) neutralPi2hist_Err10 = ('momVertCovM(1,0)', 100, -0.0005, 0.0005) neutralPi2hist_Err11 = ('momVertCovM(1,1)', 100, -0.0005, 0.0005) neutralPi2hist_Err20 = ('momVertCovM(2,0)', 100, -0.0005, 0.0005) neutralPi2hist_Err21 = ('momVertCovM(2,1)', 100, -0.0005, 0.0005) neutralPi2hist_Err22 = ('momVertCovM(2,2)', 100, -0.0005, 0.0005) neutralPi2hist_Err30 = ('momVertCovM(3,0)', 100, -0.0005, 0.0005) neutralPi2hist_Err31 = ('momVertCovM(3,1)', 100, -0.0005, 0.0005) neutralPi2hist_Err32 = ('momVertCovM(3,2)', 100, -0.0005, 0.0005) neutralPi2hist_Err33 = ('momVertCovM(3,3)', 100, -0.0005, 0.0005) neutralPi2hist_Err40 = ('momVertCovM(4,0)', 100, -0.0005, 0.0005) neutralPi2hist_Err41 = ('momVertCovM(4,1)', 100, -0.0005, 0.0005) neutralPi2hist_Err42 = ('momVertCovM(4,2)', 100, -0.0005, 0.0005) neutralPi2hist_Err43 = ('momVertCovM(4,3)', 100, -0.0005, 0.0005) neutralPi2hist_Err44 = ('momVertCovM(4,4)', 100, -100.0, 100.0) neutralPi2hist_Err50 = ('momVertCovM(5,0)', 100, -0.0005, 0.0005) neutralPi2hist_Err51 = ('momVertCovM(5,1)', 100, -0.0005, 0.0005) neutralPi2hist_Err52 = ('momVertCovM(5,2)', 100, -0.0005, 0.0005) neutralPi2hist_Err53 = ('momVertCovM(5,3)', 100, -0.0005, 0.0005) neutralPi2hist_Err54 = ('momVertCovM(5,4)', 100, -100.0, 100.0) neutralPi2hist_Err55 = ('momVertCovM(5,5)', 100, -100.0, 100.0) neutralPi2hist_Err60 = ('momVertCovM(6,0)', 100, -0.0005, 0.0005) neutralPi2hist_Err61 = ('momVertCovM(6,1)', 100, -0.0005, 0.0005) neutralPi2hist_Err62 = ('momVertCovM(6,2)', 100, -0.0005, 0.0005) neutralPi2hist_Err63 = ('momVertCovM(6,3)', 100, -0.0005, 0.0005) neutralPi2hist_Err64 = ('momVertCovM(6,4)', 100, -100.0, 100.0) neutralPi2hist_Err65 = ('momVertCovM(6,5)', 100, -100.0, 100.0) neutralPi2hist_Err66 = ('momVertCovM(6,6)', 100, -100.0, 100.0) neutralPi2hist.param('variables', [neutralPi2hist_x, neutralPi2hist_y, neutralPi2hist_z, neutralPi2hist_px, neutralPi2hist_py, neutralPi2hist_pz, neutralPi2hist_E, neutralPi2hist_M, neutralPi2hist_InvM, neutralPi2hist_d1x, neutralPi2hist_d1y, neutralPi2hist_d1z, neutralPi2hist_d1px, neutralPi2hist_d1py, neutralPi2hist_d1pz, neutralPi2hist_d1e, neutralPi2hist_d2x, neutralPi2hist_d2y, neutralPi2hist_d2z, neutralPi2hist_d2px, neutralPi2hist_d2py, neutralPi2hist_d2pz, neutralPi2hist_d2e, neutralPi2hist_Err00, neutralPi2hist_Err10, neutralPi2hist_Err11, neutralPi2hist_Err20, neutralPi2hist_Err21, neutralPi2hist_Err22, neutralPi2hist_Err30, neutralPi2hist_Err31, neutralPi2hist_Err32, neutralPi2hist_Err33, neutralPi2hist_Err40, neutralPi2hist_Err41, neutralPi2hist_Err42, neutralPi2hist_Err43, neutralPi2hist_Err44, neutralPi2hist_Err50, neutralPi2hist_Err51, neutralPi2hist_Err52, neutralPi2hist_Err53, neutralPi2hist_Err54, neutralPi2hist_Err55, neutralPi2hist_Err60, neutralPi2hist_Err61, neutralPi2hist_Err62, neutralPi2hist_Err63, neutralPi2hist_Err64, neutralPi2hist_Err65, neutralPi2hist_Err66]) MCneutralPi2hist.param('variables', [neutralPi2hist_truepx, neutralPi2hist_truepy, neutralPi2hist_truepz, neutralPi2hist_trueE]) gamma2hist.param('fileName', gammaOutputRootFile) neutralPi2hist.param('fileName', neutralPiOutputRootFile) MCneutralPi2hist.param('fileName', MCneutralPiOutputRootFile) path.add_module(gamma2hist) path.add_module(neutralPi2hist) path.add_module(MCneutralPi2hist)
[docs]def addMCParticlesConversionMonitors(outputRootFile='b2biiMCParticlesConversionMonitors.root', path=None): """ 'HistoManager' and 'B2BIIMCParticlesMonitor' modules create and fill the monitoring histograms using all MCParticles. @param outputRootFile name of the output ROOT file to which the histograms are saved. @param path modules are added to this path """ histo = b2.register_module("HistoManager") MCParticles2hist = b2.register_module('B2BIIMCParticlesMonitor') histo.param("histoFileName", outputRootFile) path.add_module(histo) path.add_module(MCParticles2hist)