ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
ParticleGun_SamplingFraction.MyParticleSampler Class Reference
Inheritance diagram for ParticleGun_SamplingFraction.MyParticleSampler:
Collaboration diagram for ParticleGun_SamplingFraction.MyParticleSampler:

Public Member Functions

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

Public Attributes

 pid
 
 momentum
 
 eta1
 
 eta2
 
 mass
 
 bec
 
 radius
 
 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__()

def 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()

def 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

ParticleGun_SamplingFraction.MyParticleSampler.bec

Definition at line 22 of file ParticleGun_SamplingFraction.py.

◆ eta1

ParticleGun_SamplingFraction.MyParticleSampler.eta1

Definition at line 18 of file ParticleGun_SamplingFraction.py.

◆ eta2

ParticleGun_SamplingFraction.MyParticleSampler.eta2

Definition at line 19 of file ParticleGun_SamplingFraction.py.

◆ mass

ParticleGun_SamplingFraction.MyParticleSampler.mass

Definition at line 21 of file ParticleGun_SamplingFraction.py.

◆ momentum

ParticleGun_SamplingFraction.MyParticleSampler.momentum

Definition at line 17 of file ParticleGun_SamplingFraction.py.

◆ pid

ParticleGun_SamplingFraction.MyParticleSampler.pid

Definition at line 16 of file ParticleGun_SamplingFraction.py.

◆ radius

ParticleGun_SamplingFraction.MyParticleSampler.radius

Definition at line 23 of file ParticleGun_SamplingFraction.py.

◆ z

ParticleGun_SamplingFraction.MyParticleSampler.z

Definition at line 24 of file ParticleGun_SamplingFraction.py.


The documentation for this class was generated from the following file:
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18