Exemplo n.º 1
0
    def analyzeEtaPiN(self):
        for i in range(int(self.gampList.shape[0])):
            event = self.gampT.writeEvent(self.gampList[i, :, :])
            for particles in event.particles:
                if particles.particleID == 13.0:  #neutron
                    n = FourVector(float(particles.particleE),
                                   float(particles.particleXMomentum),
                                   float(particles.particleYMomentum),
                                   float(particles.particleZMomentum))
                if particles.particleID == 1.0:  #photon gamma
                    bm = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 12.0:  #eta
                    eta = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))
                if particles.particleID == 11.0:  #p+
                    pip = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))
            pmeson = eta + pip
            pMeson = pmeson.p
            beam3 = bm.p
            polarization = ThreeVector(0., 1., 0.)
            Normal = beam3 * pMeson

            cosAlpha = Normal.dot(polarization) / Normal.r()
            alpha = math.acos(cosAlpha)

            self.alphalist.append(alpha)
Exemplo n.º 2
0
    def analyze41(self):
        '''
            p p0 eta
        '''
        for i in range(int(self.gampList.shape[0])):
            event = self.gampT.writeEvent(self.gampList[i, :, :])
            for particles in event.particles:
                if particles.particleID == 14.0:  #proton
                    pp = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 1.0:  #photon gamma
                    bm = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 7.0:  #p0
                    pim = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))
                if particles.particleID == 17.0:  #eta
                    pip = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))

            pmeson = pip + pim
            pMeson = pmeson.p
            beam3 = bm.p

            PARA = 1.
            PERP = 0.

            polarization = ThreeVector(PARA, PERP, 0.)
            Normal = beam3 * pMeson
            hadplane = Normal * beam3

            cosAlpha = hadplane.dot(polarization) / hadplane.r()
            alpha = math.acos(cosAlpha)

            #            if polarization.x > 0  and hadplane.y > 0:
            #                alpha= -alpha
            #            if polarization.y > 0  and hadplane.x < 0:
            #                alpha= -alpha

            if polarization.x > 0:
                if hadplane.y > 0:
                    alpha = -alpha

            if polarization.y > 0:
                if hadplane.x < 0:
                    alpha = -alpha

            self.alphalist.append(alpha)
Exemplo n.º 3
0
    def analyze24(self):
        """
            p k+ k-  
        """
        for i in range(int(self.gampList.shape[0])):
            event = self.gampT.writeEvent(self.gampList[i, :, :])
            for particles in event.particles:
                if particles.particleID == 14.0:  #proton
                    pp = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 1.0:  #photon gamma
                    bm = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 12.0:  #K-
                    km = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 11.0:  #K+
                    kp = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))


#            target = FourVector(.938, 0., 0., 0.)
            pmeson = kp + km  # K+ K-

            #            if bm.z > 4.4:
            #                miss = bm + target - kp - km
            #                totalmiss = bm + target - kp - kp - pp
            #determine alpha
            pMeson = pmeson.p
            beam3 = bm.p
            polarization = ThreeVector(0., 1., 0.)
            Normal = beam3 * pMeson

            cosAlpha = Normal.dot(polarization) / Normal.r()
            alpha = math.acos(cosAlpha)
            #print alpha
            self.alphalist.append(alpha)
Exemplo n.º 4
0
    def analyze8(self):
        '''
            p pi+ pi- pi0
        '''
        for i in range(int(self.gampList.shape[0])):
            event = self.gampT.writeEvent(self.gampList[i, :, :])
            for particles in event.particles:
                if particles.particleID == 14.0:  #proton
                    p = FourVector(float(particles.particleE),
                                   float(particles.particleXMomentum),
                                   float(particles.particleYMomentum),
                                   float(particles.particleZMomentum))
                if particles.particleID == 1.0:  #photon gamma
                    bm = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 9.0:  #p-
                    pim = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))
                if particles.particleID == 8.0:  #p+
                    pip = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))

            ptarget = FourVector(.938, 0., 0., 0.)
            initp = bm + ptarget
            finalp = pip + pim + p
            pi0 = initp + finalp
            pmeson = pip + pim + pi0
            pMeson = pmeson.p
            beam3 = bm.p
            polarization = ThreeVector(0., 1., 0.)
            Normal = beam3 * pMeson

            cosAlpha = Normal.dot(polarization) / Normal.r()
            alpha = math.acos(cosAlpha)
            sys.stdout.write(str(i) + "\r")
            sys.stdout.flush()
            self.alphalist.append(alpha)
Exemplo n.º 5
0
    def analyze42(self):
        """
            gamma p --> p Ks Ks (pi+ pi- pi+ pi-)
        """
        for i in range(int(self.gampList.shape[0])):
            event = self.gampT.writeEvent(self.gampList[i, :, :])
            nks = 0
            for particles in event.particles:
                if particles.particleID == 14.0:  #proton
                    p = FourVector(float(particles.particleE),
                                   float(particles.particleXMomentum),
                                   float(particles.particleYMomentum),
                                   float(particles.particleZMomentum))
                if particles.particleID == 1.0:  #photon gamma
                    bm = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 16.0:  #Ks
                    if nks == 0:
                        ks1 = FourVector(float(particles.particleE),
                                         float(particles.particleXMomentum),
                                         float(particles.particleYMomentum),
                                         float(particles.particleZMomentum))
                    else:
                        ks2 = FourVector(float(particles.particleE),
                                         float(particles.particleXMomentum),
                                         float(particles.particleYMomentum),
                                         float(particles.particleZMomentum))
                    nks += 1

            pmeson = ks1 + ks2
            pMeson = pmeson.p
            beam3 = bm.p
            polarization = ThreeVector(0., 1., 0.)
            Normal = beam3 * pMeson

            cosAlpha = Normal.dot(polarization) / Normal.r()
            alpha = math.acos(cosAlpha)

            self.alphalist.append(alpha)
Exemplo n.º 6
0
    def analyze22(self):
        '''
            p p+ p-
        '''
        for i in range(int(self.gampList.shape[0])):
            event = self.gampT.writeEvent(self.gampList[i, :, :])
            for particles in event.particles:
                if particles.particleID == 14.0:  #proton
                    pp = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 1.0:  #photon gamma
                    bm = FourVector(float(particles.particleE),
                                    float(particles.particleXMomentum),
                                    float(particles.particleYMomentum),
                                    float(particles.particleZMomentum))
                if particles.particleID == 9.0:  #p-
                    pim = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))
                if particles.particleID == 8.0:  #p+
                    pip = FourVector(float(particles.particleE),
                                     float(particles.particleXMomentum),
                                     float(particles.particleYMomentum),
                                     float(particles.particleZMomentum))
            #
            pmeson = pip + pim
            pMeson = pmeson.p
            beam3 = bm.p
            polarization = ThreeVector(1., 0., 0.)
            Normal = beam3 * pMeson

            cosAlpha = Normal.dot(polarization) / Normal.r()
            alpha = math.acos(cosAlpha)
            if polarization.y == 1 and Normal.x > 0:
                alpha = -alpha
            if polarization.x == 1 and Normal.y < 0:
                alpha = -alpha
            self.alphalist.append(alpha)