00001 double EvtDecay::ampsLenu(std::vector<double> Vexp,std::vector<double> vpars){
00002
00003
00004
00005
00006 double theAmps=0;
00007 double thetaw=Vexp[0];
00008 double thetaL=Vexp[1];
00009 double qw =Vexp[2];
00010 double aL =0.642;
00011 double cosw=cos(thetaw);
00012 double cosL=cos(thetaL);
00013 double sinw=sin(thetaw);
00014 double mLam=1.115683;
00015 double mLamc=2.28646;
00016 double mLamc2 = mLamc*mLamc;
00017 double mLam2 = mLam*mLam;
00018 double m12p2 = (mLam+qw)*(mLam+qw);
00019 double m12m2 = (mLam-qw)*(mLam-qw);
00020 double PL = sqrt((mLamc2-m12p2)*(mLamc2-m12m2))/2/mLamc;
00021 theAmps = qw*qw*PL/2/mLamc2;
00022 double H1=HV(0.5,1.0,Vexp,vpars)+HA(0.5,1.0,Vexp,vpars);
00023 double H2=HV(0.5,1.0,Vexp,vpars)-HA(0.5,1.0,Vexp,vpars);
00024 double H3=HV(0.5,0.0,Vexp,vpars)+HA(0.5,0.0,Vexp,vpars);
00025 double H4=HV(0.5,0.0,Vexp,vpars)-HA(0.5,0.0,Vexp,vpars);
00026 double term0=3./8*(1-cosw)*(1-cosw)*(1+aL*cosL)*H1*H1;
00027 double term1=3./8.*(1+cosw)*(1+cosw)*(1-aL*cosL)*H2*H2;
00028 double term2=3./4.*sinw*sinw*(1+aL*cosL)*H3*H3;
00029 double term3=3./4.*sinw*sinw*(1-aL*cosL)*H4*H4;
00030 double terms=term0+term1+term2+term3;
00031 theAmps *= terms;
00032 return theAmps;
00033 }
00034
00035 double EvtDecay::ampsLbenu(std::vector<double> Vexp,std::vector<double> vpars){
00036
00037 double theAmps=0;
00038 double thetaw=Vexp[0];
00039 double thetaL=Vexp[1];
00040 double qw =Vexp[2];
00041 double aL =-0.642;
00042 double cosw=cos(thetaw);
00043 double cosL=cos(thetaL);
00044 double sinw=sin(thetaw);
00045 double mLam=1.115683;
00046 double mLamc=2.28646;
00047 double mLamc2 = mLamc*mLamc;
00048 double mLam2 = mLam*mLam;
00049 double m12p2 = (mLam+qw)*(mLam+qw);
00050 double m12m2 = (mLam-qw)*(mLam-qw);
00051 double PL = sqrt((mLamc2-m12p2)*(mLamc2-m12m2))/2/mLamc;
00052 theAmps = qw*qw*PL/2/mLamc2;
00053 double H1=HV(0.5,1.0,Vexp,vpars)+HA(0.5,1.0,Vexp,vpars);
00054 double H2=HV(0.5,1.0,Vexp,vpars)-HA(0.5,1.0,Vexp,vpars);
00055 double H3=HV(0.5,0.0,Vexp,vpars)+HA(0.5,0.0,Vexp,vpars);
00056 double H4=HV(0.5,0.0,Vexp,vpars)-HA(0.5,0.0,Vexp,vpars);
00057 double term0=3./8*(1-cosw)*(1-cosw)*(1+aL*cosL)*H1*H1;
00058 double term1=3./8.*(1+cosw)*(1+cosw)*(1-aL*cosL)*H2*H2;
00059 double term2=3./4.*sinw*sinw*(1+aL*cosL)*H3*H3;
00060 double term3=3./4.*sinw*sinw*(1-aL*cosL)*H4*H4;
00061 double terms=term0+term1+term2+term3;
00062 theAmps *= terms;
00063 return theAmps;
00064 }
00065
00066 double EvtDecay::HV(double i,double j,std::vector<double> Vexp, std::vector<double> vpars){
00067
00068
00069
00070 double myhv=0;
00071 double thetaw=Vexp[0];
00072 double thetaL=Vexp[1];
00073 double qw =Vexp[2];
00074 double mLam=1.115683;
00075 double mLamc=2.28646;
00076 double Qp=(mLamc+mLam)*(mLamc+mLam)-qw*qw;
00077 double Qm=(mLamc-mLam)*(mLamc-mLam)-qw*qw;
00078 double FV1 = vpars[0]+mLam/mLamc*vpars[1];
00079 double FV2 = 1./mLamc*vpars[1];
00080 double FA1 = -FV1;
00081 double FA2 = -FV2;
00082 if(Qp<0 || Qm<0){ std::cout<<"Qp,Qm"<<Qp<<" "<<Qm<<std::endl;abort();}
00083 if(i==0.5 && j==0 ){
00084 myhv = sqrt(Qm)/qw*((mLam+mLamc)*FV1 - qw*qw*FV2 );
00085 }else if(i==0.5 && j==1){
00086 myhv = sqrt(2*Qm)*(-FV1+(mLamc+mLam)*FV2 );
00087 }else{std::cout<<"AngFitFCN::HV::Bad helicity"<<std::endl;abort();}
00088
00089 return myhv;
00090 }
00091
00092 double EvtDecay::HA(double i,double j,std::vector<double> Vexp, std::vector<double> vpars){
00093
00094
00095
00096 double myhv=0;
00097 double thetaw=Vexp[0];
00098 double thetaL=Vexp[1];
00099 double qw =Vexp[2];
00100 double mLam=1.115683;
00101 double mLamc=2.28646;
00102 double Qp=(mLamc+mLam)*(mLamc+mLam)-qw*qw;
00103 double Qm=(mLamc-mLam)*(mLamc-mLam)-qw*qw;
00104 double FV1 = vpars[0]+mLam/mLamc*vpars[1];
00105 double FV2 = 1./mLamc*vpars[1];
00106 double FA1 = -FV1;
00107 double FA2 = -FV2;
00108 if(i==0.5 && j==0 ){
00109 myhv = sqrt(Qp)/qw*((mLamc-mLam)*FA1 + qw*qw*FA2 );
00110 }else if(i==0.5 && j==1){
00111 myhv = sqrt(2*Qp)*(-FA1+(mLamc-mLam)*FA2 );
00112 }else{std::cout<<"AngFitFCN::HA::Bad helicity"<<std::endl;abort();}
00113
00114 return myhv;
00115 }