6 import simulation
as sim
7 import reconstruction
as reco
8 import modularAnalysis
as ana
9 import beamparameters
as beam
11 main = basf2.create_path()
18 main.add_module(
"RootInput")
20 main.add_module(
"Gearbox")
21 main.add_module(
"Geometry")
22 main.add_module(
"HistoManager", histoFileName=
"CollectorOutput.root")
23 beam.add_beamparameters(main,
'Y4S', 10.5796, vertex=[0., 0., 0.])
26 sim.add_simulation(main)
27 reco.add_reconstruction(main, pruneTracks=
False)
30 ana.fillParticleList(
'mu+:qed',
'muonID > 0.1 and useCMSFrame(p) > 2.', writeOut=
True, path=main)
31 ana.reconstructDecay(
'Z0:mumu -> mu-:qed mu+:qed',
'InvM > 10.5296 and InvM < 10.6296', writeOut=
True, path=main)
33 ana.vertexRaveDaughtersUpdate(
'Z0:mumu', 0.0, path=main, silence_warning=
True)
35 ana.matchMCTruth(
'mu+:qed', main)
36 ana.matchMCTruth(
'Z0:mumu', main)
38 ana.printVariableValues(
'Z0:mumu', [
'E',
'deltaE',
'M',
'InvM',
'mcPDG',
'p',
'Ecms'], path=main)
39 ana.printVariableValues(
'mu+:qed', [
'E',
'deltaE',
'M',
'mcPDG',
'p',
'muonID'], path=main)
41 main.add_module(
'VariablesToEventBasedTree',
42 particleList=
'Z0:mumu',
43 variables=[
'InvM',
'Ecms',
44 'daughter(0, p)',
'daughter(1, p)'],
45 event_variables=[
'nTracks',
'expNum',
'runNum',
'evtNum'])
48 components=[
'beamparameters'],
49 primaryTwoBodyDecays=[
'Z0:mumu'], tracks=[],
53 main.add_module(
'RootOutput')
54 main.add_module(
"Progress")
56 basf2.print_path(main)
58 print(basf2.statistics)