def tanbForXsecLow(xSecAtLimit,mHp,tanbRef,mu): tanb = tanbRef accuracy = 0.001 counter = 0 xSec = crosssection.whTauNuCrossSectionMSSM(mHp,tanb,mu) while(abs(xSecAtLimit - xSec)/xSecAtLimit > accuracy and xSec > 0 and tanb > 1.1 ): tanb = tanb - 0.1*(xSecAtLimit - xSec)/xSecAtLimit*tanb xSec = crosssection.whTauNuCrossSectionMSSM(mHp,tanb,mu) counter = counter+1 if counter > 10: # to prevent infinite loops counter = 0 accuracy = accuracy*2 if tanb < 1.1 or xSec <= 0: return -1 return tanb
def tanbForXsecLow(xSecAtLimit, mHp, tanbRef, mu): tanb = tanbRef accuracy = 0.001 counter = 0 xSec = crosssection.whTauNuCrossSectionMSSM(mHp, tanb, mu) while (abs(xSecAtLimit - xSec) / xSecAtLimit > accuracy and xSec > 0 and tanb > 1.1): tanb = tanb - 0.1 * (xSecAtLimit - xSec) / xSecAtLimit * tanb xSec = crosssection.whTauNuCrossSectionMSSM(mHp, tanb, mu) counter = counter + 1 if counter > 10: # to prevent infinite loops counter = 0 accuracy = accuracy * 2 if tanb < 1.1 or xSec <= 0: return -1 return tanb
def tanbForXsec(xSecAtLimit,mHp,tanbRef,mu): tanb = tanbRef accuracy = 0.001 counter = 0 xSec = crosssection.whTauNuCrossSectionMSSM(mHp,tanb,mu) while(abs(xSecAtLimit - xSec)/xSecAtLimit > accuracy and xSec > 0 and tanb < 99 ): tanb = tanb + 0.1*(xSecAtLimit - xSec)/xSecAtLimit*tanb xSec = crosssection.whTauNuCrossSectionMSSM(mHp,tanb,mu) counter = counter+1 if counter > 10: # to prevent infinite loops counter = 0 accuracy = accuracy*2 # print " tanbForXsec loop, tanb, xsec ",tanb,xSec # print "check tanbForXsec ",tanb if tanb > 99 or xSec <= 0: return -1 return tanb
def tanbForXsec(xSecAtLimit, mHp, tanbRef, mu): tanb = tanbRef accuracy = 0.001 counter = 0 xSec = crosssection.whTauNuCrossSectionMSSM(mHp, tanb, mu) while (abs(xSecAtLimit - xSec) / xSecAtLimit > accuracy and xSec > 0 and tanb < 99): tanb = tanb + 0.1 * (xSecAtLimit - xSec) / xSecAtLimit * tanb xSec = crosssection.whTauNuCrossSectionMSSM(mHp, tanb, mu) counter = counter + 1 if counter > 10: # to prevent infinite loops counter = 0 accuracy = accuracy * 2 # print " tanbForXsec loop, tanb, xsec ",tanb,xSec # print "check tanbForXsec ",tanb if tanb > 99 or xSec <= 0: return -1 return tanb
def signalXsecAtNsigma(nSignal,tanbRef,nSignalAtLimit,mHp,mu): xSec_atRef = crosssection.whTauNuCrossSectionMSSM(mHp, tanbRef, mu) xSec_atLimit = xSec_atRef*nSignalAtLimit/nSignal # print "check signalXsecAtNsigma xSec_atRef,xSec_atLimit,nSignalAtLimit,nSignal ",xSec_atRef,xSec_atLimit,nSignalAtLimit,nSignal return xSec_atLimit
def signalXsecAtNsigma(nSignal, tanbRef, nSignalAtLimit, mHp, mu): xSec_atRef = crosssection.whTauNuCrossSectionMSSM(mHp, tanbRef, mu) xSec_atLimit = xSec_atRef * nSignalAtLimit / nSignal # print "check signalXsecAtNsigma xSec_atRef,xSec_atLimit,nSignalAtLimit,nSignal ",xSec_atRef,xSec_atLimit,nSignalAtLimit,nSignal return xSec_atLimit