MC15.300471.Pythia8BEvtGen_A14_CTEQ6L1_Bp_Jpsi_mu0p0mu0p0_Kp_BMassFix.py 3.07 KB
Newer Older
Joany Manjarres's avatar
Joany Manjarres committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
##############################################################
# Python snippet to generate EvtGen user decay file on the fly
# B+ -> J/psi(mu0.0mu0.0) K+: an analog of MC15.300404
# w/o cuts for muons and kaon   
##############################################################
f = open("BU_JPSI_K_USER.DEC","w")
f.write("Particle  B+ 5.27929 0.0\n") # PDG2014 mass
f.write("Particle  B- 5.27929 0.0\n") # PDG2014 mass
f.write("Define dm_incohMix_B0 0.0\n") #disable neutral meson mixing
f.write("Define dm_incohMix_B_s0 0.0\n") #same, LEAVE AS B_s0
f.write("Alias myJ/psi J/psi\n")
f.write("Decay B+\n")
f.write("1.0000  myJ/psi   K+             SVS;\n")
f.write("Enddecay\n")
f.write("Decay myJ/psi\n")
f.write("1.0000    mu+  mu-             VLL;\n")
f.write("Enddecay\n")
f.write("End\n")
f.close()
##############################################################

evgenConfig.description = "Exclusive Bplus->Jpsi_mu3p5mu3p5_Kplus production"
evgenConfig.keywords = ["exclusive","Bplus","Jpsi","2muon"]
evgenConfig.minevents = 2000

include("MC15JobOptions/nonStandard/Pythia8B_A14_CTEQ6L1_EvtGen_Common.py")

### Put the content of MC15JobOptions/Pythia8B_exclusiveB_Common.py
### except actual closing B decays

# Set B+ mass in Pythia equal to that in EvtGen 
genSeq.Pythia8B.Commands += ['521:m0 = 5.27929'] # PDG2014 mass

# Hard process
genSeq.Pythia8B.Commands += ['HardQCD:all = on'] # Equivalent of MSEL1
genSeq.Pythia8B.Commands += ['ParticleDecays:mixB = off']
genSeq.Pythia8B.Commands += ['HadronLevel:all = off']

# Event selection
genSeq.Pythia8B.SelectBQuarks = True
genSeq.Pythia8B.SelectCQuarks = False
genSeq.Pythia8B.VetoDoubleBEvents = True

# List of B-species
include("MC15JobOptions/Pythia8B_BPDGCodes.py")
###
###

#include("MC15JobOptions/BSignalFilter.py")

genSeq.Pythia8B.Commands += ['PhaseSpace:pTHatMin = 7.']

genSeq.Pythia8B.QuarkPtCut = 0.0
genSeq.Pythia8B.AntiQuarkPtCut = 7.0
genSeq.Pythia8B.QuarkEtaCut = 102.5
genSeq.Pythia8B.AntiQuarkEtaCut = 2.6
genSeq.Pythia8B.RequireBothQuarksPassCuts = True

genSeq.Pythia8B.NHadronizationLoops = 1

# Make Pythia select the events with B+
genSeq.Pythia8B.SignalPDGCodes = [ 521 ]

genSeq.EvtInclusiveDecay.userDecayFile = "BU_JPSI_K_USER.DEC"

include("MC15JobOptions/ParentChildwStatusFilter.py")
filtSeq.ParentChildwStatusFilter.PDGParent  = [521]
filtSeq.ParentChildwStatusFilter.StatusParent  = [2]
filtSeq.ParentChildwStatusFilter.PtMinParent =  8900.
filtSeq.ParentChildwStatusFilter.EtaRangeParent = 2.5
filtSeq.ParentChildwStatusFilter.PDGChild = [443]
filtSeq.ParentChildwStatusFilter.PtMinChild = 0.
filtSeq.ParentChildwStatusFilter.EtaRangeChild = 999999.

# Final state selections
#filtSeq.BSignalFilter.LVL1MuonCutOn = True
#filtSeq.BSignalFilter.LVL2MuonCutOn = True
#filtSeq.BSignalFilter.LVL1MuonCutPT = 0
#filtSeq.BSignalFilter.LVL1MuonCutEta = 999999.
#filtSeq.BSignalFilter.LVL2MuonCutPT = 0
#filtSeq.BSignalFilter.LVL2MuonCutEta = 999999.

#filtSeq.BSignalFilter.B_PDGCode = 521
#filtSeq.BSignalFilter.Cuts_Final_hadrons_switch = True
#filtSeq.BSignalFilter.Cuts_Final_hadrons_pT = 0.0
#filtSeq.BSignalFilter.Cuts_Final_hadrons_eta = 999999.