ATLAS Offline Software
bTosllAli.py
Go to the documentation of this file.
1 
24 import AthenaCommon.AtlasUnixGeneratorJob
25 
26 from PartPropSvc.PartPropSvcConf import PartPropSvc
27 svcMgr += PartPropSvc()
28 
29 #--------------------------------------------------------------
30 # Private Application Configuration options
31 #--------------------------------------------------------------
32 svcMgr.AuditorSvc.Auditors = [ "ChronoAuditor" ]
33 
34 #--------------------------------------------------------------
35 # Algorithms
36 #--------------------------------------------------------------
37 from AthenaCommon.AlgSequence import AlgSequence
38 topAlg=AlgSequence()
39 
40 from PythiaB.PythiaBConf import PythiaB
41 topAlg += PythiaB()
42 PythiaB = topAlg.PythiaB
43 
44 from Pythia_i.Pythia_iConf import Pythia
45 topAlg += Pythia()
46 Pythia = topAlg.Pythia
47 
48 from EvtGen_i.EvtGen_iConf import EvtDecay
49 topAlg += EvtDecay()
50 EvtDecay = topAlg.EvtDecay
51 
52 from GeneratorFilters.GeneratorFiltersConf import BSignalFilter
53 topAlg += BSignalFilter()
54 BSignalFilter = topAlg.BSignalFilter
55 
56 #--------------------------------------------------------------
57 # Number of events to be accepted !! (default is 10)
58 # re-written if use B job submition script
59 # RunNumber, FirstEvent re-written if use B job submition script
60 #--------------------------------------------------------------
61 theApp.EvtMax = 12
62 svcMgr.EventSelector.RunNumber = 1
63 svcMgr.EventSelector.FirstEvent = 1
64 # Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
65 svcMgr.MessageSvc.OutputLevel = 2
66 #--------------------------------------------------------------
67 # PARAMETERS SPECIFIC TO PYTHIAB
68 #--------------------------------------------------------------
69 include( "StopPytWeakBdecays.py" )
70 
71 #--------------------------------------------------------------
72 # -------- PYTHIA PARAMETERS OPTIMAL FOR BEAUTY PRODUCTION --
73 #--------------------------------------------------------------
74 # 'msel 5' is only for fast tests!
75 # for correct b-producion you should use 'msel 1'
76 include( "PythiaB/Btune.py" )
77 
78 PythiaB.PythiaCommand += ["pysubs ckin 3 6.",
79  "pysubs msel 1"]
80 # ------------- Selections on b quarks -------------
81 PythiaB.cutbq = ["0. 102.5 and 10. 2.5"]
82 # ------------- Number of repeated hadronization mhadr -------------
83 PythiaB.mhadr = 14.
84 # ------------- For how many events store B-chain in NTUPLE -------------
85 BSignalFilter.SignaltoNtup = 10
86 BSignalFilter.LVL1MuonCutOn = TRUE
87 
88 BSignalFilter.LVL1MuonCutPT = 6000.0
89 BSignalFilter.LVL1MuonCutEta = 2.5
90 
92 BSignalFilter.LVL2MuonCutOn = TRUE
93 BSignalFilter.LVL2MuonCutPT = 4000.0
94 BSignalFilter.LVL2MuonCutEta = 2.5
95 BSignalFilter.LVL2ElectronCutOn = FALSE
96 BSignalFilter.LVL2ElectronCutPT = 1000.0
97 BSignalFilter.LVL2ElectronCutEta = 2.5
98 # ------- cuts on stable particles at the end of B-decay chain --------
99 BSignalFilter.Cuts_Final_hadrons_switch = TRUE
100 BSignalFilter.Cuts_Final_hadrons_pT = 500.0
101 BSignalFilter.Cuts_Final_hadrons_eta = 2.5
102 BSignalFilter.Cuts_Final_e_switch = TRUE
103 BSignalFilter.Cuts_Final_e_pT = 500.0
104 BSignalFilter.Cuts_Final_e_eta = 2.5
105 BSignalFilter.Cuts_Final_mu_switch = TRUE
106 BSignalFilter.Cuts_Final_mu_pT = 4000.0
107 BSignalFilter.Cuts_Final_mu_eta = 2.5
108 #--------------------------------------------------------------
109 # YOUR CONTROL OF EVTGEN
110 #--------------------------------------------------------------
111 # If you do not define a name to your Decay-table file here
112 # then EvtGen will work with a default decay table DECAY.DEC
113 EvtDecay = Algorithm( "EvtDecay" )
114 EvtDecay.userDecayTableName = "Bplus_Kplus_mu6mu4.DEC"
115 
116 # EvtGen random seed interface. Does not affect PYTHIA seeds.
117 # This is a TEMPORARY FIX as it does not abide by ATLAS software rules.
118 # James R Catmore, 16/2/2004
119 #EvtDecay.EvtGenRandomSeed = 645754;
120 
121 
122 
123 #--------------------------------------------------------------
124 # Histogram & Ntuple Persistency
125 #--------------------------------------------------------------
126 # Change the following line to "RootHistCnv" for ROOT persistency
127 #theApp.Dlls += [ "RootHistCnv" ]
128 # Change the following line to "ROOT" for ROOT persistency
129 theApp.HistogramPersistency = "ROOT"
130 #--------------------------------------------------------------
131 # NTuple output file
132 #--------------------------------------------------------------
133 #HbookHistSvc.NPAWC = 1500000
134 #HistogramPersistencySvc = Service( "HistogramPersistencySvc" )
135 #HistogramPersistencySvc.OutputFile = "histo.root"
136 svcMgr.NTupleSvc.Output = [ "FILE1 DATAFILE='pythiaB.root' OPT='NEW' TYP='ROOT'" ]
137 
138 
140 from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
141 include( "GeneratorObjectsAthenaPool/GeneratorObjectsAthenaPool_joboptions.py" )
142 
143 Stream1 = AthenaPoolOutputStream( "Stream1" )
144 Stream1.OutputFile = "pythiaB.pool.root"
145 # 2101 = EventInfo
146 # 133273 = MCTruth (HepMC)
147 Stream1.ItemList += [ "2101#*", "133273#*" ]
148 Stream1.AcceptAlgs = [ "BSignalFilter" ]
149 
150 include("AthenaSealSvc/AthenaSealSvc_joboptions.py" )
151 AthenaSealSvc.CheckDictionary = TRUE
152 
153 
154 #==============================================================
155 #
156 # End of job options file
157 #
158 
BSignalFilter
Definition: BSignalFilter.py:1
python.AlgSequence.AlgSequence
AlgSequence
Definition: PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/AlgSequence.py:7
bTosllAli.Pythia
Pythia
Definition: bTosllAli.py:46
python.FakeAthena.Algorithm
def Algorithm(name)
Definition: FakeAthena.py:41
bTosllAli.PythiaB
PythiaB
Definition: bTosllAli.py:42
python.Include.include
include
Definition: Include.py:319
bTosllAli.EvtDecay
EvtDecay
Definition: bTosllAli.py:50
python.CreateOutputStreams.AthenaPoolOutputStream
def AthenaPoolOutputStream
backward compat
Definition: CreateOutputStreams.py:144