REAL FUNCTION zee(XDUMMY) ********************************************************* * * * This file was generated by HUWFUN. * * * ********************************************************* * * Ntuple Id: 60 * Ntuple Title: Z events * Creation: 15/11/99 15.51.53 * ********************************************************* * LOGICAL CHAIN CHARACTER*128 CFILE INTEGER IDNEVT,NCHEVT,ICHEVT REAL VIDN1,VIDN2,VIDN3,VIDN(10) * COMMON /PAWIDN/ IDNEVT,VIDN1,VIDN2,VIDN3,VIDN COMMON /PAWCHN/ CHAIN, NCHEVT, ICHEVT COMMON /PAWCHC/ CFILE * *-- Ntuple Variable Declarations * REAL zmass,phi12,et12,y,zmass_c,phi12_c,et12_c,y_c,bmstat(4) + ,fid(2),etad(2),phi_e(2),etaevent(2),etapes(2),etapad(2),z_vtx(2) + ,z_old(2),z0_trk(2),CESX(2),CESZ(2),DX(2),DZ(2),RLsh2(2) + ,cesch2(2),pem3ch2(2),pt(2),E_X(2),E_Y(2),E_Z(2),E_CLUST(2) + ,Et0(2),Etz(2),had_em(2),Eoverp(2),Ciso4(2),Eiso4(2),Tiso(2) + ,COR_E(2),p_x(2),p_y(2),p_z(2),vtx_occ(2),svxphi(2),svxphi_x2(2) + ,dphi_exp(2),pesphifit(2),peschi(2),pes_dphi_mea(2),pes_exp(2) + ,pemphifit(2),pemchi(2),pem_dphi_mea(2),pem_exp(2) INTEGER irun,ievt,Neles,iaccept,Itrig,Iflag(2),L2cls(2),Ireg(2) + ,Ichg(2),N3d(2),Nhit_raw(2),Lhit_raw(2),INtrk1(2),INtrk2(2) + ,Nsvx(2),Lhit_fin(2),Nexp(2),Lhitexp(2) * COMMON /PAWCR4/ irun,ievt,Neles,iaccept,Itrig,zmass,phi12,et12,y + ,zmass_c,phi12_c,et12_c,y_c,Iflag,bmstat,L2cls,fid,etad,phi_e + ,Ireg,etaevent,etapes,etapad,Ichg,z_vtx,z_old,z0_trk,N3d,CESX + ,CESZ,DX,DZ,RLsh2,cesch2,pem3ch2,pt,E_X,E_Y,E_Z,E_CLUST,Et0,Etz + ,had_em,Eoverp,Ciso4,Eiso4,Tiso,COR_E,p_x,p_y,p_z,vtx_occ + ,Nhit_raw,Lhit_raw,INtrk1,INtrk2,Nsvx,Lhit_fin,Nexp,Lhitexp + ,svxphi,svxphi_x2,dphi_exp,pesphifit,peschi,pes_dphi_mea,pes_exp + ,pemphifit,pemchi,pem_dphi_mea,pem_exp * *-- Enter user code here * real Et(2),E_over_P(2),mass_ee ************************************************************************ * USE ONLY THESE VARIABLES ************************************************************************ * i=1,2 (two electrons) * * E_X(i), E_Y(i), E_Z(i) : i-th electron momentum * from electromagnetic calorimeter * pt(i) : i-th electron transverse momentum * from tracking device * E_CLUST(i) = i-th electron Electromagnetic calorimeter energy * had_em(i) = i-th electron Hadronic energy / EM eneergy * Ichg(i) = i-th electron's electric charge ************************************************************************ * From the above variables, you can calculate * Et(i) = sqrt(E_X(i)**2 + E_Y(i)**2) * E/p(i) = Et(i) / pt(i) * e+e- invariant mass ************************************************************************ * calculate invariant mass mass_ee = (E_CLUST(1)+E_CLUST(2))**2 + - (E_X(1) +E_X(2) )**2 + - (E_Y(1) +E_Y(2) )**2 + - (E_Z(1) +E_Z(2) )**2 mass_ee = sqrt(mass_ee) call hfill(10001,mass_ee,0.,1.) * cut events when electron candidates have transverse momentum < 10 GeV if(pt(1).lt.10.) return if(pt(2).lt.10.) return call hfill(10002,mass_ee,0.,1.) do i=1,2 Et(i) = sqrt(E_X(i)**2 + E_Y(i)**2) E_over_P(i) = Et(i) / pt(i) end do if(Et(1).lt.25.) return if(Et(2).lt.25.) return call hfill(10003,zmass,0.,1.) do i=1,2 call hfill(20001,E_over_P(i),0.,1.) call hfill(30001,had_em(i),0.,1.) end do * remove events if had/em > 0.05 if(had_em(1).gt.0.05) return if(had_em(2).gt.0.05) return call hfill(10004,mass_ee,0.,1.) * require the two electrons are oppositely charged if(ichg(1)*ichg(2).gt.0) return call hfill(10005,mass_ee,0.,1.) * require 0.5 < E/p < 2 do i=1,2 if(E_over_P(i).lt.0.5 .or. E_over_P(i).gt.2.) return end do call hfill(10006,mass_ee,0.,1.) END