14 import modularAnalysis 
as ma
 
   16 import b2biiConversion
 
   18 variables = [
'p', 
'pt', 
'pz', 
'phi',
 
   19              'daughter(0, p)', 
'daughter(0, pz)', 
'daughter(0, pt)', 
'daughter(0, phi)',
 
   20              'daughter(1, p)', 
'daughter(1, pz)', 
'daughter(1, pt)', 
'daughter(1, phi)',
 
   21              'daughter(2, p)', 
'daughter(2, pz)', 
'daughter(2, pt)', 
'daughter(2, phi)',
 
   22              'chiProb', 
'dr', 
'dz', 
'dphi',
 
   23              'daughter(0, dr)', 
'daughter(1, dr)', 
'daughter(0, dz)', 
'daughter(1, dz)',
 
   24              'daughter(0, dphi)', 
'daughter(1, dphi)',
 
   25              'daughter(0, chiProb)', 
'daughter(1, chiProb)', 
'daughter(2, chiProb)', 
'daughter(2, M)',
 
   26              'daughter(0, atcPIDBelle(3,2))', 
'daughter(1, atcPIDBelle(3,2))',
 
   27              'daughterAngle(0, 1)', 
'daughterAngle(0, 2)', 
'daughterAngle(1, 2)',
 
   28              'daughter(2, daughter(0, E))', 
'daughter(2, daughter(1, E))',
 
   29              'daughter(2, daughter(0, clusterLAT))', 
'daughter(2, daughter(1, clusterLAT))',
 
   30              'daughter(2, daughter(0, clusterHighestE))', 
'daughter(2, daughter(1, clusterHighestE))',
 
   31              'daughter(2, daughter(0, clusterNHits))', 
'daughter(2, daughter(1, clusterNHits))',
 
   32              'daughter(2, daughter(0, clusterE9E25))', 
'daughter(2, daughter(1, clusterE9E25))',
 
   33              'daughter(2, daughter(0, minC2TDist))', 
'daughter(2, daughter(1, minC2TDist))',
 
   34              'daughterInvM(0, 1)', 
'daughterInvM(0, 2)', 
'daughterInvM(1, 2)']
 
   35 spectators = [
'isSignal', 
'M', 
'mcErrors']
 
   38 def reconstruction_path(inputfiles):
 
   39     path = b2.create_path()
 
   41     ma.setAnalysisConfigParams({
'mcMatchingVersion': 
'Belle'}, path)
 
   42     ma.fillParticleLists([(
'K-', 
'atcPIDBelle(3,2) > 0.2 and dr < 2 and abs(dz) < 4'),
 
   43                           (
'pi+', 
'atcPIDBelle(3,2) < 0.2 and dr < 2 and abs(dz) < 4')], path=path)
 
   44     vx.kFit(
'pi0:mdst', 0.1, path=path, fit_type=
'massvertex')
 
   45     ma.reconstructDecay(
'D0 -> K- pi+ pi0:mdst', 
'1.7 < M < 2.0', path=path)
 
   46     vx.kFit(
'D0', 0.1, path=path)
 
   47     ma.applyCuts(
'D0', 
'1.7 < M < 2.0', path=path)
 
   48     ma.matchMCTruth(
'D0', path=path)
 
   52 if __name__ == 
"__main__":
 
   53     from basf2 
import conditions
 
   55     conditions.testing_payloads = [
 
   56         'localdb/database.txt' 
   59     path = reconstruction_path([])
 
   60     ma.variablesToNtuple(
'D0', variables + spectators, filename=
'validation.root', treename=
'tree', path=path)
 
def convertBelleMdstToBelleIIMdst(inputBelleMDSTFile, applySkim=True, useBelleDBServer=None, convertBeamParameters=True, generatorLevelReconstruction=False, generatorLevelMCMatching=False, path=None, entrySequences=None, matchType2E9oE25Threshold=-1.1, enableNisKsFinder=True, HadronA=True, HadronB=True, enableRecTrg=False, enableEvtcls=True, SmearTrack=2, enableLocalDB=True)