def single_manual(self, intercept, px, py, pz): pos = (0.0, intercept * 1.0e-3, 0.0) # unit [m] for helix object charge = -1.0 # unit [e] momentum = (px,py,pz) # unit [MeV/c] bfield = 2.5e-3 # 25 Gauss return HX.helix(pos,momentum,charge,bfield)
def single_random_momentum_with_z(self, intercept=0.0, side=0): pos = (0.0, intercept * 1.0e-3, 0.0) # unit [m] for helix object charge = -1.0 # unit [e] if side == 0: # right tracker px = random.uniform(-1.4, -0.5) # random momentum x, right else: px = random.uniform(0.5, 1.4) # random momentum x, right py = random.uniform(-0.1, 0.1) # random momentum y pz = random.uniform(-0.1, 0.1) # try 3D momentum = (px, py, pz) # unit [MeV/c] bfield = 2.5e-3 # 25 Gauss return HX.helix(pos, momentum, charge, bfield)