ATLAS Offline Software
Loading...
Searching...
No Matches
ParticleGun_SamplingFraction.MyParticleSampler Class Reference
Inheritance diagram for ParticleGun_SamplingFraction.MyParticleSampler:
Collaboration diagram for ParticleGun_SamplingFraction.MyParticleSampler:

Public Member Functions

 __init__ (self, pid=11, momentum=50000., eta1=0., eta2=1.4, bec=0, radius=1500., z=3740.5)
 shoot (self)

Public Attributes

 pid = pid
 momentum = momentum
 eta1 = eta1
 eta2 = eta2
int mass = pdg_table.GetParticle(self.pid()).Mass()*1000.
int bec = bec
 radius = radius
 z = z

Detailed Description

Projective showers starting at entrance of calorimeter, flat in eta, constant energy

Definition at line 10 of file ParticleGun_SamplingFraction.py.

Constructor & Destructor Documentation

◆ __init__()

ParticleGun_SamplingFraction.MyParticleSampler.__init__ ( self,
pid = 11,
momentum = 50000.,
eta1 = 0.,
eta2 = 1.4,
bec = 0,
radius = 1500.,
z = 3740.5 )

Definition at line 15 of file ParticleGun_SamplingFraction.py.

15 def __init__(self,pid=11,momentum=50000.,eta1=0.,eta2=1.4,bec=0,radius=1500.,z=3740.5):
16 self.pid = pid
17 self.momentum = momentum
18 self.eta1 = eta1
19 self.eta2 = eta2
20 pdg_table = ROOT.TDatabasePDG.Instance() #Gives values in GeV
21 self.mass = pdg_table.GetParticle(self.pid()).Mass()*1000.
22 self.bec=bec
23 self.radius=radius
24 self.z=z
25

Member Function Documentation

◆ shoot()

ParticleGun_SamplingFraction.MyParticleSampler.shoot ( self)

Definition at line 26 of file ParticleGun_SamplingFraction.py.

26 def shoot(self):
27 rtn=[]
28 eta = random.uniform(self.eta1, self.eta2)
29 phi = random.uniform(0, math.tau) # tau = 2 * pi
30 v4 = ROOT.TLorentzVector()
31 pt = self.momentum / math.cosh(eta)
32 v4.SetPtEtaPhiM(pt, eta, phi, self.mass)
33 if self.bec==0:
34 radius= self.radius
35 x=radius*math.cos(phi)
36 y=radius*math.sin(phi)
37 z=radius*math.sinh(eta)
38 else:
39 z=self.z
40 radius=z/math.sinh(eta)
41 x=radius*math.cos(phi)
42 y=radius*math.sin(phi)
43 t=math.sqrt(x*x+y*y+z*z)
44 vp = ROOT.TLorentzVector(x,y,z,t)
45 p = PG.SampledParticle(pid=self.pid(),mom=v4,pos=vp)
46 #print "E,eta,phi,mass ",e,eta,phi,self.mass," position ",x,y,z," pid=",p.pid
47 rtn.append(p)
48 return rtn
49

Member Data Documentation

◆ bec

int ParticleGun_SamplingFraction.MyParticleSampler.bec = bec

Definition at line 22 of file ParticleGun_SamplingFraction.py.

◆ eta1

ParticleGun_SamplingFraction.MyParticleSampler.eta1 = eta1

Definition at line 18 of file ParticleGun_SamplingFraction.py.

◆ eta2

ParticleGun_SamplingFraction.MyParticleSampler.eta2 = eta2

Definition at line 19 of file ParticleGun_SamplingFraction.py.

◆ mass

ParticleGun_SamplingFraction.MyParticleSampler.mass = pdg_table.GetParticle(self.pid()).Mass()*1000.

Definition at line 21 of file ParticleGun_SamplingFraction.py.

◆ momentum

ParticleGun_SamplingFraction.MyParticleSampler.momentum = momentum

Definition at line 17 of file ParticleGun_SamplingFraction.py.

◆ pid

ParticleGun_SamplingFraction.MyParticleSampler.pid = pid

Definition at line 16 of file ParticleGun_SamplingFraction.py.

◆ radius

ParticleGun_SamplingFraction.MyParticleSampler.radius = radius

Definition at line 23 of file ParticleGun_SamplingFraction.py.

◆ z

ParticleGun_SamplingFraction.MyParticleSampler.z = z

Definition at line 24 of file ParticleGun_SamplingFraction.py.


The documentation for this class was generated from the following file: