ATLAS Offline Software
jobOptions.decayer.py
Go to the documentation of this file.
1 
6 
7 import AthenaCommon.AtlasUnixGeneratorJob
8 
9 from AthenaCommon.AppMgr import theApp
10 from AthenaCommon.AppMgr import ServiceMgr
11 
12 #--------------------------------------------------------------
13 # Private Application Configuration options
14 #--------------------------------------------------------------
15 #load relevant libraries
16 from PartPropSvc.PartPropSvcConf import PartPropSvc
17 ServiceMgr += PartPropSvc()
18 
19 # The following is needed to load the Athena Random
20 # Number Generation Service.
21 from RngComps.RngCompsConf import AtRanluxGenSvc
22 ServiceMgr += AtRanluxGenSvc()
23 ServiceMgr.AtRanluxGenSvc.Seeds = ["SINGLE 2040160768 443921183"]
24 # AtRanluxGenSvc.ReadFromFile = TRUE
25 
26 #--------------------------------------------------------------
27 # Set output level threshold (1=VERBOSE, 2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
28 #--------------------------------------------------------------
29 ServiceMgr.MessageSvc.OutputLevel = VERBOSE
30 
31 #--------------------------------------------------------------
32 # Event related parameters
33 #--------------------------------------------------------------
34 # Number of events to be processed (default is 10)
35 theApp.EvtMax = 100000
36 
37 #--------------------------------------------------------------
38 # ParticleGenerator parameters
39 #--------------------------------------------------------------
40 from AthenaCommon.AlgSequence import AlgSequence
41 job=AlgSequence()
42 
43 # get the configurable class
44 from ParticleGenerator.ParticleGeneratorConf import ParticleGenerator
45 job += ParticleGenerator()
46 
47 
48 # For VERBOSE output from ParticleGenerator.
49 job.ParticleGenerator.OutputLevel = DEBUG
50 
51 #This is an example of configuration of ParticleGenerator
52 job.ParticleGenerator.orders = [
53  "pdgcode[0]: constant 999",
54  "et[0]: flat 10000. 100000.",
55  #"vertZ[0]: gaussian 0 50",
56  "eta[0]: flat -2.5 2.5",
57  "phi[0]: flat -3.14159 3.14159"
58 
67  ]
68 
69 #--------------------------------------------------------------
70 # ParticleDecayer parameters
71 #--------------------------------------------------------------
72 from ParticleDecayer.ParticleDecayerConf import ParticleDecayer
73 job += ParticleDecayer()
74 job.ParticleDecayer.OutputLevel = DEBUG
75 job.ParticleDecayer.McEventCollection = "GEN_EVENT"
76 
77 
82 job.ParticleDecayer.LJType = 2 #LeptonJet type: 1 = one dark photon per LeptonJet, 2 = two dark photons per LeptonJet
83 job.ParticleDecayer.ScalarMass = 5000 #new mass of the scalar in MeV
84 job.ParticleDecayer.ScalarPDGID = 700021 #new PDGID of the scalar
85 job.ParticleDecayer.ParticleID = 999 #We use "geantino" to indicate dark scalar
86 job.ParticleDecayer.ParticleMass = 600 #new mass of the dark photon in MeV
87 job.ParticleDecayer.ParticleLifeTime = 100 #new ctau of the dark photon in mm
88 job.ParticleDecayer.ParticlePolarization = -1 #polarization of the dark photon: 0 = isotropic decay, -1 = tranverse, 1 = longitudinal
89 job.ParticleDecayer.OppositePolarization = False
90 job.ParticleDecayer.ParticlePDGID = 700022 #Use this new code for dark photon
91 
92 
102 
103 
104 #decay mode of the dark photon(s): you need to specify the XX% electrons, YY% muons, ZZ% pions. NB: sum must be 1!!))
105 job.ParticleDecayer.DecayBRElectrons = 0.30 #dark photon BR to electrons
106 job.ParticleDecayer.DecayBRMuons = 0.30 #dark photon BR to muons
107 job.ParticleDecayer.DecayBRPions = 0.40 #dark photon BR to pions
108 
109 job.ParticleDecayer.DoUniformDecay = False # Uniform in decay radius
110 job.ParticleDecayer.DoExponentialDecay = True
111 job.ParticleDecayer.ExpDecayDoVariableLifetime = True
112 job.ParticleDecayer.ExpDecayPercentageToKeep = 0.8
113 job.ParticleDecayer.ExpDecayDoTruncateLongDecays = True
114 
115 job.ParticleDecayer.BarrelRadius = 8.e3 # in mm
116 job.ParticleDecayer.EndCapDistance = 11.e3 # in mm
117 job.ParticleDecayer.ThetaEndCapBarrel = 0.628796286 #0.439067982 = eta of 1.5
118 
119 #---------------------------------------------------------------
120 # Pool Persistency
121 #---------------------------------------------------------------
122 from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
123 Stream1 = AthenaPoolOutputStream( "StreamEVGEN" )
124 Stream1.OutputFile = "ParticleDecayer.EVNT.pool.root"
125 Stream1.ItemList += [ "2101#*", "133273#*" ]
126 
127 #==============================================================
128 #
129 # End of job options file
130 #
131 
python.AlgSequence.AlgSequence
AlgSequence
Definition: PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/AlgSequence.py:7
AtRanluxGenSvc
The default ATLAS random number engine manager, based on Ranlux64.
Definition: AtRanluxGenSvc.h:55
python.CreateOutputStreams.AthenaPoolOutputStream
def AthenaPoolOutputStream
backward compat
Definition: CreateOutputStreams.py:144