Page MenuHomeHEPForge

Gettestdata.pm
No OneTemporary

Gettestdata.pm

package Gettestdata;
require Exporter;
use strict;
use Switch;
##use warnings; To see warnings while debugging, uncomment next line:
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
our @ISA = qw(Exporter);
our @EXPORT = qw(fillnewhash checksettings filloptionpossibilities);
our @EXPORT_OK = qw(%newhash %option @effChi @partR @tevhadXS @lhc7hadXS @Brhi @whichinputlist);
our $VERSION = 1.00;
our %newhash = ();
our %option = ();
our @effChi = ();
our @partR = ();
our @Brhi = ();
our @tevhadXS = ();
our @lhc7hadXS = ();
our @whichinputlist=();
my $i=''; my $n=''; my $x=''; my $y='';
my @temparr=();
my $query = '';
sub checksettings{
############################
filloptionpossibilities();
$query = new CGI;
####################################################
for $x ( keys %option ) {
$n=0;
$option{$x}{selection} = '';
my $getoption = $query->param($x);
for $y ( keys %{ $option{$x}{possibilities} } ) {
if( $getoption eq $y){ $option{$x}{selection}=$y; $n=$n+1; }
}
if($n != 1){print "Bad input (".$x."=".$getoption.")";print (keys %{ $option{$x}{possibilities}});
die;
}
}
}
sub filloptionpossibilities{
####################################################
#if you change any of this section, must also remember to change table below
my $nHmax =9;
$option{whichanalyses}{possibilities} = {
onlyL => 'use LEP results only',
onlyH => 'use hadronic colliders results only i.e. only Tevatron and LHC',
LandH => 'use LEP, Tevatron and LHC results',
onlyP => 'use all analyses with an arXiv number',
};
$option{whichinput}{possibilities} = {
part => 'LEP cross sections, partonic Tevatron and LHC cross sections, branching ratios',
hadr => 'LEP cross sections, hadronic Tevatron and LHC cross sections, branching ratios',
effC => 'use effective coupling approximation',
};
$option{testdata}{possibilities} = {
"Clear Form" => 'empty each box',
"Show example data" => 'sequential, for debugging',
"SM" => 'none', # none means no message, since shouldn't be displayed in table
"4thGen" => 'none',
"fermiophobic" => 'none',
"CPX" => 'none',
"Mhmax plus" => 'none',
"Convert to HB input"=> 'none',
};
for ($i = 0; $i <= $nHmax; ++$i){
$option{nHneut}{possibilities}{"$i"}= '';
$option{nHplus}{possibilities}{"$i"}= '';
$option{nChineut}{possibilities}{"$i"}= '';
$option{nChiplus}{possibilities}{"$i"}= '';
}
$option{debugmode}{possibilities} = {
"T" => 'debugging mode on: extra options will show up, get more messages',
"F" => 'debugging mode off: public mode',
};
$option{action}{possibilities} = {
"Go" => 'for HiggsBounds_input',
"Call HiggsBounds" => 'for callHiggsBounds',
};
$option{whichanalyses}{question} = "Q. Which experimental analyses would you like to consider?";
$option{whichinput}{question} = "Q. Which input format would you like to use to enter the model predictions?";
for $y ( keys %option ) {
$option{$y}{selection}= 'Not yet set';
}
#print (keys %option)." \n"; # gives whichanalyseswhichinputtestdatanHneutnHplusdebugmodeaction
#print (keys %{ $option{whichanalyses}{possibilities} })." \n"; # gives onlyPonlyHLandHonlyL
}
sub fillnewhash{
#arguments:none
my $nHneutral = $option{nHneut}{selection},;
my $nHcharged = $option{nHplus}{selection};
my $nNeutralino = $option{nChineut}{selection},;
my $nChargino = $option{nChiplus}{selection};
# same as callHiggsBounds:
my $ee = 'e<sup>+</sup>e<sup>-</sup>';
my $ppbar = 'pp&#x305';
my $pp = 'pp';
my $eehiZ = '<i>'.$ee.'&rarr h<sub>i</sub>Z</i>';
my $eebbhi = '<i>'.$ee.'&rarr b b&#x305 h<sub>i</sub></i>';
my $eetautauhi = '<i>'.$ee.'&rarr &tau<sup>+</sup>-&tau<sup>-</sup> h<sub>i</sub></i>';
#my $sigLEP = '(&sigma<sup>LEP</sup>)';
my $sigLEP = '&sigma';
my $eehjhi = '<i>'.$ee.'&rarr h<sub>j</sub> h<sub>i</sub></i>';
my $ghjhiZsqlit = '<i>g<sup>2</sup><sub>h<sub>j</sub>h<sub>i</sub>Z</sub> / g<sup>2</sup></i><sub>ref</sub>';
my $sigTEV = '&sigma';
my $sigLHC7 = '&sigma';
#my $sigTEV = '(&sigma<sup>TEV</sup>)';
my $ppbarhib = '<i>'.$ppbar.' &rarr h<sub>i</sub>b</i>';
my $ppbarhibbar = '<i>'.$ppbar.' &rarr h<sub>i</sub>b&#x305</i>';
my $ppbartthi = '<i>'.$ppbar.' &rarr t t&#x305 h<sub>i</sub></i>';
my $ppbarhi = '<i>'.$ppbar.' &rarr h<sub>i</sub></i>';
my $ppbarhiZ = '<i>'.$ppbar.' &rarr h<sub>i</sub>Z</i>';
my $ppbarhiW = '<i>'.$ppbar.' &rarr h<sub>i</sub>W</i>';
my $pphib = '<i>'.$pp.' &rarr h<sub>i</sub>b</i>';
my $pphibbar = '<i>'.$pp.' &rarr h<sub>i</sub>b&#x305</i>';
my $pptthi = '<i>'.$pp.' &rarr t t&#x305 h<sub>i</sub></i>';
my $pphi = '<i>'.$pp.' &rarr h<sub>i</sub></i>';
my $pphiZ = '<i>'.$pp.' &rarr h<sub>i</sub>Z</i>';
my $pphiW = '<i>'.$pp.' &rarr h<sub>i</sub>W</i>';
my $bghib = '<i>bg &rarr h<sub>i</sub>b</i>';
my $udhiWp = '<i>ud&#x305; &rarr h<sub>i</sub>W<sup>+</sup></i>';
my $cshiWp = '<i>cs&#x305; &rarr h<sub>i</sub>W<sup>+</sup></i>';
my $udhiWm = '<i>u&#x305;d &rarr h<sub>i</sub>W<sup>-</sup></i>';
my $cshiWm = '<i>c&#x305;s &rarr h<sub>i</sub>W<sup>-</sup></i>';
my $gghi = '<i>gg &rarr h<sub>i</sub></i>';
my $bbhi = '<i>bb&#x305; &rarr h<sub>i</sub></i>';
my $ddhiZ = '<i>dd&#x305; &rarr h<sub>i</sub>Z</i>';
my $uuhiZ = '<i>uu&#x305; &rarr h<sub>i</sub>Z</i>';
my $cchiZ = '<i>cc&#x305; &rarr h<sub>i</sub>Z</i>';
my $sshiZ = '<i>ss&#x305; &rarr h<sub>i</sub>Z</i>';
my $bbhiZ = '<i>bb&#x305; &rarr h<sub>i</sub>Z</i>';
my $gghiZ = '<i>gg &rarr h<sub>i</sub>Z</i>';
my $tomumu = '&rarr &mu<sup>-</sup> &mu<sup>+</sup>';
my $totautau = '&rarr &tau<sup>-</sup>&tau<sup>+</sup>';
my $Brhjhihi = 'Br ( <i>h<sub>j</sub> &rarr h<sub>i</sub>h<sub>i</sub></i> )';
# make sure this is in the order that HiggsBounds expects! if it changes, run generatefortran.pl again, and
# copy and paste fortran code into HiggsBounds_KW folder
@effChi = ("g2hiss_s", "g2hiss_p", "g2hicc_s", "g2hicc_p", "g2hibb_s", "g2hibb_p",
"g2hitoptop_s", "g2hitoptop_p", "g2himumu_s", "g2himumu_p","g2hitautau_s", "g2hitautau_p",
"g2hiWW", "g2hiZZ", "g2hiZga", "g2higaga", "g2higg", "g2higgZ");
@partR = ("partRbghjb","partRudhjWp","partRcshjWp","partRudhjWm","partRcshjWm",
"partRgghj", "partRbbhj",
"partRddhjZ","partRuuhjZ","partRsshjZ","partRcchjZ","partRbbhjZ","partRgghjZ");
@tevhadXS = ("tevXShjratio","tevXShjbratio","tevXShjWratio","tevXShjZratio","tevXSvbfratio","tevXStthjratio");
@lhc7hadXS = ("lhc7XShjratio","lhc7XShjbratio","lhc7XShjWratio","lhc7XShjZratio","lhc7XSvbfratio","lhc7XStthjratio");
@Brhi = ("Brhiss","Brhicc","Brhibb","Brhimumu","Brhitautau","BrhiWW","BrhiZZ","BrhiZga","Brhigaga","Brhigg","Brhiinvisible");
@whichinputlist=("Mhi","GammaTot","CPvalue","Mhplusi","GammaTotplus",@effChi,"g2hjhiZ",
"lepXShjZratio","lepXSbbhjratio","lepXStautauhjratio","lepXShjhiratio","lepXSHpjHmjratio",
@partR,@tevhadXS,@lhc7hadXS,
@Brhi,"Brhjhihi","BrtHpb","BrtWpb","BrHpjcs","BrHpjcb","BrHpjtaunu",
"MChineuti","MChiplusi","lepXSCpjCmj","lepXSNjNi","BrNjqqNi","BrNjZNi","BrCjqqNi","BrCjlnuNi","BrCjWNi");
addquantitysingP ( "Mhi",
'<b>Neutral Higgs Masses in GeV</b>',
'<i>M<sub>h<sub>','</sub></sub></i>',
'Mh','',
$nHneutral
);
addquantitysingP ( "GammaTot",
'<b>Neutral Higgs Total Decay Width in GeV</b>',
'<i>&Gamma<sub>h<sub>','</sub></sub></i>',
'GammaToth','',
$nHneutral
);
addquantitysingP ( "Mhplusi",
'<b>Charged Higgs Masses in GeV</b>',
'<i>M<sub>H<sup>+</sup><sub>','</sub></sub></i>',
'Mhplus','',
$nHcharged
);
addquantitysingP ( "GammaTotplus",
'<b>Charged Higgs Total Decay Width in GeV</b>',
'<i>&Gamma<sub>H<sup>+</sup><sub>','</sub></sub></i>',
'GammaTothplus','',
$nHcharged
);
addquantitysingP ( "MChineuti",
'<b>Neutralino Masses in GeV</b>',
'<i>M<sub>&chi<sup>0</sup><sub>','</sub></sub></i>',
'MChineut','',
$nNeutralino
);
addquantitysingP ( "MChiplusi",
'<b>Chargino Masses in GeV</b>',
'<i>M<sub>&chi<sup>+</sup><sub>','</sub></sub></i>',
'MChiplus','',
$nChargino
);
addquantitysingP ( "g2hiss_s",
'<b>Normalised scalar <i>h<sub>i</sub> -s-s&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>s,h','ss&#x305</sub></i> / SM',
'g2h','ss_s',
$nHneutral
);
addquantitysingP ( "g2hiss_p",
'<b>Normalised pseudoscalar <i>h<sub>i</sub> -s-s&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>p,h','ss&#x305</sub></i> / SM',
'g2h','ss_p',
$nHneutral
);
addquantitysingP ( "g2hicc_s",
'<b>Normalised scalar <i>h<sub>i</sub> -c-c&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>s,h','cc&#x305</sub></i> / SM',
'g2h','cc_s',
$nHneutral
);
addquantitysingP ( "g2hicc_p",
'<b>Normalised pseudoscalar <i>h<sub>i</sub> -c-c&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>p,h','cc&#x305</sub></i> / SM',
'g2h','cc_p',
$nHneutral
);
addquantitysingP ( "g2hibb_s",
'<b>Normalised scalar <i>h<sub>i</sub> -b-b&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>s,h','bb&#x305</sub></i> / SM',
'g2h','bb_s',
$nHneutral
);
addquantitysingP ( "g2hibb_p",
'<b>Normalised pseudoscalar <i>h<sub>i</sub> -b-b&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>p,h','bb&#x305</sub></i> / SM',
'g2h','bb_p',
$nHneutral
);
addquantitysingP ( "g2hitoptop_s",
'<b>Normalised scalar <i>h<sub>i</sub> -t-t&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>s,h','tt&#x305</sub></i> / SM',
'g2h','toptop_s',
$nHneutral
);
addquantitysingP ( "g2hitoptop_p",
'<b>Normalised pseudoscalar <i>h<sub>i</sub> -t-t&#x305; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>p,h','tt&#x305</sub></i> / SM',
'g2h','toptop_p',
$nHneutral
);
addquantitysingP ( "g2himumu_s",
'<b>Normalised scalar <i>h<sub>i</sub> -&mu<sup>+</sup>-&mu<sup>-</sup>; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>s,h','&mu&mu</sub></i> / SM',
'g2h','mumu_s',
$nHneutral
);
addquantitysingP ( "g2himumu_p",
'<b>Normalised pseudoscalar <i>h<sub>i</sub> -&mu<sup>+</sup>-&mu<sup>-</sup>; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>p,h','&mu&mu</sub></i> / SM',
'g2h','mumu_p',
$nHneutral
);
addquantitysingP ( "g2hitautau_s",
'<b>Normalised scalar <i>h<sub>i</sub> -&tau<sup>+</sup>-&tau<sup>-</sup>; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>s,h','&tau&tau</sub></i> / SM',
'g2h','tautau_s',
$nHneutral
);
addquantitysingP ( "g2hitautau_p",
'<b>Normalised pseudoscalar <i>h<sub>i</sub> -&tau<sup>+</sup>-&tau<sup>-</sup>; </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>p,h','&tau&tau</sub></i> / SM',
'g2h','tautau_p',
$nHneutral
);
addquantitysingP ( "g2hiWW",
'<b>Normalised <i>h<sub>i</sub> -W-W </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>h','WW</sub></i> / SM',
'g2h','WW',
$nHneutral
);
addquantitysingP ( "g2hiZZ",
'<b>Normalised <i>h<sub>i</sub> -Z-Z </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>h','ZZ</sub></i> / SM',
'g2h','ZZ',
$nHneutral
);
addquantitysingP ( "g2hiZga",
'<b>Normalised <i>h<sub>i</sub> -Z-&gamma </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>h','Z&gamma</sub></i> / SM',
'g2h','Zga',
$nHneutral
);
addquantitysingP ( "g2higaga",
'<b>Normalised <i>h<sub>i</sub> -&gamma -&gamma </i> effective squared coupling </b>',
'<i>g<sup>2</sup><sub>h','&gamma&gamma</sub></i> / SM',
'g2h','gaga',
$nHneutral
);
addquantitysingP ( "g2higg",
'<b>Normalised <i>h<sub>i</sub> </i>-gluon-gluon effective squared coupling</b>',
'<i>g<sup>2</sup><sub>h','gg</sub></i> / SM',
'g2h','gg',
$nHneutral
);
addquantitysingP ( "g2higgZ",
'<b>Normalised <i>h<sub>i</sub> </i>-gluon-gluon-Z effective squared coupling</b>',
'<i>g<sup>2</sup><sub>h','ggZ</sub></i> / SM',
'g2h','ggZ',
$nHneutral
);
addquantitysingP ( "lepXShjZratio",
'<b>Normalised LEP '.$eehiZ.' cross section</b>',
'<i> '.$sigLEP.'<sub>'.$ee.' &rarr h','Z</sub></i> / SM',
'lepXSh','Zratio',
$nHneutral
);
addquantitysingP ( "lepXSbbhjratio",
'<b>Normalised LEP '.$eebbhi.' cross section</b>',
'<i> '.$sigLEP.'<sub>'.$ee.' &rarr b b&#x305 h','</sub></i> / SM',
'lepXSbbh','ratio',
$nHneutral
);
addquantitysingP ( "lepXStautauhjratio",
'<b>Normalised LEP '.$eetautauhi.' cross section</b>',
'<i> '.$sigLEP.'<sub>'.$ee.' &rarr &tau<sup>+</sup>&tau<sup>-</sup> h','</sub></i> / SM',
'lepXStautauh','ratio',
$nHneutral
);
addquantitysingP ( "lepXSHpjHmjratio",
'<b>Normalised LEP '.$ee.'&rarr H<sup>+</sup>H<sup>-</sup> cross section</b>',
'<i> '.$sigLEP.'<sub>'.$ee.' &rarr (H<sup>+</sup>H<sup>-</sup>)<sub>','</sub></sub></i> / 2HDM',
'lepXSHpjHmj','',
$nHcharged
);
addquantitysingP ( "lepXSCpjCmj",
'<b>LEP '.$ee.'&rarr &chi<sup>+</sup>&chi<sup>-</sup> cross section (not normalised)</b>',
'<i> '.$sigLEP.'<sub>'.$ee.' &rarr (&chi<sup>+</sup>&chi<sup>-</sup>)<sub>','</sub></sub></i>',
'lepXSCpjCmj','ratio',
$nChargino
);
#-------------------------------------------------------------------------------------
addquantitysingP ( "tevXShjbratio",
'<b>Normalised Tevatron '.$ppbarhib.' or '.$ppbarhibbar.' cross section</b>',
'<i>'.$sigTEV.'<sub>'.$ppbar.' &rarr h','(b/b&#x305)</sub></i> / SM',
'tevXSh','bratio',
$nHneutral
);
addquantitysingP ( "tevXSvbfratio",
'<b>Normalised Tevatron vector boson fusion cross section</b>',
'<i>'.$sigTEV.'<sub>vbf,h','</sub></i> / SM',
'tevXSvbfh','ratio',
$nHneutral
);
addquantitysingP ( "tevXShjratio",
'<b>Normalised Tevatron '.$ppbarhi.' cross section</b>',
'<i>'.$sigTEV.'<sub>'.$ppbar.' &rarr h','</sub></i> / SM',
'tevXSh','ratio',
$nHneutral
);
addquantitysingP ( "tevXShjZratio",
'<b>Normalised Tevatron '.$ppbarhiZ.' cross section</b>',
'<i>'.$sigTEV.'<sub>'.$ppbar.' &rarr h','Z</sub></i> / SM',
'tevXSh','Zratio',
$nHneutral
);
addquantitysingP ( "tevXShjWratio",
'<b>Normalised Tevatron '.$ppbarhiW.' cross section</b>',
'<i>'.$sigTEV.'<sub>'.$ppbar.' &rarr h','W</sub></i> / SM',
'tevXSh','Wratio',
$nHneutral
);
addquantitysingP ( "tevXStthjratio",
'<b>Normalised Tevatron '.$ppbartthi.' cross section</b>',
'<i>'.$sigTEV.'<sub>'.$ppbar.' &rarr t t&#x305 h','</sub></i> / SM',
'tevXStth','ratio',
$nHneutral
);
#-------------------------------------------------------------------------------
addquantitysingP ( "lhc7XShjbratio",
'<b>Normalised 7TeV LHC '.$pphib.' or '.$pphibbar.' cross section</b>',
'<i>'.$sigLHC7.'<sub>'.$pp.' &rarr h','(b/b&#x305)</sub></i> / SM',
'lhc7XSh','bratio',
$nHneutral
);
addquantitysingP ( "lhc7XSvbfratio",
'<b>Normalised 7TeV LHC vector boson fusion cross section</b>',
'<i>'.$sigLHC7.'<sub>vbf,h','</sub></i> / SM',
'lhc7XSvbfh','ratio',
$nHneutral
);
addquantitysingP ( "lhc7XShjratio",
'<b>Normalised 7TeV LHC '.$pphi.' cross section</b>',
'<i>'.$sigLHC7.'<sub>'.$pp.' &rarr h','</sub></i> / SM',
'lhc7XSh','ratio',
$nHneutral
);
addquantitysingP ( "lhc7XShjZratio",
'<b>Normalised 7TeV LHC '.$pphiZ.' cross section</b>',
'<i>'.$sigLHC7.'<sub>'.$pp.' &rarr h','Z</sub></i> / SM',
'lhc7XSh','Zratio',
$nHneutral
);
addquantitysingP ( "lhc7XShjWratio",
'<b>Normalised 7TeV LHC '.$pphiW.' cross section</b>',
'<i>'.$sigLHC7.'<sub>'.$pp.' &rarr h','W</sub></i> / SM',
'lhc7XSh','Wratio',
$nHneutral
);
addquantitysingP ( "lhc7XStthjratio",
'<b>Normalised 7TeV LHC '.$pptthi.' cross section</b>',
'<i>'.$sigLHC7.'<sub>'.$pp.' &rarr t t&#x305 h','</sub></i> / SM',
'lhc7XStth','ratio',
$nHneutral
);
#-------------------------------------------------------------------------------
addquantitysingP ( "partRbghjb",
'<b>Normalised partonic '.$bghib.' cross section</b>',
'<i>'.$sigTEV.'<sub>bg &rarr h','b</sub></i> / SM',
'partRbgh','b',
$nHneutral
);
addquantitysingP ( "partRudhjWp",
'<b>Normalised partonic '.$udhiWp.' cross section</b>',
'<i>'.$sigTEV.'<sub>ud&#x305; &rarr h','W<sup>+</sup></sub></i> / SM',
'partRudh','Wp',
$nHneutral
);
addquantitysingP ( "partRcshjWp",
'<b>Normalised partonic '.$cshiWp.' cross section</b>',
'<i>'.$sigTEV.'<sub>cs&#x305; &rarr h','W<sup>+</sup></sub></i> / SM',
'partRcsh','Wp',
$nHneutral
);
addquantitysingP ( "partRudhjWm",
'<b>Normalised partonic '.$udhiWm.' cross section</b>',
'<i>'.$sigTEV.'<sub>u&#x305;d &rarr h','W<sup>-</sup></sub></i> / SM',
'partRudh','Wm',
$nHneutral
);
addquantitysingP ( "partRcshjWm",
'<b>Normalised partonic '.$cshiWm.' cross section</b>',
'<i>'.$sigTEV.'<sub>c&#x305;s &rarr h','W<sup>-</sup></sub></i> / SM',
'partRcsh','Wm',
$nHneutral
);
addquantitysingP ( "partRgghj",
'<b>Normalised partonic '.$gghi.' cross section</b>',
'<i>'.$sigTEV.'<sub>gg &rarr h','</sub></i> / SM',
'partRggh','',
$nHneutral
);
addquantitysingP ( "partRbbhj",
'<b>Normalised partonic '.$bbhi.' cross section</b>',
'<i>'.$sigTEV.'<sub>bb&#x305; &rarr h','</sub></i> / SM',
'partRbbh','',
$nHneutral
);
addquantitysingP ( "partRddhjZ",
'<b>Normalised partonic '.$ddhiZ.' cross section</b>',
'<i>'.$sigTEV.'<sub>dd&#x305; &rarr h','Z</sub></i> / SM',
'partRddh','Z',
$nHneutral
);
addquantitysingP ( "partRuuhjZ",
'<b>Normalised partonic '.$uuhiZ.' cross section</b>',
'<i>'.$sigTEV.'<sub>uu&#x305; &rarr h','Z</sub></i> / SM',
'partRuuh','Z',
$nHneutral
);
addquantitysingP ( "partRsshjZ",
'<b>Normalised partonic '.$sshiZ.' cross section</b>',
'<i>'.$sigTEV.'<sub>ss&#x305; &rarr h','Z</sub></i> / SM',
'partRssh','Z',
$nHneutral
);
addquantitysingP ( "partRcchjZ",
'<b>Normalised partonic '.$cchiZ.' cross section</b>',
'<i>'.$sigTEV.'<sub>cc&#x305; &rarr h','Z</sub></i> / SM',
'partRcch','Z',
$nHneutral
);
addquantitysingP ( "partRbbhjZ",
'<b>Normalised partonic '.$bbhiZ.' cross section</b>',
'<i>'.$sigTEV.'<sub>bb&#x305; &rarr h','Z</sub></i> / SM',
'partRbbh','Z',
$nHneutral
);
addquantitysingP ( "partRgghjZ",
'<b>Normalised partonic '.$gghiZ.' cross section</b>',
'<i>'.$sigTEV.'<sub>gg &rarr h','Z</sub></i> / SM',
'partRggh','Z',
$nHneutral
);
addquantitysingP ( "Brhiss",
'<b>Higgs Branching Ratios to s-Quarks</b>',
'Br (<i> h<sub>','</sub>&rarr s s&#x305;</i>)',
'Brh','ssbar',
$nHneutral
);
addquantitysingP ( "Brhicc",
'<b>Higgs Branching Ratios to c-Quarks</b>',
'Br (<i> h<sub>','</sub>&rarr c c&#x305;</i>)',
'Brh','ccbar',
$nHneutral
);
addquantitysingP ( "Brhibb",
'<b>Higgs Branching Ratios to b-Quarks</b>',
'Br (<i> h<sub>','</sub>&rarr b b&#x305;</i>)',
'Brh','bbbar',
$nHneutral
);
addquantitysingP ( "Brhimumu",
'<b>Higgs Branching Ratios to Muons</b>',
'Br (<i> h<sub>','</sub> '.$tomumu.' </i>)',
'Brh','mumu',
$nHneutral
);
addquantitysingP ( "Brhitautau",
'<b>Higgs Branching Ratios to Tau-Leptons</b>',
'Br (<i> h<sub>','</sub> '.$totautau.' </i>)',
'Brh','tautau',
$nHneutral
);
addquantitysingP ( "BrhiWW",
'<b>Higgs Branching Ratios to W bosons</b>',
'Br (<i> h<sub>','</sub>&rarr W W</i>)',
'Brh','WW',
$nHneutral
);
addquantitysingP ( "BrhiZZ",
'<b>Higgs Branching Ratios to Z bosons</b>',
'Br (<i> h<sub>','</sub>&rarr Z Z</i>)',
'Brh','ZZ',
$nHneutral
);
addquantitysingP ( "BrhiZga",
'<b>Higgs Branching Ratios to Z + photon</b>',
'Br (<i> h<sub>','</sub>&rarr Z &gamma<sup>&#773</sup></i>)',
'Brh','Zga',
$nHneutral
);
addquantitysingP ( "Brhigaga",
'<b>Higgs Branching Ratios to photons</b>',
'Br (<i> h<sub>','</sub>&rarr &gamma &gamma<sup>&#773</sup></i>)',
'Brh','gaga',
$nHneutral
);
addquantitysingP ( "Brhigg",
'<b>Higgs Branching Ratios to gluons</b>',
'Br (<i> h<sub>','</sub>&rarr g g</i>)',
'Brh','gg',
$nHneutral
);
addquantitysingP ( "Brhiinvisible",
'<b>Higgs Branching Ratios to invisible particles</b>',
'Br (<i> h<sub>','</sub>&rarr </i>invisible<i><sup>&#773</sup></i>)',
'Brh','invisible',
$nHneutral
);
addquantitydoubPTri ("g2hjhiZ",
'<b>Normalised <i>h<sub>j</sub>h<sub>i</sub>Z</i> effective squared coupling</b> ('.$ghjhiZsqlit.')',
'g2h','Zh','',
$nHneutral
);
addquantitydoubPTri ("lepXShjhiratio",
'<b>Normalised LEP '.$eehjhi.' cross section</b> </b><Br>',
'lepXSh','h','ratio',
$nHneutral
);
addquantitydoubPTri ("lepXSNjNi",
'<b>LEP '.$ee.'&rarr &chi<sup>0</sup><sub>j</sub>&chi<sup>0</sup><sub>i</sub> cross section (not normalised) where &chi<sup>0</sup><sub>i</sub> is LSP.</b> (If &chi<sup>0</sup><sub>i</sub> is not LSP, set to zero)<Br>',
'lepXSN','N','',
$nNeutralino
);
addquantitydoubPNoDiag ("Brhjhihi",
'<b>Higgs Branching Ratios to Other Neutral Higgs '.$Brhjhihi.'</b>',
'Brh','doubP','',
$nHneutral
);
addquantitydoubPNoDiag ("BrNjqqNi",
'<b>Neutralino Branching Ratios to quarks + another neutralino Br (<i> &chi<sup>0</sup><sub>j</sub> &rarr q q&#x305 &chi<sup>0</sup><sub>i</sub> )</i> where &chi<sup>0</sup><sub>i</sub> is LSP.</b> (If &chi<sup>0</sup><sub>i</sub> is not LSP, set to zero)',
'BrN','qqN','',
$nNeutralino
);
addquantitydoubPNoDiag ("BrNjZNi",
'<b>Neutralino Branching Ratios to Z boson + another neutralino Br (<i> &chi<sup>0</sup><sub>j</sub> &rarr Z &chi<sup>0</sup><sub>i</sub> )</i> where &chi<sup>0</sup><sub>i</sub> is LSP.</b> (If &chi<sup>0</sup><sub>i</sub> is not LSP, set to zero)',
'BrN','ZN','',
$nNeutralino
);
addquantitydoubPRect ("BrCjqqNi",
'<b>Chargino Branching Ratios to quarks + neutralino Br (<i> &chi<sup>+</sup><sub>j</sub> &rarr q q&#x305 &chi<sup>0</sup><sub>i</sub> )</i> where &chi<sup>0</sup><sub>i</sub> is LSP.</b> (If &chi<sup>0</sup><sub>i</sub> is not LSP, set to zero)',
'BrC','qqN','',
$nChargino,$nNeutralino
);
addquantitydoubPRect ("BrCjlnuNi",
'<b>Chargino Branching Ratios to leptons + neutralino Br (<i> &chi<sup>+</sup><sub>j</sub> &rarr l &nu &chi<sup>0</sup><sub>i</sub> )</i> where &chi<sup>0</sup><sub>i</sub> is LSP.</b> (If &chi<sup>0</sup><sub>i</sub> is not LSP, set to zero)',
'BrC','lnuN','',
$nChargino,$nNeutralino
);
addquantitydoubPRect ("BrCjWNi",
#'<b>Chargino Branching Ratios to W boson + neutralino Br (<i> &chi<sup>+</sup><sub>j</sub> &rarr W<sup>+</sup> &chi<sup>0</sup><sub>LSP</sub> )</i> where &chi<sup>0</sup><sub>LSP</sub> is a neutralino LSP.</b> (If &chi<sup>0</sup><sub>lightest</sub> is not LSP, set to zero)',
'<b>Chargino Branching Ratios to W boson + neutralino Br (<i> &chi<sup>+</sup><sub>j</sub> &rarr W<sup>+</sup> &chi<sup>0</sup><sub>i</sub> )</i> where &chi<sup>0</sup><sub>i</sub> is LSP.</b> (If &chi<sup>0</sup><sub>i</sub> is not LSP, set to zero)',
'BrC','WN','',
$nChargino,$nNeutralino
);
addquantityother ( "BrtWpb",
'<b>t-Quark Branching Ratio to Z boson + b-Quark</b>',
'Br (<i> t &rarr W<sup>+</sup> b )',
'BrtWpb'
);
addquantitysingP ( "BrtHpb",
'<b>t-Quark Branching Ratios to charged Higgs boson + b-Quark</b>',
'Br (<i>t &rarr H<sup>+</sup><sub>','</sub> b</i>)',
'BrtHp','b',
$nHcharged
);
addquantitysingP ( "BrHpjcs",
'<b>Charged Higgs Branching Ratios to c-Quark + s-Quark</b>',
'Br (<i> H<sup>+</sup><sub>','</sub>&rarr c s&#x305 </i>)',
'BrtHp','cs',
$nHcharged
);
addquantitysingP ( "BrHpjcb",
'<b>Charged Higgs Branching Ratios to c-Quark + b-Quark</b>',
'Br (<i> H<sup>+</sup><sub>','</sub>&rarr c b&#x305 </i>)',
'BrtHp','cb',
$nHcharged
);
addquantitysingP ( "BrHpjtaunu",
'<b>Charged Higgs Branching Ratios to &tau<sup>+</sup> &nu<sub>&tau</sub> </b>',
'Br (<i> H<sup>+</sup><sub>','</sub>&rarr &tau<sup>+</sup> &nu<sub>&tau</sub> </i>)',
'BrtHp','taunu',
$nHcharged
);
addquantitysingP ( "CPvalue",
'<b>CP Properties of the Neutral Higgs bosons (1=CP-even, 0=mixed, -1=CP-odd) </b>',
'<i>h<sub>','</sub> </i>',
'CPh','',
$nHneutral
);
# the following table says which variables are relevant to each option
# | | | np
# | whichinput | whichanalyses |Hneu Hcha Chineut Chiplus
# |part hadr effC |LandH onlyL onlyH onlyP |==0 ==0 ==0 ==0
checkreq("Mhi", 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("GammaTot", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("Mhplusi", 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1) ;
checkreq("GammaTotplus", 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1) ;# i.e. this is never used at the moment
checkreq("CPvalue", 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("MChineuti", 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1) ;
checkreq("MChiplusi", 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0) ;
checkreq("g2hiss_s", 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("g2hiss_p", 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("g2hicc_s", 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("g2hicc_p", 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("g2hibb_s", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hibb_p", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hitoptop_s", 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hitoptop_p", 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("g2himumu_s", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2himumu_p", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hitautau_s", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hitautau_p", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
# | whichinput | whichanalyses |Hneu Hcha Chineut Chiplus
# |part hadr effC |LandH onlyL onlyH onlyP |==0 ==0 ==0 ==0
checkreq("g2hiWW", 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hiZZ", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hiZga", 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("g2higaga", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2higg", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2higgZ", 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("g2hjhiZ", 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("lepXShjZratio", 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("lepXSbbhjratio", 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("lepXStautauhjratio",1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("lepXShjhiratio", 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("lepXSHpjHmjratio", 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1) ;
checkreq("lepXSCpjCmj", 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0) ;
checkreq("lepXSNjNi", 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1) ;
# | whichinput | whichanalyses |Hneu Hcha Chineut Chiplus
# |part hadr effC |LandH onlyL onlyH onlyP |==0 ==0 ==0 ==0
checkreq("partRbghjb", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRudhjWp", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRcshjWp", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRudhjWm", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRcshjWm", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRgghj", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRbbhj", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRddhjZ", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRuuhjZ", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRsshjZ", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRcchjZ", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRgghjZ", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("partRbbhjZ", 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("tevXShjratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("tevXShjbratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("tevXShjWratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("tevXShjZratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("tevXSvbfratio", 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("tevXStthjratio", 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("lhc7XShjratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("lhc7XShjbratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("lhc7XShjWratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("lhc7XShjZratio", 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("lhc7XSvbfratio", 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("lhc7XStthjratio", 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
# | whichinput | whichanalyses |Hneu Hcha Chineut Chiplus
# |part hadr effC |LandH onlyL onlyH onlyP |==0 ==0 ==0 ==0
checkreq("Brhiss", 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("Brhicc", 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("Brhibb", 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("Brhimumu", 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("Brhitautau", 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("BrhiWW", 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("BrhiZZ", 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("BrhiZga", 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1) ;
checkreq("Brhigaga", 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1) ;
checkreq("Brhigg", 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("Brhiinvisible", 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("Brhjhihi", 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1) ;
checkreq("BrtWpb", 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1) ;
checkreq("BrtHpb", 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1) ;
checkreq("BrHpjcs", 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1) ;
checkreq("BrHpjcb", 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1) ;
checkreq("BrHpjtaunu", 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1) ;
checkreq("BrNjqqNi", 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1) ;
checkreq("BrNjZNi", 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1) ;
checkreq("BrCjqqNi", 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0) ;
checkreq("BrCjlnuNi", 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0) ;
checkreq("BrCjWNi", 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0) ;
sub checkreq{
# | whichinput | whichanalyses |Hneu Hcha Chineut Chiplus
# |part hadr effC |LandH onlyL onlyH onlyP |==0 ==0 ==0 ==0
my $t =$_[0];
my $req=1;
switch ($option{whichinput}{selection}) {
case 'part' { $req= $req * $_[1]; }
case 'hadr' { $req= $req * $_[2]; }
case 'effC' { $req= $req * $_[3]; }
else{print 'problem with whichinput'; die;}
}
switch ($option{whichanalyses}{selection}) {
case 'LandH' { $req= $req * $_[4]; }
case 'onlyL' { $req= $req * $_[5]; }
case 'onlyH' { $req= $req * $_[6]; }
case 'onlyP' { $req= $req * $_[7]; }
else{print 'problem with whichanalyses';die;}
}
if($option{nHneut}{selection} == 0) {$req= $req * $_[ 8];}
if($option{nHplus}{selection} == 0) {$req= $req * $_[ 9];}
if($option{nChineut}{selection} == 0){$req= $req * $_[10];}
if($option{nChiplus}{selection} == 0){$req= $req * $_[11];}
if($req == 0){$newhash{$t}{req}='Not needed'; }
elsif($req == 1){$newhash{$t}{req}='Needed'; }
else{
print 'problem with req';
die;
};
};
my $test1=(keys %newhash);
my $test2=@whichinputlist;
if($test1 != $test2 ){
print @whichinputlist;
print "<br>";
print (keys %newhash);
print "<br>";
print 'error in newhash (1)';
die;
};
#if( sort(keys %newhash) != sort(@whichinputlist) ){
# print 'error in newhash (1b)'; DOESN'T WORK AS INTENDED
# die;
#};
foreach my $t (@whichinputlist){
if($newhash{$t}{title} eq ''){
print 'error in newhash (2)';
die;
};
if(($newhash{$t}{req} eq '')||($newhash{$t}{req} eq 'Not yet set')){
print 'error in newhash (3)';
die;
};
};
sub addquantitysingP {
my $str = $_[0];
$newhash{$str} = {"title" => $_[1],
"name" => [$_[2],$_[3]],
"label" => [$_[4],$_[5]],
"type" => "singP",
"nPj"=> $_[6],
"nPi"=> $_[6] };
$newhash{$str}{req} = 'Not yet set';
#my $lenarray=$newhash{$str}{np};
#for ($i = 0; $i <= $lenarray; ++$i){
# $newhash{$str}{array}[$i] = '-';
#}
}
sub addquantitydoubPTri {
my $str = $_[0];
$newhash{$str} = {"title" => $_[1],
"label" => [$_[2],$_[3],$_[4]],
"type" => "doubPTri",
"nPj"=> $_[5],
"nPi"=> $_[5] };
$newhash{$str}{req} = 'Not yet set';
#my $lenarray=$newhash{$str}{np}*($newhash{$str}{np}-1)/2+$newhash{$str}{np};
#for ($i = 0; $i <= $lenarray; ++$i){
# $newhash{$str}{array}[$i] = '-';
#}
}
sub addquantitydoubPNoDiag {
my $str = $_[0];
$newhash{$str} = {"title" => $_[1],
"label" => [$_[2],$_[3],$_[4]],
"type" => "doubPNoDiag",
"nPj"=> $_[5] ,
"nPi"=> $_[5] };
$newhash{$str}{req} = 'Not yet set';
#my $lenarray=$newhash{$str}{np}**2-$newhash{$str}{np};
#for ($i = 0; $i <= $lenarray; ++$i){
# $newhash{$str}{array}[$i] = '-';
#}
}
sub addquantitydoubPRect {
my $str = $_[0];
$newhash{$str} = {"title" => $_[1],
"label" => [$_[2],$_[3],$_[4]],
"type" => "doubPRect",
"nPj"=> $_[5],
"nPi"=> $_[6] };
$newhash{$str}{req} = 'Not yet set';
#my $lenarray=$newhash{$str}{np}**2-$newhash{$str}{np};
#for ($i = 0; $i <= $lenarray; ++$i){
# $newhash{$str}{array}[$i] = '-';
#}
}
sub addquantityother {
my $str = $_[0];
$newhash{$str} = {"title" => $_[1],
"name" => $_[2],
"label" => $_[3],
"type" => "other",
"nPj"=> 1,
"nPi"=> 1};
$newhash{$str}{req} = 'Not yet set';
#my $lenarray=$newhash{$str}{np}*($newhash{$str}{np}-1)/2+$newhash{$str}{np};
#for ($i = 0; $i <= $lenarray; ++$i){
# $newhash{$str}{array}[$i] = '-';
#}
}
};
1;

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 21, 6:18 PM (8 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3983341
Default Alt Text
Gettestdata.pm (42 KB)

Event Timeline