Index: trunk/HiggsBounds-5/minipaper.bib =================================================================== --- trunk/HiggsBounds-5/minipaper.bib (revision 593) +++ trunk/HiggsBounds-5/minipaper.bib (revision 594) @@ -1,1808 +1,1717 @@ @misc{CDFnotes, collaboration = "CDF", - note = "CDF Notes 10500 10799 10573 8353 9999 10796 7307 10574 10485 7712 10010 10439 10599 10798", + note = "CDF Notes 9999 10574 7307 7712 10485 10010 10798 10799 10573 10439 10500 8353 10599 10796", year = "" } @misc{D0notes, collaboration = "D0", title = "", - note = "D0 Notes 6304 6305 6296 5873 6302 5739 6299 6227 6083 6295 6276 5845 6301 6183 6171 6286 6309 5757", + note = "D0 Notes 5845 6304 6276 6286 6305 6083 5873 5739 6227 6296 6299 6183 6301 6295 6309 6171 5757 6302", year = "" } @misc{CMSnotes, collaboration = "CMS", title = "", note = "CMS Physics Analysis Summaries", year = "" } @misc{ATLASnotes, collaboration = "ATLAS", title = "", - note = "ATLAS CONF Notes 2012-160 2016-062 2016-089 2016-049 2012-135 2013-013 2012-161 2016-004 2016-059 2014-049 2016-074 2014-050 2012-092 2012-078 2016-088 2012-016 2012-019 2016-044 2016-071 2012-168 2011-094 2013-010 2016-055 2011-157 2016-056 2012-012 2013-030 2016-015 2016-079 2012-017 2016-082", + note = "ATLAS CONF Notes 2016-079 2012-135 2012-017 2013-030 2016-044 2011-094 2016-049 2016-056 2013-010 2016-074 2012-078 2014-049 2014-050 2012-012 2013-013 2016-004 2016-055 2016-015 2012-161 2016-071 2016-088 2011-157 2012-160 2012-019 2012-016 2018-025 2016-082 2012-092 2012-168 2016-062", year = "" } @misc{LHWGnotes, collaboration = "LHWG", title = "", note = "LHWG Notes 2002-02", year = "" } -% Save this file and include it in your paper as the bibliography -% or cut and paste directly into your LaTeX - @Article{arXiv:0811.4169, author = "Bechtle, Philip and Brein, Oliver and Heinemeyer, Sven and Weiglein, Georg and Williams, Karina E.", title = "{HiggsBounds: Confronting Arbitrary Higgs Sectors with Exclusion Bounds from LEP and the Tevatron}", journal = "Comput. Phys. Commun.", volume = "181", year = "2010", pages = "138-167", eprint = "0811.4169", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1016/j.cpc.2009.09.003", SLACcitation = "%%CITATION = 0811.4169;%%" } @Article{arXiv:1102.1898, author = "Bechtle, Philip and Brein, Oliver and Heinemeyer, Sven and Weiglein, Georg and Williams, Karina E.", title = "{HiggsBounds 2.0.0: Confronting Neutral and Charged Higgs Sector Predictions with Exclusion Bounds from LEP and the Tevatron}", journal = "Comput. Phys. Commun.", volume = "182", year = "2011", pages = "2605-2631", eprint = "1102.1898", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1016/j.cpc.2011.07.015", SLACcitation = "%%CITATION = 1102.1898;%%" } @Article{arXiv:1301.2345, author = "Bechtle, Philip and others", title = "{Recent Developments in HiggsBounds and a Preview of HiggsSignals}", journal = "PoS", volume = "CHARGED2012", year = "2012", pages = "024", eprint = "1301.2345", archivePrefix = "arXiv", primaryClass = "hep-ph", SLACcitation = "%%CITATION = 1301.2345;%%" } @Article{arXiv:1311.0055, author = "Bechtle, Philip and others", title = "{HiggsBounds-4: Improved Tests of Extended Higgs Sectors against Exclusion Bounds from LEP, the Tevatron and the LHC}", journal = "Eur. Phys. J.", volume = "C74", year = "2014", pages = "2693", eprint = "1311.0055", archivePrefix = "arXiv", primaryClass = "hep-ph", SLACcitation = "%%CITATION = 1311.0055;%%" } @Article{arXiv:1507.06706, author = "Bechtle, Philip and Heinemeyer, Sven and Stal, Oscar and Stefaniak, Tim and Weiglein, Georg", title = "{Applying Exclusion Likelihoods from LHC Searches to Extended Higgs Sectors}", year = "2015", eprint = "1507.06706", archivePrefix = "arXiv", primaryClass = "hep-ph", SLACcitation = "%%CITATION = 1507.06706;%%" } -@Article{arXiv:1112.2577, - author = "Aad, Georges", +@Article{arXiv:1406.7663, + author = ",", collaboration = "ATLAS", - title = "{Search for the Higgs boson in the H->WW(*)->lvlv decay - channel in pp collisions at sqrt{s} = 7 TeV with the ATLAS - detector}", - journal = "Phys. Rev. Lett.", - volume = "108", - year = "2012", - pages = "111802", - eprint = "1112.2577", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.108.111802", - SLACcitation = "%%CITATION = 1112.2577;%%" -} - -@Article{arXiv:0806.0611, - author = "Abazov, V. M. and others", -collaboration = "D0", - title = "{Search for a scalar or vector particle decaying into - Zgamma in p anti-p collisions at s**(1/2) = 1.96-TeV}", - journal = "Phys. Lett.", - volume = "B671", - year = "2009", - pages = "349-355", - eprint = "0806.0611", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2008.12.009", - SLACcitation = "%%CITATION = 0806.0611;%%" -} - -@Article{arXiv:1207.0449, - author = "Group, CDF and D0 Collaborations and the Tevatron New Physics an - ", -collaboration = "Tevatron New Physics Higgs Working Group", - title = "{Updated Combination of CDF and D0 Searches for Standard - Model Higgs Boson Production with up to 10.0 fb$^{-1}$ of - Data}", - year = "2012", - eprint = "1207.0449", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1207.0449;%%" -} - -@Article{arXiv:0809.3930, - author = "Aaltonen, T. and others", -collaboration = "CDF", - title = "{Search for a Higgs Boson Decaying to Two W Bosons at - CDF}", - journal = "Phys. Rev. Lett.", - volume = "102", - year = "2009", - pages = "021802", - eprint = "0809.3930", + title = "{Search for the Standard Model Higgs boson decay to + $\mu^{+}\mu^{-}$ with the ATLAS detector}", + journal = "Physics Letters", + volume = "B738", + year = "2014", + pages = "68-86", + eprint = "1406.7663", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.102.021802", - SLACcitation = "%%CITATION = 0809.3930;%%" + SLACcitation = "%%CITATION = 1406.7663;%%" } -@Article{arXiv:0901.1887, - author = "Abazov, V. M. and others", +@Article{arXiv:1106.4885, + author = "Abazov, Victor Mukhamedovich and others", collaboration = "D0", - title = "{Search for Resonant Diphoton Production with the D0 - Detector}", + title = "{Search for neutral Higgs bosons decaying to tau pairs + produced in association with b quarks in ppbar collisions + at sqrt(s)=1.96 TeV}", journal = "Phys. Rev. Lett.", - volume = "102", - year = "2009", - pages = "231801", - eprint = "0901.1887", + volume = "107", + year = "2011", + pages = "121801", + eprint = "1106.4885", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.102.231801", - SLACcitation = "%%CITATION = 0901.1887;%%" + doi = "10.1103/PhysRevLett.107.121801", + SLACcitation = "%%CITATION = 1106.4885;%%" } -@Article{arXiv:1603.06896, +@Article{arXiv:1603.02991, author = ",", collaboration = "CMS", - title = "{Search for two Higgs bosons in final states containing two - photons and two bottom quarks}", + title = "{Search for neutral resonances decaying into a Z boson and + a pair of b jets or tau leptons}", + journal = "Phys. Lett.", + volume = "B759", year = "2016", - eprint = "1603.06896", + pages = "369", + eprint = "1603.02991", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1603.06896;%%" + SLACcitation = "%%CITATION = 1603.02991;%%" } -@Article{arXiv:1108.3331, - author = "Benjamin, Doug and others", -collaboration = "CDF", - title = "{Combined CDF and D0 upper limits on gg->H W+W- and - constraints on the Higgs boson mass in fourth-generation - fermion models with up to 8.2 fb-1 of data}", +@Article{arXiv:1107.1268, + author = "Abazov, V. M. and others", +collaboration = "D0", + title = "{Search for associated Higgs boson production using like + charge dilepton events in ppbar collisions at sqrt{s} = + 1.96 TeV}", + journal = "Phys. Rev.", + volume = "D84", year = "2011", - eprint = "1108.3331", + pages = "092002", + eprint = "1107.1268", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1108.3331;%%" + doi = "10.1103/PhysRevD.84.092002", + SLACcitation = "%%CITATION = 1107.1268;%%" } -@Article{arXiv:1109.3357, - author = " and others", -collaboration = "ATLAS", - title = "{Search for a Standard Model Higgs boson in the H->ZZ- -llnunu decay channel with the ATLAS detector}", +% No SPIRES record found for cite request arXiv:1809.06682 + +@Article{arXiv:1001.4468, + author = "Aaltonen, T. and others", +collaboration = "CDF", + title = "{Inclusive Search for Standard Model Higgs Boson Production + in the WW Decay Channel using the CDF II Detector}", journal = "Phys. Rev. Lett.", - volume = "107", - year = "2011", - pages = "221802", - eprint = "1109.3357", + volume = "104", + year = "2010", + pages = "061803", + eprint = "1001.4468", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.107.221802", - SLACcitation = "%%CITATION = 1109.3357;%%" + doi = "10.1103/PhysRevLett.104.061803", + SLACcitation = "%%CITATION = 1001.4468;%%" } -@Article{arXiv:1202.1408, - author = "Aad, Georges", -collaboration = "ATLAS", - title = "{Combined search for the Standard Model Higgs boson using - up to 4.9 fb$^{-1}$ of $pp$ collision data at $\sqrt{s}=7$ - TeV with the ATLAS detector at the LHC}", - journal = "Phys. Lett.", - volume = "B710", - year = "2012", - pages = "49-66", - eprint = "1202.1408", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2012.02.044", - SLACcitation = "%%CITATION = 1202.1408;%%" -} +% No SPIRES record found for cite request arXiv:1807.00539 -% No SPIRES record found for cite request arXiv:1712.06386 +% No SPIRES record found for cite request arXiv:1807.07915 -@Article{arXiv:1003.3363, - author = "Benjamin, Doug and others", -collaboration = "Tevatron New Phenomena and Higgs Working Group", - title = "{Combined CDF and D0 upper limits on MSSM Higgs boson - production in tau-tau final states with up to 2.2 fb-1}", - year = "2010", - eprint = "1003.3363", +@Article{arXiv:1503.04233, + author = ",", +collaboration = "ATLAS", + title = "{Search for a Charged Higgs Boson Produced in the Vector- + boson Fusion Mode with Decay $H^\pm \to W^\pm Z$ using $pp$ + Collisions at $\sqrt{s}=8$ TeV with the ATLAS Experiment}", + journal = "", + volume = "", + year = "2015", + pages = "", + year = "2015", + eprint = "1503.04233", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1003.3363;%%" + SLACcitation = "%%CITATION = 1503.04233;%%" } -@Article{arXiv:1012.0874, - author = "Abazov, Victor Mukhamedovich and others", -collaboration = "D0", - title = "{Search for $WH$ associated production in 5.3 fb$^{-1}$ of - $p\bar{p}$ collisions at the Fermilab Tevatron}", - journal = "Phys. Lett.", - volume = "B698", - year = "2011", - pages = "6-13", - eprint = "1012.0874", +@Article{arXiv:1509.00389, + author = ",", +collaboration = "ATLAS", + title = "{Search for a high-mass Higgs boson decaying to a $W$ boson + pair in $pp$ collisions at $\sqrt{s} = 8$ TeV with the + ATLAS detector}", + journal = "", + volume = "JHEP01", + year = "2016", + pages = "032", + year = "2015", + eprint = "1509.00389", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2011.02.036", - SLACcitation = "%%CITATION = 1012.0874;%%" + SLACcitation = "%%CITATION = 1509.00389;%%" } -@Article{arXiv:1202.3478, - author = "Chatrchyan, Serguei", -collaboration = "CMS", - title = "{Search for the standard model Higgs boson in the H to ZZ - to 2l 2nu channel in pp collisions at sqrt(s) = 7 TeV}", - journal = "JHEP", - volume = "03", - year = "2012", - pages = "040", - eprint = "1202.3478", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1007/JHEP03(2012)040", - SLACcitation = "%%CITATION = 1202.3478;%%" -} +% No SPIRES record found for cite request arXiv:1701.02032 -@Article{arXiv:1504.00936, +@Article{arXiv:1504.04710, author = ",", collaboration = "CMS", - title = "{Search for a Higgs boson in the mass range from 145 to - 1000 GeV decaying to a pair of W or Z bosons}", + title = "{Search for a pseudoscalar boson decaying into a Z boson + and the 125 GeV Higgs boson in llbb final states}", + journal = "Phys. Lett.", + volume = "B748", year = "2015", - eprint = "1504.00936", + pages = "221", + eprint = "1504.04710", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1504.00936;%%" + SLACcitation = "%%CITATION = 1504.04710;%%" } -@Article{arXiv:1502.04478, - author = ",", -collaboration = "ATLAS", - title = "{Search for a CP-odd Higgs boson decaying to $Zh$ in $pp$ - collisions at $\sqrt{s} = 8$ TeV with the ATLAS detector}", - journal = "Physics Letters", - volume = "B744", - year = "2015", - pages = "163-183", - eprint = "1502.04478", +% No SPIRES record found for cite request arXiv:1807.04873 + +@Article{hep-ex/0107031, + author = "", +collaboration = "LEP Higgs Working Group for Higgs boson searches", + title = "{Search for charged Higgs bosons: Preliminary combined + results using LEP data collected at energies up to 209- + GeV}", + year = "2001", + eprint = "hep-ex/0107031", archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1502.04478;%%" + SLACcitation = "%%CITATION = HEP-EX/0107031;%%" } -@Article{arXiv:1509.05051, - author = ",", -collaboration = "ATLAS", - title = "{Search for new phenomena in events with at least three - photons collected in $pp$ collisions at $\sqrt{s}$ = 8 TeV - with the ATLAS detector}", - journal = "", - volume = "", - year = "2015", - pages = "", - year = "2015", - eprint = "1509.05051", +@Article{hep-ex/0410017, + author = "Abdallah, J. and others", +collaboration = "DELPHI", + title = "{Searches for neutral Higgs bosons in extended models}", + journal = "Eur. Phys. J.", + volume = "C38", + year = "2004", + pages = "1-28", + eprint = "hep-ex/0410017", archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1509.05051;%%" + doi = "10.1140/epjc/s2004-02011-4", + SLACcitation = "%%CITATION = HEP-EX/0410017;%%" } @Article{arXiv:1507.05930, author = ",", collaboration = "ATLAS", title = "{Search for an additional, heavy Higgs boson in the $H\rightarrow ZZ$ decay channel at $\sqrt{s}$ = 8 TeV in $pp$ collision data with the ATLAS detector}", journal = "Eur. Phys. J.", volume = "C76", year = "2016", pages = "45", eprint = "1507.05930", archivePrefix = "arXiv", primaryClass = "hep-ex", SLACcitation = "%%CITATION = 1507.05930;%%" } -@Article{arXiv:1011.1931, - author = "Abazov, Victor Mukhamedovich and others", -collaboration = "D0", - title = "{Search for neutral Higgs bosons in the multi-b-jet - topology in 5.2fb-1 of ppbar collisions at sqrt(s)=1.96 - TeV}", - journal = "Phys. Lett.", - volume = "B698", - year = "2011", - pages = "97-104", - eprint = "1011.1931", +@Article{arXiv:1407.6583, + author = ",", +collaboration = "ATLAS", + title = "{Search for Scalar Diphoton Resonances in the Mass Range + $65-600$ GeV with the ATLAS Detector in $pp$ Collision Data + at $\sqrt{s}$ = 8 $TeV$}", + year = "2014", + eprint = "1407.6583", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2011.02.062", - SLACcitation = "%%CITATION = 1011.1931;%%" + SLACcitation = "%%CITATION = 1407.6583;%%" } -@Article{arXiv:1506.00424, +@Article{arXiv:1504.00936, author = ",", collaboration = "CMS", - title = "{A search for pair production of new light bosons decaying - into muons}", - journal = "Phys. Lett.", - volume = "B752", - year = "2016", - pages = "146", - eprint = "1506.00424", + title = "{Search for a Higgs boson in the mass range from 145 to + 1000 GeV decaying to a pair of W or Z bosons}", + year = "2015", + eprint = "1504.00936", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1506.00424;%%" + SLACcitation = "%%CITATION = 1504.00936;%%" } -@Article{arXiv:1503.04233, +@Article{arXiv:1406.5053, author = ",", collaboration = "ATLAS", - title = "{Search for a Charged Higgs Boson Produced in the Vector- - boson Fusion Mode with Decay $H^\pm \to W^\pm Z$ using $pp$ - Collisions at $\sqrt{s}=8$ TeV with the ATLAS Experiment}", + title = "{Search For Higgs Boson Pair Production in the + $\gamma\gamma b\bar{b}$ Final State using $pp$ Collision + Data at $\sqrt{s}=8$ TeV from the ATLAS Detector}", journal = "", volume = "", - year = "2015", + year = "2014", pages = "", - year = "2015", - eprint = "1503.04233", + year = "2014", + eprint = "1406.5053", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1503.04233;%%" + SLACcitation = "%%CITATION = 1406.5053;%%" } @Article{arXiv:1008.3564, author = "Abazov, Victor Mukhamedovich and others", collaboration = "D0", title = "{Search for $ZH \rightarrow \ell^+\ell^-b\bar{b}$ production in $4.2$~fb$^{-1}$ of $p\bar{p}$ collisions at $\sqrt{s}=1.96$ TeV}", journal = "Phys. Rev. Lett.", volume = "105", year = "2010", pages = "251801", eprint = "1008.3564", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1103/PhysRevLett.105.251801", SLACcitation = "%%CITATION = 1008.3564;%%" } -@Article{hep-ex/0404012, +@Article{hep-ex/0401022, author = "Abdallah, J. and others", collaboration = "DELPHI", - title = "{Search for charged Higgs bosons at LEP in general two - Higgs doublet models}", + title = "{Searches for invisibly decaying Higgs bosons with the + DELPHI detector at LEP}", journal = "Eur. Phys. J.", - volume = "C34", + volume = "C32", year = "2004", - pages = "399-418", - eprint = "hep-ex/0404012", + pages = "475-492", + eprint = "hep-ex/0401022", archivePrefix = "arXiv", - doi = "10.1140/epjc/s2004-01732-6", - SLACcitation = "%%CITATION = HEP-EX/0404012;%%" + doi = "10.1140/epjc/s2003-01469-8", + SLACcitation = "%%CITATION = HEP-EX/0401022;%%" } -@Article{arXiv:1108.5064, - author = "Aad, Georges", -collaboration = "ATLAS", - title = "{Search for a heavy Standard Model Higgs boson in the - channel H->ZZ->llqq using the ATLAS detector}", +@Article{arXiv:1506.02301, + author = ",", +collaboration = "CMS", + title = "{Search for diphoton resonances in the mass range from 150 + to 850 GeV in pp collisions at sqrt(s) = 8 TeV}", journal = "Phys. Lett.", - volume = "B707", - year = "2012", - pages = "27-45", - eprint = "1108.5064", + volume = "B750", + year = "2015", + pages = "494", + eprint = "1506.02301", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2011.11.056", - SLACcitation = "%%CITATION = 1108.5064;%%" + SLACcitation = "%%CITATION = 1506.02301;%%" } % No SPIRES record found for cite request arXiv:1710.01123 -@Article{arXiv:1509.00389, - author = ",", +@Article{arXiv:1202.1415, + author = "Aad, G. and others", collaboration = "ATLAS", - title = "{Search for a high-mass Higgs boson decaying to a $W$ boson - pair in $pp$ collisions at $\sqrt{s} = 8$ TeV with the - ATLAS detector}", - journal = "", - volume = "JHEP01", - year = "2016", - pages = "032", - year = "2015", - eprint = "1509.00389", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1509.00389;%%" -} - -@Article{arXiv:1202.1416, - author = "Chatrchyan, Serguei", -collaboration = "CMS", - title = "{Search for a Higgs boson in the decay channel H to ZZ(*) - to q qbar l-l+ in pp collisions at sqrt(s) = 7 TeV}", - journal = "JHEP", - volume = "04", - year = "2012", - pages = "036", - eprint = "1202.1416", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1007/JHEP04(2012)036", - SLACcitation = "%%CITATION = 1202.1416;%%" -} - -@Article{hep-ex/0501033, - author = "Achard, P. and others", -collaboration = "L3", - title = "{Search for an invisibly-decaying Higgs boson at LEP}", + title = "{Search for the Standard Model Higgs boson in the decay + channel H->ZZ(*)->4l with 4.8 fb-1 of pp collision data at + sqrt(s) = 7 TeV with ATLAS}", journal = "Phys. Lett.", - volume = "B609", - year = "2005", - pages = "35-48", - eprint = "hep-ex/0501033", - archivePrefix = "arXiv", - doi = "10.1016/j.physletb.2005.01.030", - SLACcitation = "%%CITATION = HEP-EX/0501033;%%" -} - -% No SPIRES record found for cite request arXiv:1701.02032 - -@Article{arXiv:1506.08329, - author = ",", -collaboration = "CMS", - title = "{Search for neutral MSSM Higgs bosons decaying into a pair - of bottom quarks}", - journal = "", - volume = "JHEP11", - year = "2015", - pages = "071", - year = "2015", - eprint = "1506.08329", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1506.08329;%%" -} - -@Article{arXiv:0905.3381, - author = "Abazov, V. M. and others", -collaboration = "D0", - title = "{Search for NMSSM Higgs bosons in the $h \to a a - \to\mu\mu\: \mu\mu, \mu\mu \: \tau\tau$ channels using $p - \bar{p}$ collisions at $\sqrt{s}$=1.96 TeV}", - journal = "Phys. Rev. Lett.", - volume = "103", - year = "2009", - pages = "061801", - eprint = "0905.3381", + volume = "B710", + year = "2012", + pages = "383-402", + eprint = "1202.1415", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.103.061801", - SLACcitation = "%%CITATION = 0905.3381;%%" + doi = "10.1016/j.physletb.2012.03.005", + SLACcitation = "%%CITATION = 1202.1415;%%" } @Article{arXiv:1001.4481, author = "Abazov, V. M. and others", collaboration = "D0", title = "{Search for Higgs boson production in dilepton and missing energy final states with ~5.4 $\bm{\mathrm{fb^{-1}}}$ of $\bm{p\bar{p}}$ collisions at $\bm{\sqrt $s$ =1.96}$ TeV}", journal = "Phys. Rev. Lett.", volume = "104", year = "2010", pages = "061804", eprint = "1001.4481", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1103/PhysRevLett.104.061804", SLACcitation = "%%CITATION = 1001.4481;%%" } -% No SPIRES record found for cite request arXiv:1709.07242 +@Article{arXiv:1107.4960, + author = " and others", +collaboration = "TEVNPH Working Group", + title = "{Combined CDF and D0 Searches for the Standard Model Higgs + Boson Decaying to Two Photons with up to 8.2 fb^-1}", + year = "2011", + eprint = "1107.4960", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1107.4960;%%" +} @Article{arXiv:1402.3244, author = ",", collaboration = "ATLAS", title = "{Search for Invisible Decays of a Higgs Boson Produced in Association with a Z Boson in ATLAS}", journal = "", volume = "", year = "2014", pages = "", year = "2014", eprint = "1402.3244", archivePrefix = "arXiv", primaryClass = "hep-ex", SLACcitation = "%%CITATION = 1402.3244;%%" } -@Article{arXiv:1409.6064, +@Article{arXiv:1112.2577, + author = "Aad, Georges", +collaboration = "ATLAS", + title = "{Search for the Higgs boson in the H->WW(*)->lvlv decay + channel in pp collisions at sqrt{s} = 7 TeV with the ATLAS + detector}", + journal = "Phys. Rev. Lett.", + volume = "108", + year = "2012", + pages = "111802", + eprint = "1112.2577", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1103/PhysRevLett.108.111802", + SLACcitation = "%%CITATION = 1112.2577;%%" +} + +@Article{arXiv:1301.6065, + author = "Abbiendi, G. and others", +collaboration = "ALEPH", + title = "{Search for Charged Higgs bosons: Combined Results Using + LEP Data}", + year = "2013", + eprint = "1301.6065", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1301.6065;%%" +} + +% No SPIRES record found for cite request arXiv:1807.08567 + +@Article{arXiv:0906.1014, + author = "Aaltonen, T. and others", +collaboration = "CDF", + title = "{Search for Higgs bosons predicted in two-Higgs-doublet + models via decays to tau lepton pairs in 1.96 TeV proton- + antiproton collisions}", + journal = "Phys. Rev. Lett.", + volume = "103", + year = "2009", + pages = "201801", + eprint = "0906.1014", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1103/PhysRevLett.103.201801", + SLACcitation = "%%CITATION = 0906.1014;%%" +} + +@Article{arXiv:1503.04114, + author = ",", +collaboration = "CMS", + title = "{Search for resonant pair production of Higgs bosons + decaying to two bottom quark-antiquark pairs in proton- + proton collisions at 8 TeV}", + journal = "Phys. Lett.", + volume = "B749", + year = "2015", + pages = "560", + eprint = "1503.04114", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1503.04114;%%" +} + +@Article{arXiv:1509.05051, author = ",", collaboration = "ATLAS", - title = "{Search for neutral Higgs bosons of the minimal - supersymmetric standard model in pp collisions at - $\sqrt{s}$ = 8 TeV with the ATLAS detector}", + title = "{Search for new phenomena in events with at least three + photons collected in $pp$ collisions at $\sqrt{s}$ = 8 TeV + with the ATLAS detector}", journal = "", volume = "", - year = "2014", + year = "2015", pages = "", - year = "2014", - eprint = "1409.6064", + year = "2015", + eprint = "1509.05051", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1409.6064;%%" + SLACcitation = "%%CITATION = 1509.05051;%%" } +@Article{arXiv:1202.1997, + author = "Chatrchyan, Serguei", +collaboration = "CMS", + title = "{Search for the standard model Higgs boson in the decay + channel H to ZZ to 4 leptons in pp collisions at sqrt(s) = + 7 TeV}", + journal = "Phys. Rev. Lett.", + volume = "108", + year = "2012", + pages = "111804", + eprint = "1202.1997", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1103/PhysRevLett.108.111804", + SLACcitation = "%%CITATION = 1202.1997;%%" +} + +@Article{hep-ex/0111010, + author = "Abbiendi, G. and others", +collaboration = "OPAL", + title = "{Search for Yukawa production of a light neutral Higgs + boson at LEP}", + journal = "Eur. Phys. J.", + volume = "C23", + year = "2002", + pages = "397-407", + eprint = "hep-ex/0111010", + archivePrefix = "arXiv", + doi = "10.1007/s100520200896", + SLACcitation = "%%CITATION = HEP-EX/0111010;%%" +} + +@Article{hep-ex/0602042, + author = "Schael, S. and others", +collaboration = "ALEPH", + title = "{Search for neutral MSSM Higgs bosons at LEP}", + journal = "Eur. Phys. J.", + volume = "C47", + year = "2006", + pages = "547-587", + eprint = "hep-ex/0602042", + archivePrefix = "arXiv", + doi = "10.1140/epjc/s2006-02569-7", + SLACcitation = "%%CITATION = HEP-EX/0602042;%%" +} + +@Article{arXiv:1011.1931, + author = "Abazov, Victor Mukhamedovich and others", +collaboration = "D0", + title = "{Search for neutral Higgs bosons in the multi-b-jet + topology in 5.2fb-1 of ppbar collisions at sqrt(s)=1.96 + TeV}", + journal = "Phys. Lett.", + volume = "B698", + year = "2011", + pages = "97-104", + eprint = "1011.1931", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1016/j.physletb.2011.02.062", + SLACcitation = "%%CITATION = 1011.1931;%%" +} + +% No SPIRES record found for cite request arXiv:1707.04147 + @Article{arXiv:1509.04670, author = ",", collaboration = "ATLAS", title = "{Searches for Higgs boson pair production in the $hh\to bb\tau\tau, \gamma\gamma WW*, \gamma\gamma bb, bbbb$ channels with the ATLAS detector}", journal = "", volume = "", year = "2015", pages = "", year = "2015", eprint = "1509.04670", archivePrefix = "arXiv", primaryClass = "hep-ex", SLACcitation = "%%CITATION = 1509.04670;%%" } -@Article{arXiv:0908.1811, - author = "Abazov, V. M. and others", -collaboration = "D0", - title = "{Search for charged Higgs bosons in top quark decays}", - journal = "Phys. Lett.", - volume = "B682", - year = "2009", - pages = "278-286", - eprint = "0908.1811", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2009.11.016", - SLACcitation = "%%CITATION = 0908.1811;%%" -} - -@Article{hep-ex/0410017, - author = "Abdallah, J. and others", -collaboration = "DELPHI", - title = "{Searches for neutral Higgs bosons in extended models}", - journal = "Eur. Phys. J.", - volume = "C38", - year = "2004", - pages = "1-28", - eprint = "hep-ex/0410017", - archivePrefix = "arXiv", - doi = "10.1140/epjc/s2004-02011-4", - SLACcitation = "%%CITATION = HEP-EX/0410017;%%" -} - @Article{arXiv:1202.1414, author = "Aad, Georges", collaboration = "ATLAS", title = "{Search for the Standard Model Higgs boson in the diphoton decay channel with 4.9 fb$^{-1}$ of $pp$ collisions at $\sqrt{s}=7$ TeV with ATLAS}", journal = "Phys. Rev. Lett.", volume = "108", year = "2012", pages = "111803", eprint = "1202.1414", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1103/PhysRevLett.108.111803", SLACcitation = "%%CITATION = 1202.1414;%%" } -@Article{arXiv:1001.4468, - author = "Aaltonen, T. and others", -collaboration = "CDF", - title = "{Inclusive Search for Standard Model Higgs Boson Production - in the WW Decay Channel using the CDF II Detector}", +% No SPIRES record found for cite request arXiv:1709.07242 + +@Article{arXiv:1109.3357, + author = " and others", +collaboration = "ATLAS", + title = "{Search for a Standard Model Higgs boson in the H->ZZ- +llnunu decay channel with the ATLAS detector}", journal = "Phys. Rev. Lett.", - volume = "104", - year = "2010", - pages = "061803", - eprint = "1001.4468", + volume = "107", + year = "2011", + pages = "221802", + eprint = "1109.3357", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.104.061803", - SLACcitation = "%%CITATION = 1001.4468;%%" + doi = "10.1103/PhysRevLett.107.221802", + SLACcitation = "%%CITATION = 1109.3357;%%" } -@Article{arXiv:1204.2760, - author = "Aad, Georges", -collaboration = "ATLAS", - title = "{Search for charged Higgs bosons decaying via H+ -> tau nu - in top quark pair events using pp collision data at sqrt(s) - = 7 TeV with the ATLAS detector}", - journal = "JHEP", - volume = "06", +% No SPIRES record found for cite request arXiv:1808.03599 + +@Article{arXiv:0812.0267, + author = "Abbiendi, G. and others", +collaboration = "OPAL", + title = "{Search for Charged Higgs Bosons in e+e- Collisions at + sqrts(s) = 189-209 GeV}", + journal = "Eur. Phys. J.", + volume = "C72", year = "2012", - pages = "039", - eprint = "1204.2760", + pages = "2076", + eprint = "0812.0267", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1007/JHEP06(2012)039", - SLACcitation = "%%CITATION = 1204.2760;%%" + doi = "10.1140/epjc/s10052-012-2076-0", + SLACcitation = "%%CITATION = 0812.0267;%%" +} + +@Article{arXiv:0806.0611, + author = "Abazov, V. M. and others", +collaboration = "D0", + title = "{Search for a scalar or vector particle decaying into + Zgamma in p anti-p collisions at s**(1/2) = 1.96-TeV}", + journal = "Phys. Lett.", + volume = "B671", + year = "2009", + pages = "349-355", + eprint = "0806.0611", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1016/j.physletb.2008.12.009", + SLACcitation = "%%CITATION = 0806.0611;%%" +} + +@Article{arXiv:1510.01181, + author = ",", +collaboration = "CMS", + title = "{Searches for a heavy scalar boson H decaying to a pair of + 125 GeV Higgs bosons hh or for a heavy pseudoscalar boson A + decaying to Zh, in the final states with h to tau tau}", + journal = "Phys. Lett.", + volume = "B755", + year = "2016", + pages = "217", + eprint = "1510.01181", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1510.01181;%%" +} + +@Article{arXiv:1307.5515, + author = ",", +collaboration = "CMS", + title = "{Search for a Higgs boson decaying into a Z and a photon in + pp collisions at sqrt(s) = 7 and 8 TeV}", + journal = "Phys. Lett.", + volume = "B726", + year = "2013", + pages = "587", + eprint = "1307.5515", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1307.5515;%%" +} + +@Article{hep-ex/0206022, + author = "Abbiendi, G. and others", +collaboration = "OPAL", + title = "{Decay-mode independent searches for new scalar bosons with + the OPAL detector at LEP}", + journal = "Eur. Phys. J.", + volume = "C27", + year = "2003", + pages = "311-329", + eprint = "hep-ex/0206022", + archivePrefix = "arXiv", + doi = "10.1140/epjc/s2002-01115-1", + SLACcitation = "%%CITATION = HEP-EX/0206022;%%" +} + +@Article{arXiv:1108.3331, + author = "Benjamin, Doug and others", +collaboration = "CDF", + title = "{Combined CDF and D0 upper limits on gg->H W+W- and + constraints on the Higgs boson mass in fourth-generation + fermion models with up to 8.2 fb-1 of data}", + year = "2011", + eprint = "1108.3331", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1108.3331;%%" +} + +@Article{arXiv:0707.0373, + author = "Abbiendi, G. and others", +collaboration = "OPAL", + title = "{Search for invisibly decaying Higgs bosons in $e^+e^- \to + Z^0 h^0$ production at $\sqrt{s}$=183 - 209 GeV}", + journal = "Phys. Lett.", + volume = "B682", + year = "2010", + pages = "381-390", + eprint = "0707.0373", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1016/j.physletb.2009.09.010", + SLACcitation = "%%CITATION = 0707.0373;%%" } @Article{arXiv:0906.5613, author = "Aaltonen, T. and others", collaboration = "CDF", title = "{Search for a Higgs Boson in $W H \to \ell \nu b \bar{b}$ in $p\bar{p}$ Collisions at $\sqrt{s} = 1.96$ TeV}", journal = "Phys. Rev. Lett.", volume = "103", year = "2009", pages = "101802", eprint = "0906.5613", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1103/PhysRevLett.103.101802", SLACcitation = "%%CITATION = 0906.5613;%%" } +@Article{arXiv:1506.00424, + author = ",", +collaboration = "CMS", + title = "{A search for pair production of new light bosons decaying + into muons}", + journal = "Phys. Lett.", + volume = "B752", + year = "2016", + pages = "146", + eprint = "1506.00424", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1506.00424;%%" +} + +@Article{arXiv:1409.6064, + author = ",", +collaboration = "ATLAS", + title = "{Search for neutral Higgs bosons of the minimal + supersymmetric standard model in pp collisions at + $\sqrt{s}$ = 8 TeV with the ATLAS detector}", + journal = "", + volume = "", + year = "2014", + pages = "", + year = "2014", + eprint = "1409.6064", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1409.6064;%%" +} + +@Article{arXiv:1207.0449, + author = "Group, CDF and D0 Collaborations and the Tevatron New Physics an + ", +collaboration = "Tevatron New Physics Higgs Working Group", + title = "{Updated Combination of CDF and D0 Searches for Standard + Model Higgs Boson Production with up to 10.0 fb$^{-1}$ of + Data}", + year = "2012", + eprint = "1207.0449", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1207.0449;%%" +} + @Article{arXiv:1207.7214, author = "", collaboration = "ATLAS", title = "{Observation of a new particle in the search for the Standard Model Higgs boson with the ATLAS detector at the LHC}", journal = "Phys. Lett.", volume = "B716", year = "2012", pages = "1-29", eprint = "1207.7214", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1016/j.physletb.2012.08.020", SLACcitation = "%%CITATION = 1207.7214;%%" } -@Article{arXiv:0812.0267, - author = "Abbiendi, G. and others", -collaboration = "OPAL", - title = "{Search for Charged Higgs Bosons in e+e- Collisions at - sqrts(s) = 189-209 GeV}", - journal = "Eur. Phys. J.", - volume = "C72", - year = "2012", - pages = "2076", - eprint = "0812.0267", +@Article{hep-ex/0501033, + author = "Achard, P. and others", +collaboration = "L3", + title = "{Search for an invisibly-decaying Higgs boson at LEP}", + journal = "Phys. Lett.", + volume = "B609", + year = "2005", + pages = "35-48", + eprint = "hep-ex/0501033", archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1140/epjc/s10052-012-2076-0", - SLACcitation = "%%CITATION = 0812.0267;%%" + doi = "10.1016/j.physletb.2005.01.030", + SLACcitation = "%%CITATION = HEP-EX/0501033;%%" } -@Article{arXiv:1207.6436, +@Article{arXiv:0907.1269, author = "Aaltonen, T. and others", collaboration = "CDF", - title = "{Evidence for a particle produced in association with weak - bosons and decaying to a bottom-antibottom quark pair in - Higgs boson searches at the Tevatron}", + title = "{Search for charged Higgs bosons in decays of top quarks in + $p-\bar{p}$ collisions at $\sqrt{s} = 1.96$ TeV}", journal = "Phys. Rev. Lett.", - volume = "109", - year = "2012", - pages = "071804", - eprint = "1207.6436", + volume = "103", + year = "2009", + pages = "101803", + eprint = "0907.1269", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.109.071804", - SLACcitation = "%%CITATION = 1207.6436;%%" + doi = "10.1103/PhysRevLett.103.101803", + SLACcitation = "%%CITATION = 0907.1269;%%" } -@Article{arXiv:0707.0373, - author = "Abbiendi, G. and others", -collaboration = "OPAL", - title = "{Search for invisibly decaying Higgs bosons in $e^+e^- \to - Z^0 h^0$ production at $\sqrt{s}$=183 - 209 GeV}", - journal = "Phys. Lett.", - volume = "B682", - year = "2010", - pages = "381-390", - eprint = "0707.0373", +@Article{arXiv:1202.3478, + author = "Chatrchyan, Serguei", +collaboration = "CMS", + title = "{Search for the standard model Higgs boson in the H to ZZ + to 2l 2nu channel in pp collisions at sqrt(s) = 7 TeV}", + journal = "JHEP", + volume = "03", + year = "2012", + pages = "040", + eprint = "1202.3478", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2009.09.010", - SLACcitation = "%%CITATION = 0707.0373;%%" + doi = "10.1007/JHEP03(2012)040", + SLACcitation = "%%CITATION = 1202.3478;%%" } -@Article{arXiv:1603.02991, +@Article{arXiv:1506.08329, author = ",", collaboration = "CMS", - title = "{Search for neutral resonances decaying into a Z boson and - a pair of b jets or tau leptons}", - journal = "Phys. Lett.", - volume = "B759", - year = "2016", - pages = "369", - eprint = "1603.02991", + title = "{Search for neutral MSSM Higgs bosons decaying into a pair + of bottom quarks}", + journal = "", + volume = "JHEP11", + year = "2015", + pages = "071", + year = "2015", + eprint = "1506.08329", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1603.02991;%%" + SLACcitation = "%%CITATION = 1506.08329;%%" +} + +@Article{arXiv:1502.04478, + author = ",", +collaboration = "ATLAS", + title = "{Search for a CP-odd Higgs boson decaying to $Zh$ in $pp$ + collisions at $\sqrt{s} = 8$ TeV with the ATLAS detector}", + journal = "Physics Letters", + volume = "B744", + year = "2015", + pages = "163-183", + eprint = "1502.04478", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1502.04478;%%" } @Article{arXiv:1402.3051, author = ",", collaboration = "ATLAS", title = "{Search for Higgs boson decays to a photon and a Z boson in pp collisions at sqrt(s)=7 and 8 TeV with the ATLAS detector}", journal = "Phys. Lett.", volume = "B732", year = "2014", pages = "8-27", eprint = "1402.3051", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1016/j.physletb.2014.03.015", SLACcitation = "%%CITATION = 1402.3051;%%" } -@Article{hep-ex/0107032, - author = "", -collaboration = "LEP Higgs Working for Higgs boson searches", - title = "{Searches for Invisible Higgs bosons: Preliminary combined - results using LEP data collected at energies up to 209 - GeV}", - year = "2001", - eprint = "hep-ex/0107032", - archivePrefix = "arXiv", - SLACcitation = "%%CITATION = HEP-EX/0107032;%%" -} - -@Article{hep-ex/0602042, - author = "Schael, S. and others", -collaboration = "ALEPH", - title = "{Search for neutral MSSM Higgs bosons at LEP}", - journal = "Eur. Phys. J.", - volume = "C47", - year = "2006", - pages = "547-587", - eprint = "hep-ex/0602042", - archivePrefix = "arXiv", - doi = "10.1140/epjc/s2006-02569-7", - SLACcitation = "%%CITATION = HEP-EX/0602042;%%" -} - -@Article{hep-ex/0111010, - author = "Abbiendi, G. and others", -collaboration = "OPAL", - title = "{Search for Yukawa production of a light neutral Higgs - boson at LEP}", - journal = "Eur. Phys. J.", - volume = "C23", - year = "2002", - pages = "397-407", - eprint = "hep-ex/0111010", +@Article{arXiv:1603.06896, + author = ",", +collaboration = "CMS", + title = "{Search for two Higgs bosons in final states containing two + photons and two bottom quarks}", + year = "2016", + eprint = "1603.06896", archivePrefix = "arXiv", - doi = "10.1007/s100520200896", - SLACcitation = "%%CITATION = HEP-EX/0111010;%%" + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1603.06896;%%" } @Article{arXiv:1106.4555, author = "Abazov, Victor Mukhamedovich and others", collaboration = "D0", title = "{Search for Higgs bosons decaying to tautau pairs in ppbar collisions at sqrt(s) = 1.96 TeV}", journal = "Phys. Lett.", volume = "B707", year = "2012", pages = "323-329", eprint = "1106.4555", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1016/j.physletb.2011.12.050", SLACcitation = "%%CITATION = 1106.4555;%%" } -@Article{arXiv:1503.04114, - author = ",", -collaboration = "CMS", - title = "{Search for resonant pair production of Higgs bosons - decaying to two bottom quark-antiquark pairs in proton- - proton collisions at 8 TeV}", - journal = "Phys. Lett.", - volume = "B749", - year = "2015", - pages = "560", - eprint = "1503.04114", +@Article{arXiv:1204.2760, + author = "Aad, Georges", +collaboration = "ATLAS", + title = "{Search for charged Higgs bosons decaying via H+ -> tau nu + in top quark pair events using pp collision data at sqrt(s) + = 7 TeV with the ATLAS detector}", + journal = "JHEP", + volume = "06", + year = "2012", + pages = "039", + eprint = "1204.2760", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1503.04114;%%" + doi = "10.1007/JHEP06(2012)039", + SLACcitation = "%%CITATION = 1204.2760;%%" } -@Article{hep-ex/0107031, +@Article{hep-ex/0107034, author = "", collaboration = "LEP Higgs Working Group for Higgs boson searches", - title = "{Search for charged Higgs bosons: Preliminary combined - results using LEP data collected at energies up to 209- - GeV}", + title = "{Flavor independent search for hadronically decaying + neutral Higgs bosons at LEP}", year = "2001", - eprint = "hep-ex/0107031", + eprint = "hep-ex/0107034", archivePrefix = "arXiv", - SLACcitation = "%%CITATION = HEP-EX/0107031;%%" + SLACcitation = "%%CITATION = HEP-EX/0107034;%%" } -@Article{arXiv:1407.6583, - author = ",", -collaboration = "ATLAS", - title = "{Search for Scalar Diphoton Resonances in the Mass Range - $65-600$ GeV with the ATLAS Detector in $pp$ Collision Data - at $\sqrt{s}$ = 8 $TeV$}", - year = "2014", - eprint = "1407.6583", +@Article{arXiv:1202.1488, + author = "Chatrchyan, Serguei", +collaboration = "CMS", + title = "{Combined results of searches for the standard model Higgs + boson in pp collisions at sqrt(s) = 7 TeV}", + journal = "Phys. Lett.", + volume = "B710", + year = "2012", + pages = "26-48", + eprint = "1202.1488", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1407.6583;%%" + doi = "10.1016/j.physletb.2012.02.064", + SLACcitation = "%%CITATION = 1202.1488;%%" } -@Article{arXiv:1404.1344, - author = ",", -collaboration = "CMS", - title = "{Search for invisible decays of Higgs bosons in the vector - boson fusion and associated ZH production modes}", - journal = "Eur. Phys. J.", - volume = "C74", - year = "2014", - pages = "2980", - eprint = "1404.1344", +@Article{arXiv:0809.3930, + author = "Aaltonen, T. and others", +collaboration = "CDF", + title = "{Search for a Higgs Boson Decaying to Two W Bosons at + CDF}", + journal = "Phys. Rev. Lett.", + volume = "102", + year = "2009", + pages = "021802", + eprint = "0809.3930", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1404.1344;%%" + doi = "10.1103/PhysRevLett.102.021802", + SLACcitation = "%%CITATION = 0809.3930;%%" } -@Article{hep-ex/0401022, +@Article{arXiv:0901.1887, + author = "Abazov, V. M. and others", +collaboration = "D0", + title = "{Search for Resonant Diphoton Production with the D0 + Detector}", + journal = "Phys. Rev. Lett.", + volume = "102", + year = "2009", + pages = "231801", + eprint = "0901.1887", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1103/PhysRevLett.102.231801", + SLACcitation = "%%CITATION = 0901.1887;%%" +} + +@Article{hep-ex/0404012, author = "Abdallah, J. and others", collaboration = "DELPHI", - title = "{Searches for invisibly decaying Higgs bosons with the - DELPHI detector at LEP}", + title = "{Search for charged Higgs bosons at LEP in general two + Higgs doublet models}", journal = "Eur. Phys. J.", - volume = "C32", + volume = "C34", year = "2004", - pages = "475-492", - eprint = "hep-ex/0401022", + pages = "399-418", + eprint = "hep-ex/0404012", archivePrefix = "arXiv", - doi = "10.1140/epjc/s2003-01469-8", - SLACcitation = "%%CITATION = HEP-EX/0401022;%%" + doi = "10.1140/epjc/s2004-01732-6", + SLACcitation = "%%CITATION = HEP-EX/0404012;%%" } -@Article{arXiv:1510.06534, - author = ",", -collaboration = "CMS", - title = "{Search for a very light NMSSM Higgs boson produced in - decays of the 125 GeV scalar boson and decaying into tau - leptons in pp collisions at sqrt(s) = 8 TeV}", - journal = "", - volume = "JHEP01", - year = "2016", - pages = "079", - year = "2015", - eprint = "1510.06534", +@Article{hep-ex/0107032, + author = "", +collaboration = "LEP Higgs Working for Higgs boson searches", + title = "{Searches for Invisible Higgs bosons: Preliminary combined + results using LEP data collected at energies up to 209 + GeV}", + year = "2001", + eprint = "hep-ex/0107032", archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1510.06534;%%" + SLACcitation = "%%CITATION = HEP-EX/0107032;%%" } -@Article{arXiv:1301.6065, - author = "Abbiendi, G. and others", -collaboration = "ALEPH", - title = "{Search for Charged Higgs bosons: Combined Results Using - LEP Data}", - year = "2013", - eprint = "1301.6065", +% No SPIRES record found for cite request arXiv:1712.06386 + +@Article{arXiv:0905.3381, + author = "Abazov, V. M. and others", +collaboration = "D0", + title = "{Search for NMSSM Higgs bosons in the $h \to a a + \to\mu\mu\: \mu\mu, \mu\mu \: \tau\tau$ channels using $p + \bar{p}$ collisions at $\sqrt{s}$=1.96 TeV}", + journal = "Phys. Rev. Lett.", + volume = "103", + year = "2009", + pages = "061801", + eprint = "0905.3381", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1301.6065;%%" + doi = "10.1103/PhysRevLett.103.061801", + SLACcitation = "%%CITATION = 0905.3381;%%" } -@Article{arXiv:1406.7663, - author = ",", +@Article{arXiv:1108.5064, + author = "Aad, Georges", collaboration = "ATLAS", - title = "{Search for the Standard Model Higgs boson decay to - $\mu^{+}\mu^{-}$ with the ATLAS detector}", - journal = "Physics Letters", - volume = "B738", - year = "2014", - pages = "68-86", - eprint = "1406.7663", + title = "{Search for a heavy Standard Model Higgs boson in the + channel H->ZZ->llqq using the ATLAS detector}", + journal = "Phys. Lett.", + volume = "B707", + year = "2012", + pages = "27-45", + eprint = "1108.5064", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1406.7663;%%" + doi = "10.1016/j.physletb.2011.11.056", + SLACcitation = "%%CITATION = 1108.5064;%%" } -% No SPIRES record found for cite request arXiv:1807.07915 - -@Article{arXiv:1106.4885, - author = "Abazov, Victor Mukhamedovich and others", -collaboration = "D0", - title = "{Search for neutral Higgs bosons decaying to tau pairs - produced in association with b quarks in ppbar collisions - at sqrt(s)=1.96 TeV}", +@Article{arXiv:1207.6436, + author = "Aaltonen, T. and others", +collaboration = "CDF", + title = "{Evidence for a particle produced in association with weak + bosons and decaying to a bottom-antibottom quark pair in + Higgs boson searches at the Tevatron}", journal = "Phys. Rev. Lett.", - volume = "107", - year = "2011", - pages = "121801", - eprint = "1106.4885", + volume = "109", + year = "2012", + pages = "071804", + eprint = "1207.6436", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.107.121801", - SLACcitation = "%%CITATION = 1106.4885;%%" + doi = "10.1103/PhysRevLett.109.071804", + SLACcitation = "%%CITATION = 1207.6436;%%" } -@Article{arXiv:1504.04710, +@Article{arXiv:1404.1344, author = ",", collaboration = "CMS", - title = "{Search for a pseudoscalar boson decaying into a Z boson - and the 125 GeV Higgs boson in llbb final states}", + title = "{Search for invisible decays of Higgs bosons in the vector + boson fusion and associated ZH production modes}", + journal = "Eur. Phys. J.", + volume = "C74", + year = "2014", + pages = "2980", + eprint = "1404.1344", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + SLACcitation = "%%CITATION = 1404.1344;%%" +} + +@Article{arXiv:1012.0874, + author = "Abazov, Victor Mukhamedovich and others", +collaboration = "D0", + title = "{Search for $WH$ associated production in 5.3 fb$^{-1}$ of + $p\bar{p}$ collisions at the Fermilab Tevatron}", journal = "Phys. Lett.", - volume = "B748", - year = "2015", - pages = "221", - eprint = "1504.04710", + volume = "B698", + year = "2011", + pages = "6-13", + eprint = "1012.0874", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1504.04710;%%" + doi = "10.1016/j.physletb.2011.02.036", + SLACcitation = "%%CITATION = 1012.0874;%%" } -@Article{arXiv:1202.1415, - author = "Aad, G. and others", +% No SPIRES record found for cite request arXiv:1806.07355 + +@Article{arXiv:1202.1408, + author = "Aad, Georges", collaboration = "ATLAS", - title = "{Search for the Standard Model Higgs boson in the decay - channel H->ZZ(*)->4l with 4.8 fb-1 of pp collision data at - sqrt(s) = 7 TeV with ATLAS}", + title = "{Combined search for the Standard Model Higgs boson using + up to 4.9 fb$^{-1}$ of $pp$ collision data at $\sqrt{s}=7$ + TeV with the ATLAS detector at the LHC}", journal = "Phys. Lett.", volume = "B710", year = "2012", - pages = "383-402", - eprint = "1202.1415", + pages = "49-66", + eprint = "1202.1408", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2012.03.005", - SLACcitation = "%%CITATION = 1202.1415;%%" -} - -@Article{hep-ex/0107034, - author = "", -collaboration = "LEP Higgs Working Group for Higgs boson searches", - title = "{Flavor independent search for hadronically decaying - neutral Higgs bosons at LEP}", - year = "2001", - eprint = "hep-ex/0107034", - archivePrefix = "arXiv", - SLACcitation = "%%CITATION = HEP-EX/0107034;%%" + doi = "10.1016/j.physletb.2012.02.044", + SLACcitation = "%%CITATION = 1202.1408;%%" } -@Article{arXiv:1406.5053, - author = ",", -collaboration = "ATLAS", - title = "{Search For Higgs Boson Pair Production in the - $\gamma\gamma b\bar{b}$ Final State using $pp$ Collision - Data at $\sqrt{s}=8$ TeV from the ATLAS Detector}", - journal = "", - volume = "", - year = "2014", - pages = "", - year = "2014", - eprint = "1406.5053", +@Article{arXiv:1003.3363, + author = "Benjamin, Doug and others", +collaboration = "Tevatron New Phenomena and Higgs Working Group", + title = "{Combined CDF and D0 upper limits on MSSM Higgs boson + production in tau-tau final states with up to 2.2 fb-1}", + year = "2010", + eprint = "1003.3363", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1406.5053;%%" + SLACcitation = "%%CITATION = 1003.3363;%%" } @Article{arXiv:1106.4782, author = "Aaltonen, T. and others", collaboration = "CDF", title = "{Search for Higgs Bosons Produced in Association with b- Quarks}", journal = "Phys. Rev.", volume = "D85", year = "2012", pages = "032005", eprint = "1106.4782", archivePrefix = "arXiv", primaryClass = "hep-ex", doi = "10.1103/PhysRevD.85.032005", SLACcitation = "%%CITATION = 1106.4782;%%" } -@Article{arXiv:1510.01181, +@Article{arXiv:1510.06534, author = ",", collaboration = "CMS", - title = "{Searches for a heavy scalar boson H decaying to a pair of - 125 GeV Higgs bosons hh or for a heavy pseudoscalar boson A - decaying to Zh, in the final states with h to tau tau}", - journal = "Phys. Lett.", - volume = "B755", + title = "{Search for a very light NMSSM Higgs boson produced in + decays of the 125 GeV scalar boson and decaying into tau + leptons in pp collisions at sqrt(s) = 8 TeV}", + journal = "", + volume = "JHEP01", year = "2016", - pages = "217", - eprint = "1510.01181", + pages = "079", + year = "2015", + eprint = "1510.06534", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1510.01181;%%" + SLACcitation = "%%CITATION = 1510.06534;%%" } -@Article{arXiv:1107.1268, +@Article{arXiv:0908.1811, author = "Abazov, V. M. and others", collaboration = "D0", - title = "{Search for associated Higgs boson production using like - charge dilepton events in ppbar collisions at sqrt{s} = - 1.96 TeV}", - journal = "Phys. Rev.", - volume = "D84", - year = "2011", - pages = "092002", - eprint = "1107.1268", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1103/PhysRevD.84.092002", - SLACcitation = "%%CITATION = 1107.1268;%%" -} - -@Article{arXiv:1202.1997, - author = "Chatrchyan, Serguei", -collaboration = "CMS", - title = "{Search for the standard model Higgs boson in the decay - channel H to ZZ to 4 leptons in pp collisions at sqrt(s) = - 7 TeV}", - journal = "Phys. Rev. Lett.", - volume = "108", - year = "2012", - pages = "111804", - eprint = "1202.1997", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.108.111804", - SLACcitation = "%%CITATION = 1202.1997;%%" -} - -@Article{arXiv:1107.4960, - author = " and others", -collaboration = "TEVNPH Working Group", - title = "{Combined CDF and D0 Searches for the Standard Model Higgs - Boson Decaying to Two Photons with up to 8.2 fb^-1}", - year = "2011", - eprint = "1107.4960", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1107.4960;%%" -} - -@Article{arXiv:1307.5515, - author = ",", -collaboration = "CMS", - title = "{Search for a Higgs boson decaying into a Z and a photon in - pp collisions at sqrt(s) = 7 and 8 TeV}", + title = "{Search for charged Higgs bosons in top quark decays}", journal = "Phys. Lett.", - volume = "B726", - year = "2013", - pages = "587", - eprint = "1307.5515", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1307.5515;%%" -} - -@Article{hep-ex/0206022, - author = "Abbiendi, G. and others", -collaboration = "OPAL", - title = "{Decay-mode independent searches for new scalar bosons with - the OPAL detector at LEP}", - journal = "Eur. Phys. J.", - volume = "C27", - year = "2003", - pages = "311-329", - eprint = "hep-ex/0206022", - archivePrefix = "arXiv", - doi = "10.1140/epjc/s2002-01115-1", - SLACcitation = "%%CITATION = HEP-EX/0206022;%%" -} - -@Article{arXiv:0906.1014, - author = "Aaltonen, T. and others", -collaboration = "CDF", - title = "{Search for Higgs bosons predicted in two-Higgs-doublet - models via decays to tau lepton pairs in 1.96 TeV proton- - antiproton collisions}", - journal = "Phys. Rev. Lett.", - volume = "103", + volume = "B682", year = "2009", - pages = "201801", - eprint = "0906.1014", + pages = "278-286", + eprint = "0908.1811", archivePrefix = "arXiv", primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.103.201801", - SLACcitation = "%%CITATION = 0906.1014;%%" + doi = "10.1016/j.physletb.2009.11.016", + SLACcitation = "%%CITATION = 0908.1811;%%" } -@Article{arXiv:0907.1269, - author = "Aaltonen, T. and others", -collaboration = "CDF", - title = "{Search for charged Higgs bosons in decays of top quarks in - $p-\bar{p}$ collisions at $\sqrt{s} = 1.96$ TeV}", - journal = "Phys. Rev. Lett.", - volume = "103", - year = "2009", - pages = "101803", - eprint = "0907.1269", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1103/PhysRevLett.103.101803", - SLACcitation = "%%CITATION = 0907.1269;%%" -} +% No SPIRES record found for cite request arXiv:1808.00336 -@Article{arXiv:1202.1488, +@Article{arXiv:1202.1416, author = "Chatrchyan, Serguei", collaboration = "CMS", - title = "{Combined results of searches for the standard model Higgs - boson in pp collisions at sqrt(s) = 7 TeV}", - journal = "Phys. Lett.", - volume = "B710", + title = "{Search for a Higgs boson in the decay channel H to ZZ(*) + to q qbar l-l+ in pp collisions at sqrt(s) = 7 TeV}", + journal = "JHEP", + volume = "04", year = "2012", - pages = "26-48", - eprint = "1202.1488", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - doi = "10.1016/j.physletb.2012.02.064", - SLACcitation = "%%CITATION = 1202.1488;%%" -} - -@Article{arXiv:1506.02301, - author = ",", -collaboration = "CMS", - title = "{Search for diphoton resonances in the mass range from 150 - to 850 GeV in pp collisions at sqrt(s) = 8 TeV}", - journal = "Phys. Lett.", - volume = "B750", - year = "2015", - pages = "494", - eprint = "1506.02301", + pages = "036", + eprint = "1202.1416", archivePrefix = "arXiv", primaryClass = "hep-ex", - SLACcitation = "%%CITATION = 1506.02301;%%" + doi = "10.1007/JHEP04(2012)036", + SLACcitation = "%%CITATION = 1202.1416;%%" } % No SPIRES record found for cite request CDFnotes,D0notes,CMSnotes % No SPIRES record found for cite request ATLASnotes,LHWGnotes @Article{hep-ph/9704448, author = "Djouadi, A. and Kalinowski, J. and Spira, M.", title = "{HDECAY: A program for Higgs boson decays in the standard model and its supersymmetric extension}", journal = "Comput. Phys. Commun.", volume = "108", year = "1998", pages = "56-74", eprint = "hep-ph/9704448", archivePrefix = "arXiv", doi = "10.1016/S0010-4655(97)00123-9", SLACcitation = "%%CITATION = HEP-PH/9704448;%%" } @Article{hep-ph/0102227, author = "Catani, Stefano and de Florian, Daniel and Grazzini, Massimiliano", title = "{Higgs production in hadron collisions: Soft and virtual QCD corrections at NNLO}", journal = "JHEP", volume = "05", year = "2001", pages = "025", eprint = "hep-ph/0102227", archivePrefix = "arXiv", SLACcitation = "%%CITATION = HEP-PH/0102227;%%" } @Article{hep-ph/0102241, author = "Harlander, Robert V. and Kilgore, William B.", title = "{Soft and virtual corrections to p p --> H + X at NNLO}", journal = "Phys. Rev.", volume = "D64", year = "2001", pages = "013015", eprint = "hep-ph/0102241", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.64.013015", SLACcitation = "%%CITATION = HEP-PH/0102241;%%" } @Article{hep-ph/0201206, author = "Harlander, Robert V. and Kilgore, William B.", title = "{Next-to-next-to-leading order Higgs production at hadron colliders}", journal = "Phys. Rev. Lett.", volume = "88", year = "2002", pages = "201801", eprint = "hep-ph/0201206", archivePrefix = "arXiv", doi = "10.1103/PhysRevLett.88.201801", SLACcitation = "%%CITATION = HEP-PH/0201206;%%" } @Article{hep-ph/0207004, author = "Anastasiou, Charalampos and Melnikov, Kirill", title = "{Higgs boson production at hadron colliders in NNLO QCD}", journal = "Nucl. Phys.", volume = "B646", year = "2002", pages = "220-256", eprint = "hep-ph/0207004", archivePrefix = "arXiv", doi = "10.1016/S0550-3213(02)00837-4", SLACcitation = "%%CITATION = HEP-PH/0207004;%%" } @Article{hep-ph/0302135, author = "Ravindran, V. and Smith, J. and van Neerven, W. L.", title = "{NNLO corrections to the total cross section for Higgs boson production in hadron hadron collisions}", journal = "Nucl. Phys.", volume = "B665", year = "2003", pages = "325-366", eprint = "hep-ph/0302135", archivePrefix = "arXiv", doi = "10.1016/S0550-3213(03)00457-7", SLACcitation = "%%CITATION = HEP-PH/0302135;%%" } @Article{arXiv:0811.3458, author = "Anastasiou, Charalampos and Boughezal, Radja and Petriello, Frank", title = "{Mixed QCD-electroweak corrections to Higgs boson production in gluon fusion}", journal = "JHEP", volume = "04", year = "2009", pages = "003", eprint = "0811.3458", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1088/1126-6708/2009/04/003", SLACcitation = "%%CITATION = 0811.3458;%%" } @Article{Dawson:1990zj, author = "Dawson, S.", title = "{Radiative corrections to Higgs boson production}", journal = "Nucl. Phys.", volume = "B359", year = "1991", pages = "283-300", doi = "10.1016/0550-3213(91)90061-2", SLACcitation = "%%CITATION = NUPHA,B359,283;%%" } @Article{Djouadi:1991tka, author = "Djouadi, A. and Spira, M. and Zerwas, P. M.", title = "{Production of Higgs bosons in proton colliders: QCD corrections}", journal = "Phys. Lett.", volume = "B264", year = "1991", pages = "440-446", doi = "10.1016/0370-2693(91)90375-Z", SLACcitation = "%%CITATION = PHLTA,B264,440;%%" } @Article{hep-ph/9504378, author = "Spira, M. and Djouadi, A. and Graudenz, D. and Zerwas, P. M.", title = "{Higgs boson production at the LHC}", journal = "Nucl. Phys.", volume = "B453", year = "1995", pages = "17-82", eprint = "hep-ph/9504378", archivePrefix = "arXiv", doi = "10.1016/0550-3213(95)00379-7", SLACcitation = "%%CITATION = HEP-PH/9504378;%%" } @Article{hep-ph/0404071, author = "Aglietti, U. and Bonciani, R. and Degrassi, G. and Vicini, A.", title = "{Two-loop light fermion contribution to Higgs production and decays}", journal = "Phys. Lett.", volume = "B595", year = "2004", pages = "432-441", eprint = "hep-ph/0404071", archivePrefix = "arXiv", doi = "10.1016/j.physletb.2004.06.063", SLACcitation = "%%CITATION = HEP-PH/0404071;%%" } @Article{hep-ph/0407249, author = "Degrassi, Giuseppe and Maltoni, Fabio", title = "{Two-loop electroweak corrections to Higgs production at hadron colliders}", journal = "Phys. Lett.", volume = "B600", year = "2004", pages = "255-260", eprint = "hep-ph/0407249", archivePrefix = "arXiv", doi = "10.1016/j.physletb.2004.09.008", SLACcitation = "%%CITATION = HEP-PH/0407249;%%" } @Article{arXiv:0809.1301, author = "Actis, Stefano and Passarino, Giampiero and Sturm, Christian and Uccirati, Sandro", title = "{NLO Electroweak Corrections to Higgs Boson Production at Hadron Colliders}", journal = "Phys. Lett.", volume = "B670", year = "2008", pages = "12-17", eprint = "0809.1301", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1016/j.physletb.2008.10.018", SLACcitation = "%%CITATION = 0809.1301;%%" } @Article{arXiv:0809.3667, author = "Actis, Stefano and Passarino, Giampiero and Sturm, Christian and Uccirati, Sandro", title = "{NNLO Computational Techniques: the Cases $H \to \gamma \gamma$ and $H \to g g$}", journal = "Nucl. Phys.", volume = "B811", year = "2009", pages = "182-273", eprint = "0809.3667", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1016/j.nuclphysb.2008.11.024", SLACcitation = "%%CITATION = 0809.3667;%%" } @Article{hep-ph/0306211, author = "Catani, Stefano and de Florian, Daniel and Grazzini, Massimiliano and Nason, Paolo", title = "{Soft-gluon resummation for Higgs boson production at hadron colliders}", journal = "JHEP", volume = "07", year = "2003", pages = "028", eprint = "hep-ph/0306211", archivePrefix = "arXiv", SLACcitation = "%%CITATION = HEP-PH/0306211;%%" } @Article{arXiv:0901.2427, author = "de Florian, Daniel and Grazzini, Massimiliano", title = "{Higgs production through gluon fusion: updated cross sections at the Tevatron and the LHC}", journal = "Phys. Lett.", volume = "B674", year = "2009", pages = "291-294", eprint = "0901.2427", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1016/j.physletb.2009.03.033", SLACcitation = "%%CITATION = 0901.2427;%%" } @Article{hep-ph/0307206, author = "Brein, Oliver and Djouadi, Abdelhak and Harlander, Robert", title = "{NNLO QCD corrections to the Higgs-strahlung processes at hadron colliders}", journal = "Phys. Lett.", volume = "B579", year = "2004", pages = "149-156", eprint = "hep-ph/0307206", archivePrefix = "arXiv", doi = "10.1016/j.physletb.2003.10.112", SLACcitation = "%%CITATION = HEP-PH/0307206;%%" } @Article{hep-ph/0306234, author = "Ciccolini, M. L. and Dittmaier, S. and Kramer, M.", title = "{Electroweak radiative corrections to associated W H and Z H production at hadron colliders}", journal = "Phys. Rev.", volume = "D68", year = "2003", pages = "073003", eprint = "hep-ph/0306234", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.68.073003", SLACcitation = "%%CITATION = HEP-PH/0306234;%%" } @Article{hep-ph/0406152, author = "Assamagan, K. A. and others", collaboration = "Higgs Working Group", title = "{The Higgs working group: Summary report 2003}", year = "2004", eprint = "hep-ph/0406152", archivePrefix = "arXiv", SLACcitation = "%%CITATION = HEP-PH/0406152;%%" } @Article{hep-ph/0304035, author = "Harlander, Robert V. and Kilgore, William B.", title = "{Higgs boson production in bottom quark fusion at next-to- next-to-leading order}", journal = "Phys. Rev.", volume = "D68", year = "2003", pages = "013001", eprint = "hep-ph/0304035", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.68.013001", SLACcitation = "%%CITATION = HEP-PH/0304035;%%" } @Article{hep-ph/9206246, author = "Han, Tao and Valencia, G. and Willenbrock, S.", title = "{Structure function approach to vector boson scattering in p p collisions}", journal = "Phys. Rev. Lett.", volume = "69", year = "1992", pages = "3274-3277", eprint = "hep-ph/9206246", archivePrefix = "arXiv", doi = "10.1103/PhysRevLett.69.3274", SLACcitation = "%%CITATION = HEP-PH/9206246;%%" } @Article{hep-ph/9905386, author = "Campbell, John M. and Ellis, R. Keith", title = "{An update on vector boson pair production at hadron colliders}", journal = "Phys. Rev.", volume = "D60", year = "1999", pages = "113006", eprint = "hep-ph/9905386", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.60.113006", SLACcitation = "%%CITATION = HEP-PH/9905386;%%" } @Article{hep-ph/0306109, author = "Figy, T. and Oleari, C. and Zeppenfeld, D.", title = "{Next-to-leading order jet distributions for Higgs boson production via weak-boson fusion}", journal = "Phys. Rev.", volume = "D68", year = "2003", pages = "073005", eprint = "hep-ph/0306109", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.68.073005", SLACcitation = "%%CITATION = HEP-PH/0306109;%%" } @Article{hep-ph/0403194, author = "Berger, Edmond L. and Campbell, John M.", title = "{Higgs boson production in weak boson fusion at next-to- leading order}", journal = "Phys. Rev.", volume = "D70", year = "2004", pages = "073011", eprint = "hep-ph/0403194", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.70.073011", SLACcitation = "%%CITATION = HEP-PH/0403194;%%" } @Article{hep-ph/0612172, author = "Aglietti, U. and others", title = "{Tevatron for LHC report: Higgs}", year = "2006", eprint = "hep-ph/0612172", archivePrefix = "arXiv", SLACcitation = "%%CITATION = HEP-PH/0612172;%%" } @Article{hep-ph/0107081, author = "Beenakker, W. and others", title = "{Higgs radiation off top quarks at the Tevatron and the LHC}", journal = "Phys. Rev. Lett.", volume = "87", year = "2001", pages = "201805", eprint = "hep-ph/0107081", archivePrefix = "arXiv", doi = "10.1103/PhysRevLett.87.201805", SLACcitation = "%%CITATION = HEP-PH/0107081;%%" } @Article{hep-ph/0107101, author = "Reina, L. and Dawson, S.", title = "{Next-to-leading order results for t anti-t h production at the Tevatron}", journal = "Phys. Rev. Lett.", volume = "87", year = "2001", pages = "201804", eprint = "hep-ph/0107101", archivePrefix = "arXiv", doi = "10.1103/PhysRevLett.87.201804", SLACcitation = "%%CITATION = HEP-PH/0107101;%%" } @Article{hep-ph/0211438, author = "Dawson, S. and Orr, L. H. and Reina, L. and Wackeroth, D.", title = "{Associated top quark Higgs boson production at the LHC}", journal = "Phys. Rev.", volume = "D67", year = "2003", pages = "071503", eprint = "hep-ph/0211438", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.67.071503", SLACcitation = "%%CITATION = HEP-PH/0211438;%%" } @Article{hep-ph/0305321, author = "Brein, Oliver and Hollik, Wolfgang", title = "{MSSM Higgs bosons associated with high-p(T) jets at hadron colliders}", journal = "Phys. Rev.", volume = "D68", year = "2003", pages = "095006", eprint = "hep-ph/0305321", archivePrefix = "arXiv", doi = "10.1103/PhysRevD.68.095006", SLACcitation = "%%CITATION = HEP-PH/0305321;%%" } @Article{arXiv:0705.2744, author = "Brein, Oliver and Hollik, Wolfgang", title = "{Distributions for MSSM Higgs boson + jet production at hadron colliders}", journal = "Phys. Rev.", volume = "D76", year = "2007", pages = "035002", eprint = "0705.2744", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1103/PhysRevD.76.035002", SLACcitation = "%%CITATION = 0705.2744;%%" } @Article{arXiv:0707.0381, author = "Ciccolini, M. and Denner, Ansgar and Dittmaier, S.", title = "{Strong and electroweak corrections to the production of Higgs+2jets via weak interactions at the LHC}", journal = "Phys. Rev. Lett.", volume = "99", year = "2007", pages = "161803", eprint = "0707.0381", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1103/PhysRevLett.99.161803", SLACcitation = "%%CITATION = 0707.0381;%%" } @Article{arXiv:0710.4749, author = "Ciccolini, Mariano and Denner, Ansgar and Dittmaier, Stefan ", title = "{Electroweak and QCD corrections to Higgs production via vector-boson fusion at the LHC}", journal = "Phys. Rev.", volume = "D77", year = "2008", pages = "013002", eprint = "0710.4749", archivePrefix = "arXiv", primaryClass = "hep-ph", doi = "10.1103/PhysRevD.77.013002", SLACcitation = "%%CITATION = 0710.4749;%%" } @Article{arXiv:1101.0593, author = "Dittmaier, S. and others", collaboration = "LHC Higgs Cross Section Working Group", title = "{Handbook of LHC Higgs Cross Sections: 1. Inclusive Observables}", year = "2011", eprint = "1101.0593", archivePrefix = "arXiv", primaryClass = "hep-ph", SLACcitation = "%%CITATION = 1101.0593;%%" } @Article{arXiv:1201.3084, author = "Dittmaier, S. and others", title = "{Handbook of LHC Higgs Cross Sections: 2. Differential Distributions}", year = "2012", eprint = "1201.3084", archivePrefix = "arXiv", primaryClass = "hep-ph", SLACcitation = "%%CITATION = 1201.3084;%%" } @Article{arXiv:1307.1347, author = "The LHC Higgs Cross Section Working Group, and others", title = "{Handbook of LHC Higgs Cross Sections: 3. Higgs Properties}", year = "2013", eprint = "1307.1347", archivePrefix = "arXiv", primaryClass = "hep-ph", SLACcitation = "%%CITATION = 1307.1347;%%" } -@article{arXiv:1712.06386, - author = "Aaboud, M. and others", - title = "{Search for heavy ZZ resonances in the $\ell ^+\ell - ^-\ell ^+\ell ^-$ and $\ell ^+\ell ^-\nu \bar{\nu }$ final - states using proton–proton collisions at $\sqrt{s}= 13$ - $\text {TeV}$ with the ATLAS detector}", - collaboration = "ATLAS", - journal = "Eur. Phys. J.", - volume = "C78", - year = "2018", - number = "4", - pages = "293", - doi = "10.1140/epjc/s10052-018-5686-3", - eprint = "1712.06386", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - reportNumber = "CERN-EP-2017-251", - SLACcitation = "%%CITATION = ARXIV:1712.06386;%%" -} - -@article{arXiv:1710.01123, - author = "Aaboud, Morad and others", - title = "{Search for heavy resonances decaying into $WW$ in the - $e\nu\mu\nu$ final state in $pp$ collisions at - $\sqrt{s}=13$ TeV with the ATLAS detector}", - collaboration = "ATLAS", - journal = "Eur. Phys. J.", - volume = "C78", - year = "2018", - number = "1", - pages = "24", - doi = "10.1140/epjc/s10052-017-5491-4", - eprint = "1710.01123", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - reportNumber = "CERN-EP-2017-214", - SLACcitation = "%%CITATION = ARXIV:1710.01123;%%" -} - -@article{arXiv:1701.02032, - author = "Khachatryan, V. and others", - title = "{Search for light bosons in decays of the 125 GeV Higgs - boson in proton-proton collisions at $ \sqrt{s}=8 $ TeV}", - collaboration = "CMS", - journal = "JHEP", - volume = "10", - year = "2017", - pages = "076", - doi = "10.1007/JHEP10(2017)076", - eprint = "1701.02032", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - reportNumber = "CMS-HIG-16-015, CERN-EP-2016-292", - SLACcitation = "%%CITATION = ARXIV:1701.02032;%%" -} - -@article{arXiv:1709.07242, - author = "Aaboud, Morad and others", - title = "{Search for additional heavy neutral Higgs and gauge - bosons in the ditau final state produced in 36 fb$^{−1}$ - of pp collisions at $ \sqrt{s}=13 $ TeV with the ATLAS - detector}", - collaboration = "ATLAS", - journal = "JHEP", - volume = "01", - year = "2018", - pages = "055", - doi = "10.1007/JHEP01(2018)055", - eprint = "1709.07242", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - reportNumber = "CERN-EP-2017-199", - SLACcitation = "%%CITATION = ARXIV:1709.07242;%%" -} - -@article{arXiv:1807.07915, - author = "Aaboud, Morad and others", - title = "{Search for charged Higgs bosons decaying via $H^{\pm} - \to \tau^{\pm}\nu_{\tau}$ in the $\tau$+jets and - $\tau$+lepton final states with 36 fb$^{-1}$ of $pp$ - collision data recorded at $\sqrt{s} = 13$ TeV with the - ATLAS experiment}", - collaboration = "ATLAS", - journal = "Submitted to: JHEP", - year = "2018", - eprint = "1807.07915", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - reportNumber = "CERN-EP-2018-148", - SLACcitation = "%%CITATION = ARXIV:1807.07915;%%" -} - -@article{arXiv:1610.07922, - author = "de Florian, D. and others", - title = "{Handbook of LHC Higgs Cross Sections: 4. Deciphering the - Nature of the Higgs Sector}", - collaboration = "LHC Higgs Cross Section Working Group", - doi = "10.23731/CYRM-2017-002", - year = "2016", - eprint = "1610.07922", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - reportNumber = "FERMILAB-FN-1025-T, CERN-2017-002-M", - SLACcitation = "%%CITATION = ARXIV:1610.07922;%%" -} \ No newline at end of file +% No SPIRES record found for cite request arXiv:1610.07922 \ No newline at end of file Index: trunk/HiggsBounds-5/minipaper.bbl =================================================================== --- trunk/HiggsBounds-5/minipaper.bbl (revision 593) +++ trunk/HiggsBounds-5/minipaper.bbl (revision 594) @@ -1,615 +1,585 @@ \begin{thebibliography}{100}\raggedright \bibitem{arXiv:0811.4169} P. Bechtle et~al., \newblock Comput. Phys. Commun. 181 (2010) 138, {{\tt arXiv:0811.4169}}. %%CITATION = 0811.4169;%% \bibitem{arXiv:1102.1898} P. Bechtle et~al., \newblock Comput. Phys. Commun. 182 (2011) 2605, {{\tt arXiv:1102.1898}}. %%CITATION = 1102.1898;%% \bibitem{arXiv:1301.2345} P. Bechtle et~al., \newblock PoS CHARGED2012 (2012) 024, {{\tt arXiv:1301.2345}}. %%CITATION = 1301.2345;%% \bibitem{arXiv:1311.0055} P. Bechtle et~al., \newblock Eur. Phys. J. C74 (2014) 2693, {{\tt arXiv:1311.0055}}. %%CITATION = 1311.0055;%% \bibitem{arXiv:1507.06706} P. Bechtle et~al., \newblock (2015), {{\tt arXiv:1507.06706}}. %%CITATION = 1507.06706;%% -\bibitem{arxiv:1112.2577} -ATLAS, G. Aad, -\newblock Phys. Rev. Lett. 108 (2012) 111802, {{\tt arXiv:1112.2577}}. -%%CITATION = 1112.2577;%% - -\bibitem{arXiv:0806.0611} -D0, V.M. Abazov et~al., -\newblock Phys. Lett. B671 (2009) 349, {{\tt arXiv:0806.0611}}. -%%CITATION = 0806.0611;%% - -\bibitem{arXiv:1207.0449} -Tevatron New Physics Higgs Working Group, C. Group, D. Collaborations and . the - Tevatron New Physics~an, -\newblock (2012), {{\tt arXiv:1207.0449}}. -%%CITATION = 1207.0449;%% - -\bibitem{arXiv:0809.3930} -CDF, T. Aaltonen et~al., -\newblock Phys. Rev. Lett. 102 (2009) 021802, {{\tt arXiv:0809.3930}}. -%%CITATION = 0809.3930;%% +\bibitem{arXiv:1406.7663} +ATLAS, . , +\newblock Physics Letters B738 (2014) 68, {{\tt arXiv:1406.7663}}. +%%CITATION = 1406.7663;%% -\bibitem{arXiv:0901.1887} +\bibitem{arXiv:1106.4885} D0, V.M. Abazov et~al., -\newblock Phys. Rev. Lett. 102 (2009) 231801, {{\tt arXiv:0901.1887}}. -%%CITATION = 0901.1887;%% +\newblock Phys. Rev. Lett. 107 (2011) 121801, {{\tt arXiv:1106.4885}}. +%%CITATION = 1106.4885;%% -\bibitem{arXiv:1603.06896} +\bibitem{arXiv:1603.02991} CMS, . , -\newblock (2016), {{\tt arXiv:1603.06896}}. -%%CITATION = 1603.06896;%% - -\bibitem{arXiv:1108.3331} -CDF, D. Benjamin et~al., -\newblock (2011), {{\tt arXiv:1108.3331}}. -%%CITATION = 1108.3331;%% - -\bibitem{arXiv:1109.3357} -ATLAS, . and others, -\newblock Phys. Rev. Lett. 107 (2011) 221802, {{\tt arXiv:1109.3357}}. -%%CITATION = 1109.3357;%% - -\bibitem{arxiv:1202.1408} -ATLAS, G. Aad, -\newblock Phys. Lett. B710 (2012) 49, {{\tt arXiv:1202.1408}}. -%%CITATION = 1202.1408;%% +\newblock Phys. Lett. B759 (2016) 369, {{\tt arXiv:1603.02991}}. +%%CITATION = 1603.02991;%% -\bibitem{arXiv:1712.06386} -ATLAS, M. Aaboud et~al., -\newblock Eur. Phys. J. C78 (2018) 293, {{\tt arXiv:1712.06386}}. -%%CITATION = ARXIV:1712.06386;%% +\bibitem{arXiv:1107.1268} +D0, V.M. Abazov et~al., +\newblock Phys. Rev. D84 (2011) 092002, {{\tt arXiv:1107.1268}}. +%%CITATION = 1107.1268;%% -\bibitem{arXiv:1003.3363} -Tevatron New Phenomena and Higgs Working Group, D. Benjamin et~al., -\newblock (2010), {{\tt arXiv:1003.3363}}. -%%CITATION = 1003.3363;%% +\bibitem{arXiv:1001.4468} +CDF, T. Aaltonen et~al., +\newblock Phys. Rev. Lett. 104 (2010) 061803, {{\tt arXiv:1001.4468}}. +%%CITATION = 1001.4468;%% -\bibitem{arXiv:1012.0874} -D0, V.M. Abazov et~al., -\newblock Phys. Lett. B698 (2011) 6, {{\tt arXiv:1012.0874}}. -%%CITATION = 1012.0874;%% +\bibitem{arXiv:1503.04233} +ATLAS, . , +\newblock (2015), {{\tt arXiv:1503.04233}}. +%%CITATION = 1503.04233;%% -\bibitem{arxiv:1202.3478} -CMS, S. Chatrchyan, -\newblock JHEP 03 (2012) 040, {{\tt arXiv:1202.3478}}. -%%CITATION = 1202.3478;%% +\bibitem{arXiv:1509.00389} +ATLAS, . , +\newblock JHEP01 (2016) 032, {{\tt arXiv:1509.00389}}. +%%CITATION = 1509.00389;%% -\bibitem{arXiv:1504.00936} +\bibitem{arXiv:1504.04710} CMS, . , -\newblock (2015), {{\tt arXiv:1504.00936}}. -%%CITATION = 1504.00936;%% +\newblock Phys. Lett. B748 (2015) 221, {{\tt arXiv:1504.04710}}. +%%CITATION = 1504.04710;%% -\bibitem{arXiv:1502.04478} -ATLAS, . , -\newblock Physics Letters B744 (2015) 163, {{\tt arXiv:1502.04478}}. -%%CITATION = 1502.04478;%% +\bibitem{hep-ex/0107031} +LEP Higgs Working Group for Higgs boson searches, +\newblock (2001), {{\tt hep-ex/0107031}}. +%%CITATION = HEP-EX/0107031;%% -\bibitem{arXiv:1509.05051} -ATLAS, . , -\newblock (2015), {{\tt arXiv:1509.05051}}. -%%CITATION = 1509.05051;%% +\bibitem{hep-ex/0410017} +DELPHI, J. Abdallah et~al., +\newblock Eur. Phys. J. C38 (2004) 1, {{\tt hep-ex/0410017}}. +%%CITATION = HEP-EX/0410017;%% \bibitem{arXiv:1507.05930} ATLAS, . , \newblock Eur. Phys. J. C76 (2016) 45, {{\tt arXiv:1507.05930}}. %%CITATION = 1507.05930;%% -\bibitem{arXiv:1011.1931} -D0, V.M. Abazov et~al., -\newblock Phys. Lett. B698 (2011) 97, {{\tt arXiv:1011.1931}}. -%%CITATION = 1011.1931;%% +\bibitem{arXiv:1407.6583} +ATLAS, . , +\newblock (2014), {{\tt arXiv:1407.6583}}. +%%CITATION = 1407.6583;%% -\bibitem{arXiv:1506.00424} +\bibitem{arXiv:1504.00936} CMS, . , -\newblock Phys. Lett. B752 (2016) 146, {{\tt arXiv:1506.00424}}. -%%CITATION = 1506.00424;%% +\newblock (2015), {{\tt arXiv:1504.00936}}. +%%CITATION = 1504.00936;%% -\bibitem{arXiv:1503.04233} +\bibitem{arXiv:1406.5053} ATLAS, . , -\newblock (2015), {{\tt arXiv:1503.04233}}. -%%CITATION = 1503.04233;%% +\newblock (2014), {{\tt arXiv:1406.5053}}. +%%CITATION = 1406.5053;%% \bibitem{arXiv:1008.3564} D0, V.M. Abazov et~al., \newblock Phys. Rev. Lett. 105 (2010) 251801, {{\tt arXiv:1008.3564}}. %%CITATION = 1008.3564;%% -\bibitem{hep-ex/0404012} +\bibitem{hep-ex/0401022} DELPHI, J. Abdallah et~al., -\newblock Eur. Phys. J. C34 (2004) 399, {{\tt hep-ex/0404012}}. -%%CITATION = HEP-EX/0404012;%% - -\bibitem{arXiv:1108.5064} -ATLAS, G. Aad, -\newblock Phys. Lett. B707 (2012) 27, {{\tt arXiv:1108.5064}}. -%%CITATION = 1108.5064;%% - -\bibitem{arXiv:1710.01123} -ATLAS, M. Aaboud et~al., -\newblock Eur. Phys. J. C78 (2018) 24, {{\tt arXiv:1710.01123}}. -%%CITATION = ARXIV:1710.01123;%% - -\bibitem{arXiv:1509.00389} -ATLAS, . , -\newblock JHEP01 (2016) 032, {{\tt arXiv:1509.00389}}. -%%CITATION = 1509.00389;%% - -\bibitem{arXiv:1202.1416} -CMS, S. Chatrchyan, -\newblock JHEP 04 (2012) 036, {{\tt arXiv:1202.1416}}. -%%CITATION = 1202.1416;%% - -\bibitem{hep-ex/0501033} -L3, P. Achard et~al., -\newblock Phys. Lett. B609 (2005) 35, {{\tt hep-ex/0501033}}. -%%CITATION = HEP-EX/0501033;%% - -\bibitem{arXiv:1701.02032} -CMS, V. Khachatryan et~al., -\newblock JHEP 10 (2017) 076, {{\tt arXiv:1701.02032}}. -%%CITATION = ARXIV:1701.02032;%% +\newblock Eur. Phys. J. C32 (2004) 475, {{\tt hep-ex/0401022}}. +%%CITATION = HEP-EX/0401022;%% -\bibitem{arXiv:1506.08329} +\bibitem{arXiv:1506.02301} CMS, . , -\newblock JHEP11 (2015) 071, {{\tt arXiv:1506.08329}}. -%%CITATION = 1506.08329;%% +\newblock Phys. Lett. B750 (2015) 494, {{\tt arXiv:1506.02301}}. +%%CITATION = 1506.02301;%% -\bibitem{arXiv:0905.3381} -D0, V.M. Abazov et~al., -\newblock Phys. Rev. Lett. 103 (2009) 061801, {{\tt arXiv:0905.3381}}. -%%CITATION = 0905.3381;%% +\bibitem{arXiv:1202.1415} +ATLAS, G. Aad et~al., +\newblock Phys. Lett. B710 (2012) 383, {{\tt arXiv:1202.1415}}. +%%CITATION = 1202.1415;%% \bibitem{arXiv:1001.4481} D0, V.M. Abazov et~al., \newblock Phys. Rev. Lett. 104 (2010) 061804, {{\tt arXiv:1001.4481}}. %%CITATION = 1001.4481;%% -\bibitem{arXiv:1709.07242} -ATLAS, M. Aaboud et~al., -\newblock JHEP 01 (2018) 055, {{\tt arXiv:1709.07242}}. -%%CITATION = ARXIV:1709.07242;%% +\bibitem{arXiv:1107.4960} +TEVNPH Working Group, . and others, +\newblock (2011), {{\tt arXiv:1107.4960}}. +%%CITATION = 1107.4960;%% \bibitem{arXiv:1402.3244} ATLAS, . , \newblock (2014), {{\tt arXiv:1402.3244}}. %%CITATION = 1402.3244;%% -\bibitem{arXiv:1409.6064} +\bibitem{arxiv:1112.2577} +ATLAS, G. Aad, +\newblock Phys. Rev. Lett. 108 (2012) 111802, {{\tt arXiv:1112.2577}}. +%%CITATION = 1112.2577;%% + +\bibitem{arXiv:1301.6065} +ALEPH, G. Abbiendi et~al., +\newblock (2013), {{\tt arXiv:1301.6065}}. +%%CITATION = 1301.6065;%% + +\bibitem{arXiv:0906.1014} +CDF, T. Aaltonen et~al., +\newblock Phys. Rev. Lett. 103 (2009) 201801, {{\tt arXiv:0906.1014}}. +%%CITATION = 0906.1014;%% + +\bibitem{arXiv:1503.04114} +CMS, . , +\newblock Phys. Lett. B749 (2015) 560, {{\tt arXiv:1503.04114}}. +%%CITATION = 1503.04114;%% + +\bibitem{arXiv:1509.05051} ATLAS, . , -\newblock (2014), {{\tt arXiv:1409.6064}}. -%%CITATION = 1409.6064;%% +\newblock (2015), {{\tt arXiv:1509.05051}}. +%%CITATION = 1509.05051;%% + +\bibitem{arxiv:1202.1997} +CMS, S. Chatrchyan, +\newblock Phys. Rev. Lett. 108 (2012) 111804, {{\tt arXiv:1202.1997}}. +%%CITATION = 1202.1997;%% + +\bibitem{hep-ex/0111010} +OPAL, G. Abbiendi et~al., +\newblock Eur. Phys. J. C23 (2002) 397, {{\tt hep-ex/0111010}}. +%%CITATION = HEP-EX/0111010;%% + +\bibitem{hep-ex/0602042} +ALEPH, S. Schael et~al., +\newblock Eur. Phys. J. C47 (2006) 547, {{\tt hep-ex/0602042}}. +%%CITATION = HEP-EX/0602042;%% + +\bibitem{arXiv:1011.1931} +D0, V.M. Abazov et~al., +\newblock Phys. Lett. B698 (2011) 97, {{\tt arXiv:1011.1931}}. +%%CITATION = 1011.1931;%% \bibitem{arXiv:1509.04670} ATLAS, . , \newblock (2015), {{\tt arXiv:1509.04670}}. %%CITATION = 1509.04670;%% -\bibitem{arXiv:0908.1811} -D0, V.M. Abazov et~al., -\newblock Phys. Lett. B682 (2009) 278, {{\tt arXiv:0908.1811}}. -%%CITATION = 0908.1811;%% - -\bibitem{hep-ex/0410017} -DELPHI, J. Abdallah et~al., -\newblock Eur. Phys. J. C38 (2004) 1, {{\tt hep-ex/0410017}}. -%%CITATION = HEP-EX/0410017;%% - \bibitem{arXiv:1202.1414} ATLAS, G. Aad, \newblock Phys. Rev. Lett. 108 (2012) 111803, {{\tt arXiv:1202.1414}}. %%CITATION = 1202.1414;%% -\bibitem{arXiv:1001.4468} -CDF, T. Aaltonen et~al., -\newblock Phys. Rev. Lett. 104 (2010) 061803, {{\tt arXiv:1001.4468}}. -%%CITATION = 1001.4468;%% +\bibitem{arXiv:1109.3357} +ATLAS, . and others, +\newblock Phys. Rev. Lett. 107 (2011) 221802, {{\tt arXiv:1109.3357}}. +%%CITATION = 1109.3357;%% -\bibitem{arXiv:1204.2760} -ATLAS, G. Aad, -\newblock JHEP 06 (2012) 039, {{\tt arXiv:1204.2760}}. -%%CITATION = 1204.2760;%% +\bibitem{arXiv:0812.0267} +OPAL, G. Abbiendi et~al., +\newblock Eur. Phys. J. C72 (2012) 2076, {{\tt arXiv:0812.0267}}. +%%CITATION = 0812.0267;%% + +\bibitem{arXiv:0806.0611} +D0, V.M. Abazov et~al., +\newblock Phys. Lett. B671 (2009) 349, {{\tt arXiv:0806.0611}}. +%%CITATION = 0806.0611;%% + +\bibitem{arXiv:1510.01181} +CMS, . , +\newblock Phys. Lett. B755 (2016) 217, {{\tt arXiv:1510.01181}}. +%%CITATION = 1510.01181;%% + +\bibitem{arXiv:1307.5515} +CMS, . , +\newblock Phys. Lett. B726 (2013) 587, {{\tt arXiv:1307.5515}}. +%%CITATION = 1307.5515;%% + +\bibitem{hep-ex/0206022} +OPAL, G. Abbiendi et~al., +\newblock Eur. Phys. J. C27 (2003) 311, {{\tt hep-ex/0206022}}. +%%CITATION = HEP-EX/0206022;%% + +\bibitem{arXiv:1108.3331} +CDF, D. Benjamin et~al., +\newblock (2011), {{\tt arXiv:1108.3331}}. +%%CITATION = 1108.3331;%% + +\bibitem{arXiv:0707.0373} +OPAL, G. Abbiendi et~al., +\newblock Phys. Lett. B682 (2010) 381, {{\tt arXiv:0707.0373}}. +%%CITATION = 0707.0373;%% \bibitem{arXiv:0906.5613} CDF, T. Aaltonen et~al., \newblock Phys. Rev. Lett. 103 (2009) 101802, {{\tt arXiv:0906.5613}}. %%CITATION = 0906.5613;%% +\bibitem{arXiv:1506.00424} +CMS, . , +\newblock Phys. Lett. B752 (2016) 146, {{\tt arXiv:1506.00424}}. +%%CITATION = 1506.00424;%% + +\bibitem{arXiv:1409.6064} +ATLAS, . , +\newblock (2014), {{\tt arXiv:1409.6064}}. +%%CITATION = 1409.6064;%% + +\bibitem{arXiv:1207.0449} +Tevatron New Physics Higgs Working Group, C. Group, D. Collaborations and . the + Tevatron New Physics~an, +\newblock (2012), {{\tt arXiv:1207.0449}}. +%%CITATION = 1207.0449;%% + \bibitem{arXiv:1207.7214} ATLAS, \newblock Phys. Lett. B716 (2012) 1, {{\tt arXiv:1207.7214}}. %%CITATION = 1207.7214;%% -\bibitem{arXiv:0812.0267} -OPAL, G. Abbiendi et~al., -\newblock Eur. Phys. J. C72 (2012) 2076, {{\tt arXiv:0812.0267}}. -%%CITATION = 0812.0267;%% +\bibitem{hep-ex/0501033} +L3, P. Achard et~al., +\newblock Phys. Lett. B609 (2005) 35, {{\tt hep-ex/0501033}}. +%%CITATION = HEP-EX/0501033;%% -\bibitem{arXiv:1207.6436} +\bibitem{arXiv:0907.1269} CDF, T. Aaltonen et~al., -\newblock Phys. Rev. Lett. 109 (2012) 071804, {{\tt arXiv:1207.6436}}. -%%CITATION = 1207.6436;%% +\newblock Phys. Rev. Lett. 103 (2009) 101803, {{\tt arXiv:0907.1269}}. +%%CITATION = 0907.1269;%% -\bibitem{arXiv:0707.0373} -OPAL, G. Abbiendi et~al., -\newblock Phys. Lett. B682 (2010) 381, {{\tt arXiv:0707.0373}}. -%%CITATION = 0707.0373;%% +\bibitem{arxiv:1202.3478} +CMS, S. Chatrchyan, +\newblock JHEP 03 (2012) 040, {{\tt arXiv:1202.3478}}. +%%CITATION = 1202.3478;%% -\bibitem{arXiv:1603.02991} +\bibitem{arXiv:1506.08329} CMS, . , -\newblock Phys. Lett. B759 (2016) 369, {{\tt arXiv:1603.02991}}. -%%CITATION = 1603.02991;%% +\newblock JHEP11 (2015) 071, {{\tt arXiv:1506.08329}}. +%%CITATION = 1506.08329;%% + +\bibitem{arXiv:1502.04478} +ATLAS, . , +\newblock Physics Letters B744 (2015) 163, {{\tt arXiv:1502.04478}}. +%%CITATION = 1502.04478;%% \bibitem{arXiv:1402.3051} ATLAS, . , \newblock Phys. Lett. B732 (2014) 8, {{\tt arXiv:1402.3051}}. %%CITATION = 1402.3051;%% -\bibitem{hep-ex/0107032} -LEP Higgs Working for Higgs boson searches, -\newblock (2001), {{\tt hep-ex/0107032}}. -%%CITATION = HEP-EX/0107032;%% - -\bibitem{hep-ex/0602042} -ALEPH, S. Schael et~al., -\newblock Eur. Phys. J. C47 (2006) 547, {{\tt hep-ex/0602042}}. -%%CITATION = HEP-EX/0602042;%% - -\bibitem{hep-ex/0111010} -OPAL, G. Abbiendi et~al., -\newblock Eur. Phys. J. C23 (2002) 397, {{\tt hep-ex/0111010}}. -%%CITATION = HEP-EX/0111010;%% +\bibitem{arXiv:1603.06896} +CMS, . , +\newblock (2016), {{\tt arXiv:1603.06896}}. +%%CITATION = 1603.06896;%% \bibitem{arXiv:1106.4555} D0, V.M. Abazov et~al., \newblock Phys. Lett. B707 (2012) 323, {{\tt arXiv:1106.4555}}. %%CITATION = 1106.4555;%% -\bibitem{arXiv:1503.04114} -CMS, . , -\newblock Phys. Lett. B749 (2015) 560, {{\tt arXiv:1503.04114}}. -%%CITATION = 1503.04114;%% +\bibitem{arXiv:1204.2760} +ATLAS, G. Aad, +\newblock JHEP 06 (2012) 039, {{\tt arXiv:1204.2760}}. +%%CITATION = 1204.2760;%% -\bibitem{hep-ex/0107031} +\bibitem{hep-ex/0107034} LEP Higgs Working Group for Higgs boson searches, -\newblock (2001), {{\tt hep-ex/0107031}}. -%%CITATION = HEP-EX/0107031;%% +\newblock (2001), {{\tt hep-ex/0107034}}. +%%CITATION = HEP-EX/0107034;%% -\bibitem{arXiv:1407.6583} -ATLAS, . , -\newblock (2014), {{\tt arXiv:1407.6583}}. -%%CITATION = 1407.6583;%% +\bibitem{arxiv:1202.1488} +CMS, S. Chatrchyan, +\newblock Phys. Lett. B710 (2012) 26, {{\tt arXiv:1202.1488}}. +%%CITATION = 1202.1488;%% -\bibitem{arXiv:1404.1344} -CMS, . , -\newblock Eur. Phys. J. C74 (2014) 2980, {{\tt arXiv:1404.1344}}. -%%CITATION = 1404.1344;%% +\bibitem{arXiv:0809.3930} +CDF, T. Aaltonen et~al., +\newblock Phys. Rev. Lett. 102 (2009) 021802, {{\tt arXiv:0809.3930}}. +%%CITATION = 0809.3930;%% -\bibitem{hep-ex/0401022} -DELPHI, J. Abdallah et~al., -\newblock Eur. Phys. J. C32 (2004) 475, {{\tt hep-ex/0401022}}. -%%CITATION = HEP-EX/0401022;%% +\bibitem{arXiv:0901.1887} +D0, V.M. Abazov et~al., +\newblock Phys. Rev. Lett. 102 (2009) 231801, {{\tt arXiv:0901.1887}}. +%%CITATION = 0901.1887;%% -\bibitem{arXiv:1510.06534} -CMS, . , -\newblock JHEP01 (2016) 079, {{\tt arXiv:1510.06534}}. -%%CITATION = 1510.06534;%% +\bibitem{hep-ex/0404012} +DELPHI, J. Abdallah et~al., +\newblock Eur. Phys. J. C34 (2004) 399, {{\tt hep-ex/0404012}}. +%%CITATION = HEP-EX/0404012;%% -\bibitem{arXiv:1301.6065} -ALEPH, G. Abbiendi et~al., -\newblock (2013), {{\tt arXiv:1301.6065}}. -%%CITATION = 1301.6065;%% +\bibitem{hep-ex/0107032} +LEP Higgs Working for Higgs boson searches, +\newblock (2001), {{\tt hep-ex/0107032}}. +%%CITATION = HEP-EX/0107032;%% -\bibitem{arXiv:1406.7663} -ATLAS, . , -\newblock Physics Letters B738 (2014) 68, {{\tt arXiv:1406.7663}}. -%%CITATION = 1406.7663;%% +\bibitem{arXiv:0905.3381} +D0, V.M. Abazov et~al., +\newblock Phys. Rev. Lett. 103 (2009) 061801, {{\tt arXiv:0905.3381}}. +%%CITATION = 0905.3381;%% -\bibitem{arXiv:1807.07915} -ATLAS, M. Aaboud et~al., -\newblock Submitted to: JHEP (2018), {{\tt arXiv:1807.07915}}. -%%CITATION = ARXIV:1807.07915;%% +\bibitem{arXiv:1108.5064} +ATLAS, G. Aad, +\newblock Phys. Lett. B707 (2012) 27, {{\tt arXiv:1108.5064}}. +%%CITATION = 1108.5064;%% -\bibitem{arXiv:1106.4885} -D0, V.M. Abazov et~al., -\newblock Phys. Rev. Lett. 107 (2011) 121801, {{\tt arXiv:1106.4885}}. -%%CITATION = 1106.4885;%% +\bibitem{arXiv:1207.6436} +CDF, T. Aaltonen et~al., +\newblock Phys. Rev. Lett. 109 (2012) 071804, {{\tt arXiv:1207.6436}}. +%%CITATION = 1207.6436;%% -\bibitem{arXiv:1504.04710} +\bibitem{arXiv:1404.1344} CMS, . , -\newblock Phys. Lett. B748 (2015) 221, {{\tt arXiv:1504.04710}}. -%%CITATION = 1504.04710;%% +\newblock Eur. Phys. J. C74 (2014) 2980, {{\tt arXiv:1404.1344}}. +%%CITATION = 1404.1344;%% -\bibitem{arXiv:1202.1415} -ATLAS, G. Aad et~al., -\newblock Phys. Lett. B710 (2012) 383, {{\tt arXiv:1202.1415}}. -%%CITATION = 1202.1415;%% +\bibitem{arXiv:1012.0874} +D0, V.M. Abazov et~al., +\newblock Phys. Lett. B698 (2011) 6, {{\tt arXiv:1012.0874}}. +%%CITATION = 1012.0874;%% -\bibitem{hep-ex/0107034} -LEP Higgs Working Group for Higgs boson searches, -\newblock (2001), {{\tt hep-ex/0107034}}. -%%CITATION = HEP-EX/0107034;%% +\bibitem{arxiv:1202.1408} +ATLAS, G. Aad, +\newblock Phys. Lett. B710 (2012) 49, {{\tt arXiv:1202.1408}}. +%%CITATION = 1202.1408;%% -\bibitem{arXiv:1406.5053} -ATLAS, . , -\newblock (2014), {{\tt arXiv:1406.5053}}. -%%CITATION = 1406.5053;%% +\bibitem{arXiv:1003.3363} +Tevatron New Phenomena and Higgs Working Group, D. Benjamin et~al., +\newblock (2010), {{\tt arXiv:1003.3363}}. +%%CITATION = 1003.3363;%% \bibitem{arXiv:1106.4782} CDF, T. Aaltonen et~al., \newblock Phys. Rev. D85 (2012) 032005, {{\tt arXiv:1106.4782}}. %%CITATION = 1106.4782;%% -\bibitem{arXiv:1510.01181} +\bibitem{arXiv:1510.06534} CMS, . , -\newblock Phys. Lett. B755 (2016) 217, {{\tt arXiv:1510.01181}}. -%%CITATION = 1510.01181;%% +\newblock JHEP01 (2016) 079, {{\tt arXiv:1510.06534}}. +%%CITATION = 1510.06534;%% -\bibitem{arXiv:1107.1268} +\bibitem{arXiv:0908.1811} D0, V.M. Abazov et~al., -\newblock Phys. Rev. D84 (2011) 092002, {{\tt arXiv:1107.1268}}. -%%CITATION = 1107.1268;%% - -\bibitem{arxiv:1202.1997} -CMS, S. Chatrchyan, -\newblock Phys. Rev. Lett. 108 (2012) 111804, {{\tt arXiv:1202.1997}}. -%%CITATION = 1202.1997;%% - -\bibitem{arXiv:1107.4960} -TEVNPH Working Group, . and others, -\newblock (2011), {{\tt arXiv:1107.4960}}. -%%CITATION = 1107.4960;%% - -\bibitem{arXiv:1307.5515} -CMS, . , -\newblock Phys. Lett. B726 (2013) 587, {{\tt arXiv:1307.5515}}. -%%CITATION = 1307.5515;%% - -\bibitem{hep-ex/0206022} -OPAL, G. Abbiendi et~al., -\newblock Eur. Phys. J. C27 (2003) 311, {{\tt hep-ex/0206022}}. -%%CITATION = HEP-EX/0206022;%% - -\bibitem{arXiv:0906.1014} -CDF, T. Aaltonen et~al., -\newblock Phys. Rev. Lett. 103 (2009) 201801, {{\tt arXiv:0906.1014}}. -%%CITATION = 0906.1014;%% - -\bibitem{arXiv:0907.1269} -CDF, T. Aaltonen et~al., -\newblock Phys. Rev. Lett. 103 (2009) 101803, {{\tt arXiv:0907.1269}}. -%%CITATION = 0907.1269;%% +\newblock Phys. Lett. B682 (2009) 278, {{\tt arXiv:0908.1811}}. +%%CITATION = 0908.1811;%% -\bibitem{arxiv:1202.1488} +\bibitem{arXiv:1202.1416} CMS, S. Chatrchyan, -\newblock Phys. Lett. B710 (2012) 26, {{\tt arXiv:1202.1488}}. -%%CITATION = 1202.1488;%% - -\bibitem{arXiv:1506.02301} -CMS, . , -\newblock Phys. Lett. B750 (2015) 494, {{\tt arXiv:1506.02301}}. -%%CITATION = 1506.02301;%% +\newblock JHEP 04 (2012) 036, {{\tt arXiv:1202.1416}}. +%%CITATION = 1202.1416;%% \bibitem{CDFnotes} CDF, -\newblock CDF Notes 10500 10799 10573 8353 9999 10796 7307 10574 10485 7712 - 10010 10439 10599 10798. +\newblock CDF Notes 9999 10574 7307 7712 10485 10010 10798 10799 10573 10439 + 10500 8353 10599 10796. \bibitem{D0notes} D0, -\newblock D0 Notes 6304 6305 6296 5873 6302 5739 6299 6227 6083 6295 6276 5845 - 6301 6183 6171 6286 6309 5757. +\newblock D0 Notes 5845 6304 6276 6286 6305 6083 5873 5739 6227 6296 6299 6183 + 6301 6295 6309 6171 5757 6302. \bibitem{CMSnotes} CMS, \newblock CMS Physics Analysis Summaries. \bibitem{ATLASnotes} ATLAS, -\newblock ATLAS CONF Notes 2012-160 2016-062 2016-089 2016-049 2012-135 - 2013-013 2012-161 2016-004 2016-059 2014-049 2016-074 2014-050 2012-092 - 2012-078 2016-088 2012-016 2012-019 2016-044 2016-071 2012-168 2011-094 - 2013-010 2016-055 2011-157 2016-056 2012-012 2013-030 2016-015 2016-079 - 2012-017 2016-082. +\newblock ATLAS CONF Notes 2016-079 2012-135 2012-017 2013-030 2016-044 + 2011-094 2016-049 2016-056 2013-010 2016-074 2012-078 2014-049 2014-050 + 2012-012 2013-013 2016-004 2016-055 2016-015 2012-161 2016-071 2016-088 + 2011-157 2012-160 2012-019 2012-016 2018-025 2016-082 2012-092 2012-168 + 2016-062. \bibitem{LHWGnotes} LHWG, \newblock LHWG Notes 2002-02. \bibitem{hep-ph/9704448} A. Djouadi, J. Kalinowski and M. Spira, \newblock Comput. Phys. Commun. 108 (1998) 56, {{\tt hep-ph/9704448}}. %%CITATION = HEP-PH/9704448;%% \bibitem{hep-ph/0102227} S. Catani, D. de~Florian and M. Grazzini, \newblock JHEP 05 (2001) 025, {{\tt hep-ph/0102227}}. %%CITATION = HEP-PH/0102227;%% \bibitem{hep-ph/0102241} R.V. Harlander and W.B. Kilgore, \newblock Phys. Rev. D64 (2001) 013015, {{\tt hep-ph/0102241}}. %%CITATION = HEP-PH/0102241;%% \bibitem{hep-ph/0201206} R.V. Harlander and W.B. Kilgore, \newblock Phys. Rev. Lett. 88 (2002) 201801, {{\tt hep-ph/0201206}}. %%CITATION = HEP-PH/0201206;%% \bibitem{hep-ph/0207004} C. Anastasiou and K. Melnikov, \newblock Nucl. Phys. B646 (2002) 220, {{\tt hep-ph/0207004}}. %%CITATION = HEP-PH/0207004;%% \bibitem{hep-ph/0302135} V. Ravindran, J. Smith and W.L. van Neerven, \newblock Nucl. Phys. B665 (2003) 325, {{\tt hep-ph/0302135}}. %%CITATION = HEP-PH/0302135;%% \bibitem{arXiv:0811.3458} C. Anastasiou, R. Boughezal and F. Petriello, \newblock JHEP 04 (2009) 003, {{\tt arXiv:0811.3458}}. %%CITATION = 0811.3458;%% \bibitem{Dawson:1990zj} S. Dawson, \newblock Nucl. Phys. B359 (1991) 283. %%CITATION = NUPHA,B359,283;%% \bibitem{Djouadi:1991tka} A. Djouadi, M. Spira and P.M. Zerwas, \newblock Phys. Lett. B264 (1991) 440. %%CITATION = PHLTA,B264,440;%% \bibitem{hep-ph/9504378} M. Spira et~al., \newblock Nucl. Phys. B453 (1995) 17, {{\tt hep-ph/9504378}}. %%CITATION = HEP-PH/9504378;%% \bibitem{hep-ph/0404071} U. Aglietti et~al., \newblock Phys. Lett. B595 (2004) 432, {{\tt hep-ph/0404071}}. %%CITATION = HEP-PH/0404071;%% \bibitem{hep-ph/0407249} G. Degrassi and F. Maltoni, \newblock Phys. Lett. B600 (2004) 255, {{\tt hep-ph/0407249}}. %%CITATION = HEP-PH/0407249;%% \bibitem{arXiv:0809.1301} S. Actis et~al., \newblock Phys. Lett. B670 (2008) 12, {{\tt arXiv:0809.1301}}. %%CITATION = 0809.1301;%% \bibitem{arXiv:0809.3667} S. Actis et~al., \newblock Nucl. Phys. B811 (2009) 182, {{\tt arXiv:0809.3667}}. %%CITATION = 0809.3667;%% \bibitem{hep-ph/0306211} S. Catani et~al., \newblock JHEP 07 (2003) 028, {{\tt hep-ph/0306211}}. %%CITATION = HEP-PH/0306211;%% \bibitem{arXiv:0901.2427} D. de~Florian and M. Grazzini, \newblock Phys. Lett. B674 (2009) 291, {{\tt arXiv:0901.2427}}. %%CITATION = 0901.2427;%% \bibitem{hep-ph/0307206} O. Brein, A. Djouadi and R. Harlander, \newblock Phys. Lett. B579 (2004) 149, {{\tt hep-ph/0307206}}. %%CITATION = HEP-PH/0307206;%% \bibitem{hep-ph/0306234} M.L. Ciccolini, S. Dittmaier and M. Kramer, \newblock Phys. Rev. D68 (2003) 073003, {{\tt hep-ph/0306234}}. %%CITATION = HEP-PH/0306234;%% \bibitem{hep-ph/0406152} Higgs Working Group, K.A. Assamagan et~al., \newblock (2004), {{\tt hep-ph/0406152}}. %%CITATION = HEP-PH/0406152;%% \bibitem{hep-ph/0304035} R.V. Harlander and W.B. Kilgore, \newblock Phys. Rev. D68 (2003) 013001, {{\tt hep-ph/0304035}}. %%CITATION = HEP-PH/0304035;%% \bibitem{hep-ph/9206246} T. Han, G. Valencia and S. Willenbrock, \newblock Phys. Rev. Lett. 69 (1992) 3274, {{\tt hep-ph/9206246}}. %%CITATION = HEP-PH/9206246;%% \bibitem{hep-ph/9905386} J.M. Campbell and R.K. Ellis, \newblock Phys. Rev. D60 (1999) 113006, {{\tt hep-ph/9905386}}. %%CITATION = HEP-PH/9905386;%% \bibitem{hep-ph/0306109} T. Figy, C. Oleari and D. Zeppenfeld, \newblock Phys. Rev. D68 (2003) 073005, {{\tt hep-ph/0306109}}. %%CITATION = HEP-PH/0306109;%% \bibitem{hep-ph/0403194} E.L. Berger and J.M. Campbell, \newblock Phys. Rev. D70 (2004) 073011, {{\tt hep-ph/0403194}}. %%CITATION = HEP-PH/0403194;%% \bibitem{hep-ph/0612172} U. Aglietti et~al., \newblock (2006), {{\tt hep-ph/0612172}}. %%CITATION = HEP-PH/0612172;%% \bibitem{hep-ph/0107081} W. Beenakker et~al., \newblock Phys. Rev. Lett. 87 (2001) 201805, {{\tt hep-ph/0107081}}. %%CITATION = HEP-PH/0107081;%% \bibitem{hep-ph/0107101} L. Reina and S. Dawson, \newblock Phys. Rev. Lett. 87 (2001) 201804, {{\tt hep-ph/0107101}}. %%CITATION = HEP-PH/0107101;%% \bibitem{hep-ph/0211438} S. Dawson et~al., \newblock Phys. Rev. D67 (2003) 071503, {{\tt hep-ph/0211438}}. %%CITATION = HEP-PH/0211438;%% \bibitem{hep-ph/0305321} O. Brein and W. Hollik, \newblock Phys. Rev. D68 (2003) 095006, {{\tt hep-ph/0305321}}. %%CITATION = HEP-PH/0305321;%% \bibitem{arXiv:0705.2744} O. Brein and W. Hollik, \newblock Phys. Rev. D76 (2007) 035002, {{\tt arXiv:0705.2744}}. %%CITATION = 0705.2744;%% \bibitem{arXiv:0707.0381} M. Ciccolini, A. Denner and S. Dittmaier, \newblock Phys. Rev. Lett. 99 (2007) 161803, {{\tt arXiv:0707.0381}}. %%CITATION = 0707.0381;%% \bibitem{arXiv:0710.4749} M. Ciccolini, A. Denner and S. Dittmaier, \newblock Phys. Rev. D77 (2008) 013002, {{\tt arXiv:0710.4749}}. %%CITATION = 0710.4749;%% \bibitem{arXiv:1101.0593} LHC Higgs Cross Section Working Group, S. Dittmaier et~al., \newblock (2011), {{\tt arXiv:1101.0593}}. %%CITATION = 1101.0593;%% \bibitem{arXiv:1201.3084} S. Dittmaier et~al., \newblock (2012), {{\tt arXiv:1201.3084}}. %%CITATION = 1201.3084;%% \bibitem{arXiv:1307.1347} T.L.H.C.S.W. Group et~al., \newblock (2013), {{\tt arXiv:1307.1347}}. %%CITATION = 1307.1347;%% -\bibitem{arXiv:1610.07922} -LHC Higgs Cross Section Working Group, D. de~Florian et~al., -\newblock (2016), {{\tt arXiv:1610.07922}}. -%%CITATION = ARXIV:1610.07922;%% - \end{thebibliography} Index: trunk/HiggsBounds-5/minipaper.tex =================================================================== --- trunk/HiggsBounds-5/minipaper.tex (revision 593) +++ trunk/HiggsBounds-5/minipaper.tex (revision 594) @@ -1,17 +1,17 @@ \documentclass{article} \usepackage{cite} \begin{document} -HiggsBounds\cite{arXiv:0811.4169,arXiv:1102.1898,arXiv:1301.2345,arXiv:1311.0055,arXiv:1507.06706} version 5.2.0beta uses the following experimental analyses: \cite{arxiv:1112.2577,arXiv:0806.0611,arXiv:1207.0449,arXiv:0809.3930,arXiv:0901.1887,arXiv:1603.06896,arXiv:1108.3331,arXiv:1109.3357,arxiv:1202.1408,arXiv:1712.06386,arXiv:1003.3363,arXiv:1012.0874,arxiv:1202.3478,arXiv:1504.00936,arXiv:1502.04478,arXiv:1509.05051,arXiv:1507.05930,arXiv:1011.1931,arXiv:1506.00424,arXiv:1503.04233,arXiv:1008.3564,hep-ex/0404012,arXiv:1108.5064,arXiv:1710.01123,arXiv:1509.00389,arXiv:1202.1416,hep-ex/0501033,arXiv:1701.02032,arXiv:1506.08329,arXiv:0905.3381,arXiv:1001.4481,arXiv:1709.07242,arXiv:1402.3244,arXiv:1409.6064,arXiv:1509.04670,arXiv:0908.1811,hep-ex/0410017,arXiv:1202.1414,arXiv:1001.4468,arXiv:1204.2760,arXiv:0906.5613,arXiv:1207.7214,arXiv:0812.0267,arXiv:1207.6436,arXiv:0707.0373,arXiv:1603.02991,arXiv:1402.3051,hep-ex/0107032,hep-ex/0602042,hep-ex/0111010,arXiv:1106.4555,arXiv:1503.04114,hep-ex/0107031,arXiv:1407.6583,arXiv:1404.1344,hep-ex/0401022,arXiv:1510.06534,arXiv:1301.6065,arXiv:1406.7663,arXiv:1807.07915,arXiv:1106.4885,arXiv:1504.04710,arXiv:1202.1415,hep-ex/0107034,arXiv:1406.5053,arXiv:1106.4782,arXiv:1510.01181,arXiv:1107.1268,arxiv:1202.1997,arXiv:1107.4960,arXiv:1307.5515,hep-ex/0206022,arXiv:0906.1014,arXiv:0907.1269,arxiv:1202.1488,arXiv:1506.02301,CDFnotes,D0notes,CMSnotes,ATLASnotes,LHWGnotes} +HiggsBounds\cite{arXiv:0811.4169,arXiv:1102.1898,arXiv:1301.2345,arXiv:1311.0055,arXiv:1507.06706} version 5.3.0beta uses the following experimental analyses: \cite{arXiv:1406.7663,arXiv:1106.4885,arXiv:1603.02991,arXiv:1107.1268,arXiv:1809.06682,arXiv:1001.4468,arXiv:1807.00539,arXiv:1807.07915,arXiv:1503.04233,arXiv:1509.00389,arXiv:1701.02032,arXiv:1504.04710,arXiv:1807.04873,hep-ex/0107031,hep-ex/0410017,arXiv:1507.05930,arXiv:1407.6583,arXiv:1504.00936,arXiv:1406.5053,arXiv:1008.3564,hep-ex/0401022,arXiv:1506.02301,arXiv:1710.01123,arXiv:1202.1415,arXiv:1001.4481,arXiv:1107.4960,arXiv:1402.3244,arxiv:1112.2577,arXiv:1301.6065,arXiv:1807.08567,arXiv:0906.1014,arXiv:1503.04114,arXiv:1509.05051,arxiv:1202.1997,hep-ex/0111010,hep-ex/0602042,arXiv:1011.1931,arXiv:1707.04147,arXiv:1509.04670,arXiv:1202.1414,arXiv:1709.07242,arXiv:1109.3357,arXiv:1808.03599,arXiv:0812.0267,arXiv:0806.0611,arXiv:1510.01181,arXiv:1307.5515,hep-ex/0206022,arXiv:1108.3331,arXiv:0707.0373,arXiv:0906.5613,arXiv:1506.00424,arXiv:1409.6064,arXiv:1207.0449,arXiv:1207.7214,hep-ex/0501033,arXiv:0907.1269,arxiv:1202.3478,arXiv:1506.08329,arXiv:1502.04478,arXiv:1402.3051,arXiv:1603.06896,arXiv:1106.4555,arXiv:1204.2760,hep-ex/0107034,arxiv:1202.1488,arXiv:0809.3930,arXiv:0901.1887,hep-ex/0404012,hep-ex/0107032,arXiv:1712.06386,arXiv:0905.3381,arXiv:1108.5064,arXiv:1207.6436,arXiv:1404.1344,arXiv:1012.0874,arXiv:1806.07355,arxiv:1202.1408,arXiv:1003.3363,arXiv:1106.4782,arXiv:1510.06534,arXiv:0908.1811,arXiv:1808.00336,arXiv:1202.1416,CDFnotes,D0notes,CMSnotes,ATLASnotes,LHWGnotes} . -Internally, {\tt HiggsBounds} uses a number of Standard Model results for the Higgs sector\cite{hep-ph/9704448,hep-ph/0102227,hep-ph/0102241,hep-ph/0201206,hep-ph/0207004,hep-ph/0302135,arXiv:0811.3458,Dawson:1990zj,Djouadi:1991tka,hep-ph/9504378,hep-ph/0404071,hep-ph/0407249,arXiv:0809.1301,arXiv:0809.3667,hep-ph/0306211,arXiv:0901.2427,hep-ph/0307206,hep-ph/0306234,hep-ph/0406152,hep-ph/0304035,hep-ph/9206246,hep-ph/9905386,hep-ph/0306109,hep-ph/0403194,hep-ph/0612172,hep-ph/0107081,hep-ph/0107101,hep-ph/0211438,hep-ph/0305321,arXiv:0705.2744,arXiv:0707.0381,arXiv:0710.4749,arXiv:1101.0593,arXiv:1201.3084,arXiv:1307.1347,arXiv:1610.07922} +Internally, {\tt HiggsBounds} uses a number of Standard Model results for the Higgs sector\cite{hep-ph/9704448,hep-ph/0102227,hep-ph/0102241,hep-ph/0201206,hep-ph/0207004,hep-ph/0302135,arXiv:0811.3458,Dawson:1990zj,Djouadi:1991tka,hep-ph/9504378,hep-ph/0404071,hep-ph/0407249,arXiv:0809.1301,arXiv:0809.3667,hep-ph/0306211,arXiv:0901.2427,hep-ph/0307206,hep-ph/0306234,hep-ph/0406152,hep-ph/0304035,hep-ph/9206246,hep-ph/9905386,hep-ph/0306109,hep-ph/0403194,hep-ph/0612172,hep-ph/0107081,hep-ph/0107101,hep-ph/0211438,hep-ph/0305321,arXiv:0705.2744,arXiv:0707.0381,arXiv:0710.4749,arXiv:1101.0593,arXiv:1201.3084,hep-ph/0304035,arXiv:1307.1347,arXiv:1610.07922} to convert between experimental limits with different normalisations. \bibliographystyle{h-elsevier3-newarxivid-leftjust} \bibliography{minipaper} \end{document} Index: trunk/HiggsBounds-5/minipaper.pdf =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/HiggsBounds-5/convert2bibtex.pl =================================================================== --- trunk/HiggsBounds-5/convert2bibtex.pl (revision 593) +++ trunk/HiggsBounds-5/convert2bibtex.pl (revision 594) @@ -1,140 +1,140 @@ #!/usr/bin/perl -T -w # This script creates minipaper.tex and preliminary minipaper.bib from example_data/HB_randomtest50points_Key.dat # After running it: # * copy and paste minipaper.tex to an email, subject 'generate bibtex', send to slaclib2@slac.stanford.edu # * copy the response to minipaper.bib but make sure you don't copy over CDFnotes,D0notes,LHWGnotes # * you may have to edit some of the bibtex e.g. in 1003.3363 need to change: # Tevatron New Phenomena & Higgs Working Group -> Tevatron New Phenomena and Higgs Working Group # and 'collaboration = "The '->'collaboration = "' # * do # latex minipaper.tex ; bibtex minipaper ; latex minipaper.tex ; bibtex minipaper ; latex minipaper.tex # dvipdf minipaper use strict; my $ref=''; my $x=0; my %arxiv=(); my %cdf=(); my %d0=(); my %cms=(); my %atl=(); my %lhwg=(); my $correctsettings='no'; my $vers=''; -# open FILE1,"<", "example_data/HB_randomtest50points_Key.dat" or die $!; #Key generated by HB -open FILE1,"<", "Key.dat" or die $!; #Key generated by HB +open FILE1,"<", "example_data/mhmodplus/mhmod+_Key.dat" or die $!; #Key generated by HB +# open FILE1,"<", "Key.dat" or die $!; #Key generated by HB open FILE2,">", "minipaper.tex" or die $!; # open FILE3,">", "minipaper.bib" or die $!; # while (my $line = ) { #goes through each line in the file if($line =~ /(arxiv\:\d\d\d\d\.\d\d\d\d\d|arxiv\:\d\d\d\d\.\d\d\d\d|hep\-ex\/\d\d\d\d\d\d\d)/i){$arxiv{$1}=1;} # if($line =~ /(arxiv\:\d\d\d\d\.\d\d\d\d|hep\-ex\/\d\d\d\d\d\d\d)/i){$arxiv{$1}=1;} # if($line =~ /(arxiv\:\d\d\d\d\.\d\d\d\d\d)/i){$arxiv{$1}=1;} if($line =~ /(CDF\sNote\s\d\d\d\d\d|CDF\sNote\s\d\d\d\d)/i){$cdf{$1}=1;}#can be 4 or 5 digit numbers if($line =~ /(D0\sNote\s\d\d\d\d)/i){$d0{$1}=1;} if($line =~ /(CMS\sPAS\sHIG\-\d\d\-\d\d\d)/i){$cms{$1}=1;} if($line =~ /(ATLAS\-CONF\-\d\d\d\d\-\d\d\d)/i){$atl{$1}=1;} if($line =~ /(LHWG\sNote\s\d\d\d\d\-\d\d)/i){$lhwg{$1}=1;} if($line =~ m/\swith\sthe\ssetting\swhichanalyses\=LandH/){$correctsettings='yes';} if($line =~ m/This\skey\shas\sbeen\sgenerated\swith\sHiggsBounds\sversion\s([\.\w]+)\s/){$vers=$1;} } if($correctsettings ne 'yes'){ print "Something wrong with Key file\n"; die; } print "vers= ~".$vers."~\n"; print FILE2 '\documentclass{article}'."\n\n"; print FILE2 '\usepackage{cite}'."\n\n"; print FILE2 '\begin{document}'."\n\n"; print FILE2 'HiggsBounds\cite{arXiv:0811.4169,arXiv:1102.1898,arXiv:1301.2345,arXiv:1311.0055,arXiv:1507.06706} version '.$vers.' uses the following experimental analyses: \cite{'; foreach my $t (keys %arxiv){ print FILE2 $t.","; } print FILE2 'CDFnotes,D0notes,CMSnotes,ATLASnotes,LHWGnotes} '."\n"; print FILE2 '.'."\n"; print FILE2 ' '."\n"; print FILE2 'Internally, {\tt HiggsBounds} uses a number of Standard Model results for the Higgs sector\cite{hep-ph/9704448,hep-ph/0102227,hep-ph/0102241,hep-ph/0201206,hep-ph/0207004,hep-ph/0302135,arXiv:0811.3458,Dawson:1990zj,Djouadi:1991tka,hep-ph/9504378,hep-ph/0404071,hep-ph/0407249,arXiv:0809.1301,arXiv:0809.3667,hep-ph/0306211,arXiv:0901.2427,hep-ph/0307206,hep-ph/0306234,hep-ph/0406152,hep-ph/0304035,hep-ph/9206246,hep-ph/9905386,hep-ph/0306109,hep-ph/0403194,hep-ph/0612172,hep-ph/0107081,hep-ph/0107101,hep-ph/0211438,hep-ph/0305321,arXiv:0705.2744,arXiv:0707.0381,arXiv:0710.4749,arXiv:1101.0593,arXiv:1201.3084,hep-ph/0304035,arXiv:1307.1347,arXiv:1610.07922}'."\n"; print FILE2 'to convert between experimental limits with different normalisations.'."\n\n"; print FILE2 '\bibliographystyle{h-elsevier3-newarxivid-leftjust}'."\n\n"; print FILE2 '\bibliography{minipaper}'."\n\n"; print FILE2 '\end{document}'."\n"; print FILE3 "\n\n"; print FILE3 '@misc{CDFnotes,'."\n"; #print FILE3 ' author = "CDF, Collaboration",'."\n"; print FILE3 ' collaboration = "CDF",'."\n"; #print FILE3 ' howpublished = "CDF Notes'; print FILE3 ' note = "CDF Notes'; foreach (keys %cdf){ /CDF\sNote\s(\d\d\d\d\d|\d\d\d\d)/;#can be 4 or 5 digit numbers print FILE3 " ".$1; } print FILE3 '",'."\n"; print FILE3 ' year = ""'."\n"; print FILE3 '}'."\n\n"; print FILE3 '@misc{D0notes,'."\n"; #print FILE3 ' author = "D0, Collaboration",'."\n"; print FILE3 ' collaboration = "D0",'."\n"; print FILE3 ' title = "",'."\n"; print FILE3 ' note = "D0 Notes'; foreach (keys %d0){ /D0\sNote\s(\d\d\d\d)/; print FILE3 " ".$1; } print FILE3 '",'."\n"; print FILE3 ' year = ""'."\n"; print FILE3 '}'."\n\n"; print FILE3 '@misc{CMSnotes,'."\n"; #print FILE3 ' author = "CMS, Collaboration",'."\n"; print FILE3 ' collaboration = "CMS",'."\n"; print FILE3 ' title = "",'."\n"; print FILE3 ' note = "CMS Physics Analysis Summaries'; foreach (keys %cms){ /CMS\sPAS\s(HIG\-\d\d\-\d\d\d)/; print FILE3 " ".$1; } print FILE3 '",'."\n"; print FILE3 ' year = ""'."\n"; print FILE3 '}'."\n\n"; print FILE3 '@misc{ATLASnotes,'."\n"; #print FILE3 ' author = "ATLAS, Collaboration",'."\n"; print FILE3 ' collaboration = "ATLAS",'."\n"; print FILE3 ' title = "",'."\n"; print FILE3 ' note = "ATLAS CONF Notes'; foreach (keys %atl){ /ATLAS\-CONF\-(\d\d\d\d\-\d\d\d)/; print FILE3 " ".$1; } print FILE3 '",'."\n"; print FILE3 ' year = ""'."\n"; print FILE3 '}'."\n\n"; print FILE3 '@misc{LHWGnotes,'."\n"; #print FILE3 ' author = "LEP Higgs Working Group",'."\n"; print FILE3 ' collaboration = "LHWG",'."\n"; print FILE3 ' title = "",'."\n"; print FILE3 ' note = "LHWG Notes'; foreach (keys %lhwg){ /LHWG\sNote\s(\d\d\d\d\-\d\d)/; print FILE3 " ".$1; } print FILE3 '",'."\n"; print FILE3 ' year = ""'."\n"; print FILE3 '}'."\n\n"; #\d means match any digit character #/i means case independent #| means 'or' close FILE1; close FILE2; close FILE3; Index: trunk/HiggsSignals-2/io.f90 =================================================================== --- trunk/HiggsSignals-2/io.f90 (revision 593) +++ trunk/HiggsSignals-2/io.f90 (revision 594) @@ -1,1116 +1,1116 @@ !-------------------------------------------------------------------- ! This file is part of HiggsSignals (TS 03/03/2013) !-------------------------------------------------------------------- module io !-------------------------------------------------------------------- use usefulbits, only : Hneut,Hplus,Chineut,Chiplus use input, only : count_columns, getfilelength, stem_array, required, f_orig implicit none contains !-------------------------------------------------------------------- subroutine setup_input_for_hs !-------------------------------------------------------------------- ! * if inputmethod='datfile' finds np,Exptdata ! * if inputmethod='datfile', finds infile1 (prefix for input/output filenames) ! * sets ndat (number of parameter points considered) ! * sets n_additional (number of additional data values for each parameter point) ! * allocates theo, g2, partR !-------------------------------------------------------------------- use usefulbits, only : np,ndat,n_additional,theo,effC,g2,partR, & & inputmethod,whichinput, & & debug,infile1,infile2, & & allocate_hadroncolliderextras_parts,allocate_dataset_parts, & & allocate_couplratio_parts,allocate_sqcouplratio_parts,fill_pdesc use input, only : getshortcommandline,check_number_of_particles, fill_stem_array, & & file_name_msg use theory_BRfunctions implicit none !-----------------------------------internal integer :: f,ios,cc,g character(LEN=50) :: stem !------------------------------------------- call fill_pdesc select case(inputmethod) case('datfile') call getbasiccommandline_for_hs!get whichanalyses,whichinput,numbers of particles call getshortcommandline(infile1,infile2)! get infile1 case('subrout') !np(Hneut),np(Hplus) are already set call check_number_of_particles ! call check_whichanalyses !haven't yet set whichanalyses,whichinput infile1='' case default - stop'incorrect value for inputmethod' + stop 'incorrect value for inputmethod' end select !getting ndat and n_additional... select case(inputmethod) case('datfile') f=f_orig n_additional=0 select case(whichinput) case('part','effC','hadr') call fill_stem_array g=1 stem=stem_array(g) f=f_orig+g open(f,file=trim(infile1)//trim(stem)//'.dat',status='old',action='read',iostat=ios) if(ios.ne.0)then call file_name_msg(f) write(*,*)'Check that was specified correctly' write(*,*)'and that file exists.' call flush(6) - stop'Problem opening file: see standard output for more info' + stop 'Problem opening file: see standard output for more info' endif ndat=getfilelength(f) ! number of data sets (i.e. lines) in input if((ndat.le.0))stop 'error getting ndat' close(f) g=ubound(stem_array,dim=1) stem=stem_array(g) f=f_orig+g !the last element in stem_array should be 'additional' - if(trim(stem_array(g)).ne.'additional')stop'Error in subroutine setup_input (a)' + if(trim(stem_array(g)).ne.'additional')stop 'Error in subroutine setup_input (a)' required(g)=.False. open(f,file=trim(infile1)//trim(stem)//'.dat',status='old',action='read',iostat=ios) if(ios.eq.0)then cc=count_columns(f) if(cc.gt.1)then if(getfilelength(f).eq.ndat)then n_additional=cc-1 required(g)=.True. endif endif endif close(f) case('SLHA') ndat=1 ; n_additional=0 case default - stop'error in subroutine setup_input_for_hs (1a)' + stop 'error in subroutine setup_input_for_hs (1a)' end select case('website','subrout') ndat=1 ; n_additional=0 case default - stop'error in subroutine setup_input_for_hs (1b)' + stop 'error in subroutine setup_input_for_hs (1b)' end select !...finished getting ndat and n_additional if(debug)then write(*,*)'np(Hneut)=',np(Hneut) write(*,*)'ndat=',ndat write(*,*)'n_additional=',n_additional endif allocate(theo(ndat)) call allocate_dataset_parts(theo,n_additional) ! - Outdated: allocate(g2(ndat)) call allocate_sqcouplratio_parts(g2) ! - allocate(effC(ndat)) call allocate_couplratio_parts(effC) allocate(partR(ndat)) call allocate_hadroncolliderextras_parts(partR) end subroutine setup_input_for_hs !-------------------------------------------------------------------- subroutine getbasiccommandline_for_hs !-------------------------------------------------------------------- ! finds whichanalyses,whichinput,np from command line !-------------------------------------------------------------------- !nb iargc and getarg are non-standard use usefulbits, only : np,pdesc,whichinput,inputmethod use usefulbits_hs, only : Exptdir, runmode, pdf use input, only : check_number_of_particles, check_whichinput, nargs_datfile implicit none !-----------------------------------internal character(LEN=100) :: temp character(LEN=5) :: nHtemp, pdftemp integer :: i,x integer :: number_args logical :: wrong_args !------------------------------------------- number_args = IARGC() !Exptdir, runmode, pdf, whichinput, np(Hneut), np(Hplus) , prefix nargs_datfile = 4+ 2 +1 np(Chineut)=0 np(Chiplus)=0 wrong_args= (number_args .ne. nargs_datfile) if( wrong_args )then write(*,*) "Incorrect number of parameters given on command line" call command_line_how2_for_hs stop "Error: command line entered incorrectly (see standard output for more info)" endif ! Read arguments into text strings. i=1 temp="" call GETARG(i,temp) Exptdir = "" Exptdir = trim(temp) i=i+1 temp="" call GETARG(i,temp) runmode = "" runmode = trim(temp) i=i+1 temp="" call GETARG(i,temp) pdftemp = "" pdftemp = trim(temp) i=i+1 if(verify(pdftemp," 1234567890").gt.0)then ! checks that the string nHtemp just contains the characters " 1234567890" ! the function verify is standard in fortran 95 write(*,*)'Incorrect pdf: not a number.' write(*,*)'(you entered pdf="'//trim(adjustl(pdftemp))//'")' call command_line_how2_for_hs stop "Error: command line entered incorrectly (see standard output for more info)" endif read(pdftemp,*) pdf temp="" call GETARG(i,temp) whichinput = "" whichinput = trim(temp) i=i+1 do x=1,2 temp="" call GETARG(i,temp) nHtemp = "" nHtemp = trim(temp) i=i+1 if(verify(nHtemp," 1234567890").gt.0)then ! checks that the string nHtemp just contains the characters " 1234567890" ! the function verify is standard in fortran 95 write(*,*)'Incorrect n'//trim(adjustl(pdesc(x)%short))//': not a number.' write(*,*)'(you entered n'//trim(adjustl(pdesc(x)%short))//& & '="'//trim(adjustl(nHtemp))//'")' write(*,*)'n'//trim(adjustl(pdesc(x)%short))//' is the number of '//& & trim(adjustl(pdesc(x)%long))//'s' call command_line_how2_for_hs stop "Error: command line entered incorrectly (see standard output for more info)" endif read(nHtemp,*) np(x) enddo call check_number_of_particles call check_whichinput end subroutine getbasiccommandline_for_hs !-------------------------------------------------------------------- subroutine command_line_how2_for_hs !-------------------------------------------------------------------- use usefulbits, only : np,inputmethod write(*,*)'The correct syntax for the command line is:' write(*,*)' ./HiggsSignals ',& & ' ' write(*,*)'e.g.' write(*,*)' ./HiggsSignals latestresults peak 2 part 3 1 example_data/mhmodplus/mhmod+_' write(*,*)'See HiggsSignals manual for more details.' call flush(6) end subroutine command_line_how2_for_hs !-------------------------------------------------------------------- subroutine do_output_for_hs ! Writes output to file or screen, depending on whether ! inputmethod='datfile' or inputmethod='website' !-------------------------------------------------------------------- use usefulbits, only : theo,ndat,inputmethod,np,fullHBres, & & n_additional, file_id_common, file_id_common2, & !input & whichanalyses,whichinput,pr,listprocesses,infile1 use usefulbits_hs, only : analyses, StrCompress, pdf, runmode, HSres, HSvers, Exptdir,& & Nparam ! use extra_bits_for_web ! use S95tables ! use extra_bits_for_SLHA implicit none !-----------------------------------internal integer :: i,j,ii,jj,x,n,n_sum,kk character(LEN=2) :: nHchar character(LEN=3) :: addchar,tempchar character(LEN=8) :: createdate character(LEN=10) :: createtime character(LEN=19) :: createdateandtime character(LEN=100) :: format43 character(LEN=500) :: columndescription type(listprocesses) :: proc character(LEN=200):: descrip double precision, allocatable :: Mhall(:,:) character(LEN=100) :: formatspec character(LEN=13) :: pdf_desc(3) = (/'box ','gaussian ','box+gaussian'/) !------------------------------------------- select case(inputmethod) case('datfile') select case(whichinput) case('SLHA') call HiggsSignals_outputSLHAdata(infile1) case('effC','part','hadr') if((np(Hneut)>0).or.(np(Hplus)>0))then allocate(Mhall(ndat,np(Hneut)+np(Hplus))) do jj=1,ndat ii=0 if(np(Hneut)>0)then do i=1,np(Hneut) Mhall(jj,i)=theo(jj)%particle(Hneut)%M(i) enddo ii=np(Hneut) endif if(np(Hplus)>0)then do i=1,np(Hplus) Mhall(jj,ii+i)=theo(jj)%particle(Hplus)%M(i) enddo endif enddo else - stop'error in subroutine do_output(1)' + stop 'error in subroutine do_output(1)' endif format43='(1I14,' write(nHchar,'(I2)')np(Hneut) if(np(Hneut)>0)format43=trim(adjustl(format43))//nHchar//'G16.6,' write(nHchar,'(I2)')np(Hplus) if(np(Hplus)>0)format43=trim(adjustl(format43))//nHchar//'G16.6,' format43=trim(adjustl(format43))//'3G16.6,3I6,1G16.6' write(addchar,'(I3)')n_additional if(n_additional>0)format43=trim(adjustl(format43))//','//trim(adjustl(addchar))//'G16.6' format43=trim(adjustl(format43))//')' open(file_id_common,file=trim(infile1)//"HiggsSignals_results.dat") if(runmode.eq.'peak'.or.runmode.eq.'both') then open(file_id_common2,file=trim(infile1)//"peakobservables.dat") endif call date_and_time(createdate,createtime) createdateandtime=createdate(7:8)//'.' & & //createdate(5:6)//'.' & & //createdate(1:4)//' at '& & //createtime(1:2)//':' & & //createtime(3:4) write(file_id_common,*)'# generated with HiggsSignals version '//& & trim(adjustl(HSvers))//' on '//createdateandtime write(file_id_common,*)'# settings: '//adjustl(trim(Exptdir))//', '//whichinput//', '& & //runmode//', '//adjustl(trim(pdf_desc(pdf))) write(file_id_common,*)'#' write(file_id_common,*)'# column abbreviations' write(file_id_common,*)'# n : line id of input' if(np(Hneut)>0)write(file_id_common,*)'# Mh(i) : ',& & 'Neutral Higgs boson masses in GeV' if(np(Hplus)>0)write(file_id_common,*)'# Mhplus(i) : ',& & 'Charged Higgs boson masses in GeV' write(file_id_common,*)'# csq(mu) : Chi^2 from the signal strengths observables' write(file_id_common,*)'# csq(mh) : Chi^2 from the Higgs mass observables' write(file_id_common,*)'# csq(tot) : total Chi^2' write(file_id_common,*)'# nobs(mu) : number of signal strength observables' write(file_id_common,*)'# nobs(mh) : number of Higgs mass observables' write(file_id_common,*)'# nobs(tot) : total number of observables' write(file_id_common,"(A,I3)")'# Pvalue : Probability, given csq(tot) and ndf=nobs(tot)-',Nparam if(n_additional>0)then write(file_id_common,*)'# additional : ',& & 'optional additional data stored in additional.dat (e.g. tan beta)' endif write(file_id_common,*)'#' if(runmode.eq.'peak'.or.runmode.eq.'both') then formatspec='(I3,8X,I10,3X,F6.2,1X,4F9.4,7X,A3,6X,F6.2,5X,F6.2,3X,I3,3X,A40,5X,A)' write(file_id_common2,*) "# List of peak observables used from " & & //trim(adjustl(Exptdir))//":" write(file_id_common2,*)'#' write(file_id_common2,*)'# Number : HS internal numbering of analysis' write(file_id_common2,*)'# Analysis-ID : identity number of analysis' write(file_id_common2,*)'# mh_obs : Mass position of peak observable',& & ' (hypothetical Higgs mass where signal strength was measured)' write(file_id_common2,*)'# mu_obs : Observed (best-fit) signal strength value' write(file_id_common2,*)'# dmu_low : Lower 1s (cyan band) signal strength value' write(file_id_common2,*)'# dmu_high : Upper 1s (cyan band) signal strength value' write(file_id_common2,*)'# dmh_exp : Experimental mass uncertainty of analysis' write(file_id_common2,*)'# collaboration : ',& & 'Exp. collaboration which published the data' write(file_id_common2,*)'# energy : ',& & 'center-of-mass energy of the experiment (TeV)' write(file_id_common2,*)'# luminosity : ',& & 'integrated luminosity used for the measurement (fb-1)' write(file_id_common2,*)'# mass-chi2 : ',& & 'Mass measurement entering the Chi^2 (1/0=yes/no)' write(file_id_common2,*)'# description : Higgs process of analysis' write(file_id_common2,*)'# reference : ',& & 'Experimental publication of the data/analysis' write(file_id_common2,*)'#' write(file_id_common2,*)'# Number Analysis-ID mh_obs mu_obs dmu_low dmu_high ',& & " dmh_exp collaboration energy luminosity mass-chi2 ", & & " description reference" write(file_id_common2,*) "#" kk=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) kk=kk+1 write(file_id_common2,formatspec)kk,analyses(i)%id,analyses(i)%peaks(j)%mpeak,& & analyses(i)%peaks(j)%mu, analyses(i)%peaks(j)%dmulow,analyses(i)%peaks(j)%dmuup, & & analyses(i)%table%deltam,analyses(i)%table%collaboration, analyses(i)%table%energy,& & analyses(i)%table%lumi, analyses(i)%table%mhchisq, & & trim(strcompress(analyses(i)%table%desc)), analyses(i)%table%label enddo enddo close(file_id_common2) endif columndescription='#cols: n' if(np(Hneut)>0)then do i=1,np(Hneut) write(tempchar,'(I3)')i columndescription=trim(columndescription)//' Mh('//& & trim(adjustl(tempchar))//') ' enddo endif if(np(Hplus)>0)then do i=1,np(Hplus) write(tempchar,'(I3)')i columndescription=trim(columndescription)//' Mhplus('// & & trim(adjustl(tempchar))//') ' enddo endif columndescription=trim(columndescription)//' csq(mu) csq(mh) '//& & ' csq(tot) nobs(mu) nobs(mh) nobs(tot) Pvalue' if(n_additional>0)then do i=1,n_additional write(tempchar,'(I3)')i columndescription=trim(columndescription)//' additional('// & & trim(adjustl(tempchar))//') ' enddo endif write(file_id_common,*)trim(columndescription) write(file_id_common,*)'#' if(n_additional>0)then do jj=1,ndat write(file_id_common,fmt=trim(format43))jj,(Mhall(jj,i),i=1,np(Hneut)+np(Hplus)), & & HSres(jj)%Chisq_mu,HSres(jj)%Chisq_mh,HSres(jj)%Chisq, & & HSres(jj)%nobs_mpred+HSres(jj)%nobs_peak_mu,HSres(jj)%nobs_peak_mh, & & HSres(jj)%nobs,HSres(jj)%Pvalue,(theo(jj)%additional(i),i=1,n_additional) enddo else do jj=1,ndat write(file_id_common,fmt=trim(format43))jj,(Mhall(jj,i),i=1,np(Hneut)+np(Hplus)), & & HSres(jj)%Chisq_mu,HSres(jj)%Chisq_mh,HSres(jj)%Chisq, & & HSres(jj)%nobs_mpred+HSres(jj)%nobs_peak_mu,HSres(jj)%nobs_peak_mh, & & HSres(jj)%nobs,HSres(jj)%Pvalue enddo endif close(file_id_common) deallocate(Mhall) case default - stop'error in subroutine do_output (*2)' + stop 'error in subroutine do_output (*2)' end select ! case('website') ! do jj=1,ndat !-----NOTE: Need to change weboutput in extra_bits_for_web for the new all-Higgses mode!!! ! call weboutput(res(jj)) ! enddo case('subrout') select case(whichinput) case('SLHA') call HiggsSignals_outputSLHAdata(infile1) case default - stop'error in subroutine do_output(c)' + stop 'error in subroutine do_output(c)' end select case default - stop'error in subroutine do_output (*1)' + stop 'error in subroutine do_output (*1)' end select end subroutine do_output_for_hs !-------------------------------------------------------------------- subroutine setup_output_for_hs !-Allocates the HBresults array. !-------------------------------------------------------------------- use usefulbits, only : ndat !input use usefulbits_hs, only : HSres !input implicit none allocate(HSres(ndat)) end subroutine setup_output_for_hs !-------------------------------------------------------------------- subroutine get_ID_of_peakobservable(ii, ID) use usefulbits_hs, only : HSres implicit none integer, intent(in) :: ii integer, intent(out) :: ID if(ii.gt.size(HSres(1)%obsID,dim=1).or.ii.le.0) then write(*,*) 'WARNING in get_peakinfo_from_HSresults: Peak observable ', & & ii,' unkwown! Returning zero.' ID = 0 else ID = HSres(1)%obsID(ii) endif end subroutine get_ID_of_peakobservable !-------------------------------------------------------------------- subroutine get_peakinfo(obsID, muobs, dmuup, dmulow, mpeak, dm) !-------------------------------------------------------------------- use usefulbits_hs, only : obs implicit none integer, intent(in) :: obsID double precision, intent(out) :: muobs, dmuup, dmulow, mpeak, dm integer :: pos, ii pos = -1 do ii=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(ii)%id.eq.obsID) then pos = ii exit endif enddo if(pos.ne.-1) then mpeak = obs(pos)%peak%mpeak dm = obs(pos)%peak%dm muobs = obs(pos)%peak%mu dmuup = obs(pos)%peak%dmuup dmulow = obs(pos)%peak%dmulow else write(*,*) "WARNING in get_peakinfo: ID unknown." endif end subroutine get_peakinfo !-------------------------------------------------------------------- subroutine get_more_peakinfo(obsID, mhchisq) !-------------------------------------------------------------------- use usefulbits_hs, only : obs implicit none integer, intent(in) :: obsID integer, intent(out) :: mhchisq integer :: pos, ii pos = -1 do ii=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(ii)%id.eq.obsID) then pos = ii exit endif enddo if(pos.ne.-1) then mhchisq = obs(pos)%table%mhchisq else write(*,*) "WARNING in get_peakinfo: ID unknown." endif end subroutine get_more_peakinfo !-------------------------------------------------------------------- subroutine get_peak_channels(obsID, Nc, pIDs, dIDs, efficiencies) !-------------------------------------------------------------------- use usefulbits_hs, only : obs implicit none integer, intent(in) :: obsID integer, intent(out) :: Nc integer, allocatable, intent(out) :: pIDs(:), dIDs(:) double precision, allocatable, intent(out) :: efficiencies(:) integer :: pos, ii pos = -1 do ii=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(ii)%id.eq.obsID) then pos = ii exit endif enddo if(pos.ne.-1) then Nc = obs(pos)%table%Nc allocate(pIDs(Nc),dIDs(Nc),efficiencies(Nc)) pIDs = obs(pos)%table%channel_p_id dIDs = obs(pos)%table%channel_d_id efficiencies = obs(pos)%table%channel_eff else write(*,*) "WARNING in get_peakinfo: ID unknown." endif end subroutine get_peak_channels !-------------------------------------------------------------------- subroutine get_peakinfo_from_HSresults(obsID, mupred, domH, nHcomb) !-------------------------------------------------------------------- use usefulbits_hs, only : HSres implicit none integer, intent(in) :: obsID double precision, intent(out) :: mupred integer, intent(out) :: domH, nHcomb integer :: pos, ii pos = -1 do ii=lbound(HSres(1)%nH,dim=1),ubound(HSres(1)%nH,dim=1) if(obsID.eq.HSres(1)%obsID(ii)) then pos = ii exit endif enddo if(pos.ne.-1) then mupred = HSres(1)%mupred(ii) domH = HSres(1)%domH(ii) nHcomb = HSres(1)%nH(ii) else write(*,*) 'WARNING in get_peakinfo_from_HSresults: Peak observable ', & & obsID,' unkwown! Returning zeros.' mupred = 0.0D0 domH = 0 nHcomb = 0 endif end subroutine get_peakinfo_from_HSresults !-------------------------------------------------------------------- subroutine get_number_of_observables(ntotal, npeakmu, npeakmh, nmpred, nanalyses) !-------------------------------------------------------------------- use usefulbits_hs, only : HSres implicit none integer, intent(out) :: ntotal, npeakmu, npeakmh, nmpred, nanalyses ntotal = HSres(1)%nobs npeakmu = HSres(1)%nobs_peak_mu npeakmh = HSres(1)%nobs_peak_mh nmpred = HSres(1)%nobs_mpred nanalyses = HSres(1)%nanalysis end subroutine get_number_of_observables !-------------------------------------------------------------------- subroutine HiggsSignals_SLHA_output(detailed) !-------------------------------------------------------------------- use usefulbits, only : whichinput,just_after_run use usefulbits_hs, only : SLHAdetailed integer, intent(in) :: detailed if(detailed.eq.0) SLHAdetailed = .False. !use output, only : do_output !!!integer, intent(in) :: i if(.not.just_after_run)then - stop'subroutine run_HiggsSignals should be called'//& + stop 'subroutine run_HiggsSignals should be called'//& ' before subroutine HiggsSignals_SLHA_output' endif select case(whichinput) case('SLHA') call do_HiggsSignals_output case default - stop'The subroutine HiggsSignals_SLHA_output should'//& + stop 'The subroutine HiggsSignals_SLHA_output should'//& ' only be used if an input SLHA file is given.' end select end subroutine HiggsSignals_SLHA_output !-------------------------------------------------------------------- subroutine do_HiggsSignals_output !-------------------------------------------------------------------- use usefulbits, only : inputmethod,whichanalyses,whichinput,infile1 implicit none select case(inputmethod) case('datfile') select case(whichinput) case('SLHA') call HiggsSignals_outputSLHAdata(infile1) case default - stop'error in subroutine do_output (*2)' + stop 'error in subroutine do_output (*2)' end select case('subrout') select case(whichinput) case('SLHA') call HiggsSignals_outputSLHAdata(infile1) case default - stop'error in subroutine do_output(c)' + stop 'error in subroutine do_output(c)' end select case default - stop'error in subroutine do_output (*1)' + stop 'error in subroutine do_output (*1)' end select end subroutine do_HiggsSignals_output !-------------------------------------------------------------------- subroutine HiggsSignals_create_SLHA_output_default(detailed) ! Wrapper subroutine of HiggsSignals_create_SLHA_output with a fixed ! name of output file ("HS-output.slha"). !-------------------------------------------------------------------- implicit none integer, intent(in) :: detailed call HiggsSignals_create_SLHA_output("HS-output.slha", detailed) end subroutine HiggsSignals_create_SLHA_output_default !-------------------------------------------------------------------- subroutine HiggsSignals_create_SLHA_output(infile, detailed) !-------------------------------------------------------------------- use usefulbits, only : just_after_run, file_id_common use usefulbits_hs, only : SLHAdetailed, newSLHAfile implicit none character(len=*),intent(in) :: infile integer, intent(in) :: detailed integer :: ios character(len=80) :: infile_80 if(detailed.eq.0) SLHAdetailed = .False. write(infile_80,*) infile if(trim(adjustl(infile_80)).ne.trim(adjustl(infile))) then write(*,*) "WARNING: SLHA output file name is too long (> 80 elements)!" endif if(.not.just_after_run)then - stop'subroutine run_HiggsSignals should be called'//& + stop 'subroutine run_HiggsSignals should be called'//& ' before subroutine HiggsSignals_SLHA_output' endif open(unit=file_id_common,file=trim(adjustl(infile_80)),status='new',iostat=ios) if(ios.ne.0) then write(*,*) 'Problem creating the SLHA file: $'//trim(adjustl(infile))//'$' write(*,*) 'This file may already exist. SLHA output writing is skipped.' else close(file_id_common) newSLHAfile=.True. call HiggsSignals_outputSLHAdata(infile_80) newSLHAfile=.False. endif end subroutine HiggsSignals_create_SLHA_output !************************************************************ subroutine HiggsSignals_outputSLHAdata(infile) !************************************************************ use usefulbits, only : whichanalyses,file_id_common use extra_bits_for_SLHA, only : h use usefulbits_hs, only : HSvers, HSres, runmode, pdf, analyses, Exptdir, SLHAdetailed,& & newSLHAfile use SLHA_manip ! n.b.: needed for readSLHAfile, writeSLHAfile_except, finishwithSLHA implicit none !--------------------------------------input character(len=80),intent(in) :: infile !-----------------------------------internal integer :: i,j,ios,a integer :: k_out, Nh character(LEN=200):: descrip, formatstring !------------------------------------------- open(file_id_common,file=trim(adjustl(infile)),status='old',iostat=ios) if(ios.ne.0)then write(*,*)'problem opening the SLHA file: $'//trim(adjustl(infile))//'$' else k_out=file_id_common if(.not.newSLHAfile) then call readSLHAfile(file_id_common,.True.) rewind(file_id_common) call writeSLHAfile_except(k_out,'HiggsSignalsResults','HiggsSignalsPeakObservables',& & 'HiggsSignalsMassCenteredObservables') endif write(k_out,'(a)')'BLOCK HiggsSignalsResults' write(k_out,'(3X,I2,17X,A2,A,A2,15X,A)') 0,'||',trim(adjustl(HSvers)),'||', & & '# HiggsSignals version' write(k_out,'(3X,I2,9X,A2,A,A2,15X,A)')1,'||',trim(adjustl(Exptdir)),'||', & & '# experimental data set' select case(runmode) case('peak') write(k_out,'(3X,I2,25X,I1,15X,A)') 2,1, & & '# Chi-squared method ("peak"(1) or "mass"(2)-centered or "both"(3))' case('mass') write(k_out,'(3X,I2,25X,I1,15X,A)') 2,2, & & '# Chi-squared method ("peak"(1) or "mass"(2)-centered or "both"(3))' case('both') write(k_out,'(3X,I2,25X,I1,15X,A)') 2,3, & & '# Chi-squared method ("peak"(1) or "mass"(2)-centered or "both"(3))' end select write(k_out,'(3X,I2,11X,I15,15X,A)') 3,pdf, & & '# Parametrization of Higgs mass uncertainty (1:box, 2:gaussian, 3:box+gaussian)' write(k_out,'(3X,I2,11X,I15,15X,A)') 4,HSres(1)%nobs_peak_mu, & & '# Number of signal strength peak observables' write(k_out,'(3X,I2,11X,I15,15X,A)') 5,HSres(1)%nobs_STXS_rates, & & '# Number of simplified template cross section (STXS) signal rate observables' write(k_out,'(3X,I2,11X,I15,15X,A)') 6,HSres(1)%nobs_LHCRun1_mu, & & '# Number of LHC Run-1 signal rate observables' write(k_out,'(3X,I2,11X,I15,15X,A)') 7,HSres(1)%nobs_peak_mh + & & HSres(1)%nobs_LHCRun1_mh + HSres(1)%nobs_STXS_mh, & & '# Number of Higgs mass observables' ! write(k_out,'(3X,I2,11X,I15,15X,A)') 7,HSres(1)%nobs_mpred, & ! & '# Number of mass-centered observables' write(k_out,'(3X,I2,11X,I15,15X,A)') 8,HSres(1)%nobs, & & '# Number of observables (total)' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 9,HSres(1)%Chisq_peak_mu, & & '# chi^2 (signal strength) from peak observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 10,HSres(1)%Chisq_STXS_rates, & & '# chi^2 (signal strength) from STXS observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 11,HSres(1)%Chisq_LHCRun1_mu, & & '# chi^2 (signal strength) from LHC Run-1 observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 12,HSres(1)%Chisq_peak_mh, & & '# chi^2 (Higgs mass) from peak observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 13,HSres(1)%Chisq_STXS_mh, & & '# chi^2 (Higgs mass) from STXS observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 14,HSres(1)%Chisq_LHCRun1_mh, & & '# chi^2 (Higgs mass) from LHC Run-1 observables' ! write(k_out,'(3X,I2,11X,F15.8,15X,A)') 10,HSres(1)%Chisq_mpred, & ! & '# chi^2 from mass-centered observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 15,HSres(1)%Chisq_mu, & & '# chi^2 (signal strength) (total)' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 16,HSres(1)%Chisq_mh, & & '# chi^2 (Higgs mass) (total)' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 17,HSres(1)%Chisq, '# chi^2 (total)' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 18,HSres(1)%Pvalue_peak, & & '# Probability for peak observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 19,HSres(1)%Pvalue_LHCRun1, & & '# Probability for LHC-Run1 observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 20,HSres(1)%Pvalue_STXS, & & '# Probability for STXS observables' write(k_out,'(3X,I2,11X,F15.8,15X,A)') 21,HSres(1)%Pvalue, & & '# Probability (total chi^2, total number observables)' if(SLHAdetailed) then select case(runmode) case('peak') call writeSLHAblock_HiggsSignalsPeakObservables(k_out) case('mass') call writeSLHAblock_HiggsSignalsMassCenteredObservables(k_out) case('both') call writeSLHAblock_HiggsSignalsPeakObservables(k_out) call writeSLHAblock_HiggsSignalsMassCenteredObservables(k_out) case default end select endif SLHAdetailed=.True. close(file_id_common) if(k_out.ne.file_id_common)close(k_out) if(.not.newSLHAfile) then call finishwithSLHA endif endif end subroutine HiggsSignals_outputSLHAdata !-------------------------------------------------------------------- subroutine writeSLHAblock_HiggsSignalsPeakObservables(k_out) use usefulbits_hs, only : analyses, StrCompress use extra_bits_for_SLHA, only : h implicit none integer, intent(in) :: k_out integer :: i,j,a, Nh character(LEN=200):: formatstring write(k_out,'(a)')'BLOCK HiggsSignalsPeakObservables' write(k_out,'(A6,3X,A4,25X,A5,3X,A)')'# OBS','FLAG','VALUE','# DESCRIPTION' a=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) a=a+1 Nh = size(analyses(i)%peaks(j)%Higgs_comb) write(k_out,'(3X,I3,4X,I2,1X,I30,3X,A)')a,1,analyses(i)%table%id,'# Analysis ID' write(k_out,'(3X,I3,4X,I2,5X,A2,A,A2,8X,A)')a,2,'||',trim(analyses(i)%table%label), & & '||','# Reference to publication' write(k_out,'(3X,I3,4X,I2,5X,A2,A,A2,6X,A)')a,3,'||', & & trim(strcompress(analyses(i)%table%desc)),'||','# Description (Search channel)' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,4,analyses(i)%table%energy, & & '# Center-of-mass energy' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,5,analyses(i)%table%lumi, & & '# Luminosity' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,6,analyses(i)%table%dlumi*100.0D0, & & '# Luminosity uncertainty (in %)' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,7,analyses(i)%table%deltam, & & '# Mass resolution (GeV)' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,8,analyses(i)%peaks(j)%mpeak, & & '# Mass value at peak position (in GeV)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,9,analyses(i)%peaks(j)%mu, & & '# Observed signal strength modifier (mu)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,10,analyses(i)%peaks(j)%dmulow, & & '# Lower 68%C.L. uncertainty on observed mu' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,11,analyses(i)%peaks(j)%dmuup, & & '# Upper 68%C.L. uncertainty on observed mu' ! write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,12,analyses(i)%peaks(j)%dmulow0sq, & !& '# Intrinsic squared lower 68%C.L. cyan band value on observed mu (corrected by HS)' ! write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,13,analyses(i)%peaks(j)%dmuup0sq, & !& '# Intrinsic squared upper 68%C.L. cyan band value on observed mu (corrected by HS)' ! write(formatstring,'(A13,I2,A2,I2,A8)') '(3X,I3,4X,I2,',31-1*Nh,'X,',Nh,'I1,3X,A)' ! write(k_out,formatstring) a,12,analyses(i)%peaks(j)%Higgs_comb, & !& '# Higgs combination (= indices of Higgs bosons which have been used)' write(formatstring,'(A13,I2,A3,I1,A1,I1,A6)') & & '(3X,I3,4X,I2,',31-1*Nh,'X,I',Nh,'.',Nh,',3X,A)' write(k_out,formatstring) a,12, & & convert_Higgscomb_to_bin(analyses(i)%peaks(j)%Higgs_comb), & & '# Assigned Higgs combination' !-------TODO: List the pdg numbers here of these combinations! write(k_out,'(3X,I3,4X,I2,23X,I8,3X,A)')a,13,analyses(i)%peaks(j)%domH,& & '# Index of dominant Higgs boson' if(analyses(i)%peaks(j)%domH.eq.0) then write(k_out,'(3X,I3,4X,I2,23X,A8,3X,A)')a,14,'NaN', & & '# pdg number of dominant Higgs boson' write(k_out,'(3X,I3,4X,I2,23X,A8,3X,A)')a,15,'NaN', & & '# Mass of the dominant Higgs boson' write(k_out,'(3X,I3,4X,I2,23X,A8,3X,A)')a,16,'NaN', & & '# Signal strength modifier of the dominant Higgs boson' else write(k_out,'(3X,I3,4X,I2,23X,I8,3X,A)')a,14,h(analyses(i)%peaks(j)%domH), & & '# pdg number of dominant Higgs boson' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,15, & & analyses(i)%peaks(j)%Higgses(analyses(i)%peaks(j)%domH)%m, & & '# Mass of dominant Higgs boson' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,16, & & analyses(i)%peaks(j)%Higgses(analyses(i)%peaks(j)%domH)%mu, & & '# Signal strength modifier of dominant Higgs boson' endif write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,17,analyses(i)%peaks(j)%total_mu,& & '# Total predicted signal strength modifier mu' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,18,analyses(i)%peaks(j)%chisq_mu,& & '# Chi-squared value (mu-part)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,19,analyses(i)%peaks(j)%chisq_mh,& & '# Chi-squared value (mh-part)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,20,analyses(i)%peaks(j)%chisq_tot,& & '# Chi-squared value (total)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,21,analyses(i)%peaks(j)%chisq_max,& & '# Chi-squared value for no predicted signal (mu=0)' enddo enddo end subroutine writeSLHAblock_HiggsSignalsPeakObservables !-------------------------------------------------------------------- subroutine writeSLHAblock_HiggsSignalsMassCenteredObservables(k_out) !-------------------------------------------------------------------- use usefulbits_hs, only : analyses, StrCompress use usefulbits, only : np, Hneut ! use extra_bits_for_SLHA, only : h implicit none integer, intent(in) :: k_out integer :: i,j,a, Nh character(LEN=200):: formatstring Nh = np(Hneut) write(k_out,'(a)')'BLOCK HiggsSignalsMassCenteredObservables' write(k_out,'(A6,3X,A4,25X,A5,3X,A)')'# OBS','FLAG','VALUE','# DESCRIPTION' a=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%mpred%mp_Higgses,dim=1), & & ubound(analyses(i)%mpred%mp_Higgses,dim=1) a=a+1 write(k_out,'(3X,I3,4X,I2,1X,I30,3X,A)')a,1,analyses(i)%table%id,'# Analysis ID' write(k_out,'(3X,I3,4X,I2,5X,A2,A,A2,8X,A)')a,2,'||',trim(analyses(i)%table%label), & & '||','# Reference to publication' write(k_out,'(3X,I3,4X,I2,5X,A2,A,A2,6X,A)')a,3,'||', & & trim(strcompress(analyses(i)%table%desc)),'||','# Description (Search channel)' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,4,analyses(i)%table%energy, & & '# Center-of-mass energy' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,5,analyses(i)%table%lumi, & & '# Luminosity' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,6,analyses(i)%table%dlumi*100.0D0, & & '# Luminosity uncertainty (in %)' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,7,analyses(i)%table%deltam, & & '# Mass resolution (GeV)' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,8,analyses(i)%mpred%mp_Higgses(j)%m, & '# Mass of tested Higgs boson (GeV)' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,9,analyses(i)%mpred%mp_Higgses(j)%dm, & & '# Mass uncertainty of tested Higgs boson (GeV)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,10,analyses(i)%mpred%mp_Higgses(j)%mu, & & '# Signal strength of tested Higgs boson' write(k_out,'(3X,I3,4X,I2,23X,I8,3X,A)')a,11, & & size(analyses(i)%mpred%mp_Higgses(j)%Higgses,dim=1), & & '# Number of combined Higgs bosons' write(formatstring,'(A13,I2,A3,I1,A1,I1,A6)') & & '(3X,I3,4X,I2,',31-1*Nh,'X,I',Nh,'.',Nh,',3X,A)' write(k_out,formatstring) a,12, & & convert_Higgscombint_to_bin(analyses(i)%mpred%mp_Higgses(j)%Higgscomb), & & '# Combined Higgs boson code' write(k_out,'(3X,I3,4X,I2,23X,F8.2,3X,A)')a,13, & & analyses(i)%mpred%mp_Higgses(j)%m_obs,'# Observed mass value (GeV)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,14, & & analyses(i)%mpred%mp_Higgses(j)%mu_obs, & & '# Observed signal strength (from experiment)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,15, & & analyses(i)%mpred%mp_Higgses(j)%dmu_low_obs, & & '# Lower 68%C.L. uncertainty of observed signal strength' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,16, & & analyses(i)%mpred%mp_Higgses(j)%dmu_up_obs, & & '# Upper 68%C.L. uncertainty of observed signal strength' ! write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,16, & !& analyses(i)%mpred%mp_Higgses(j)%dmu_low0_obs, & !& '# Intrinsic lower 68%C.L. cyan band value of observed mu (corrected by HS)' ! write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,17, & !& analyses(i)%mpred%mp_Higgses(j)%dmu_up0_obs, & !& '# Intrinsic upper 68%C.L. cyan band value of observed mu (corrected by HS)' write(k_out,'(3X,I3,4X,I2,23X,F8.4,3X,A)')a,17,analyses(i)%mpred%mp_Higgses(j)%chisq,& & '# Chi-squared value' enddo enddo end subroutine writeSLHAblock_HiggsSignalsMassCenteredObservables !-------------------------------------------------------------------- function convert_Higgscomb_to_bin(Higgscomb) !-------------------------------------------------------------------- implicit none integer, dimension(:), intent(in) :: Higgscomb integer :: convert_Higgscomb_to_bin integer :: i, j integer :: decnum decnum=0 do i=lbound(Higgscomb,dim=1),ubound(Higgscomb,dim=1) if(Higgscomb(i).eq.0) decnum=decnum+0 if(Higgscomb(i).eq.1) decnum=decnum+1 if(Higgscomb(i).eq.2) decnum=decnum+2 if(Higgscomb(i).eq.3) decnum=decnum+4 if(Higgscomb(i).eq.4) decnum=decnum+8 if(Higgscomb(i).eq.5) decnum=decnum+16 if(Higgscomb(i).eq.6) decnum=decnum+32 if(Higgscomb(i).eq.7) decnum=decnum+64 if(Higgscomb(i).eq.8) decnum=decnum+128 if(Higgscomb(i).eq.9) decnum=decnum+256 enddo convert_Higgscomb_to_bin = convert_dec_to_bin(decnum) end function convert_Higgscomb_to_bin !-------------------------------------------------------------------- function convert_Higgscombint_to_bin(Higgscomb) !-------------------------------------------------------------------- implicit none integer, intent(in) :: Higgscomb integer :: convert_Higgscombint_to_bin integer :: i, j integer :: decnum, Higgscombtmp Higgscombtmp = Higgscomb decnum=0 do while(Higgscombtmp > 0) i=MOD(Higgscombtmp,10) if(i.eq.0) decnum=decnum+0 if(i.eq.1) decnum=decnum+1 if(i.eq.2) decnum=decnum+2 if(i.eq.3) decnum=decnum+4 if(i.eq.4) decnum=decnum+8 if(i.eq.5) decnum=decnum+16 if(i.eq.6) decnum=decnum+32 if(i.eq.7) decnum=decnum+64 if(i.eq.8) decnum=decnum+128 if(i.eq.9) decnum=decnum+256 Higgscombtmp=(Higgscombtmp-i)/10 enddo convert_Higgscombint_to_bin = convert_dec_to_bin(decnum) end function convert_Higgscombint_to_bin !------------------------------------------------------------ subroutine read_matrix_from_file(length, filename, m, status) !------------------------------------------------------------ use usefulbits, only : file_id_common3 implicit none ! use store_pathname_hs, only : pathname_HS ! use usefulbits_hs, only : delta_rate integer, intent(in) :: length character(LEN=*), intent(in) :: filename double precision, dimension(:,:), intent(inout) :: m logical, intent(out) :: status integer :: n, ios double precision, dimension(length) :: dblline status=.False. if((size(m,dim=1).ne.length).or.(size(m,dim=2).ne.length)) then write(*,*) 'Problem in subroutine read_matrix_from_file!' else open(file_id_common3, file=filename,form='formatted') n=0 do read(file_id_common3,*, iostat=ios) dblline if(ios.ne.0) exit n=n+1 m(n,:)=dblline(:) enddo if(n.ne.length) then write(*,*) 'Problem with reading in the matrix from ',filename else status=.True. endif endif close(file_id_common3) end subroutine read_matrix_from_file !-------------------------------------------------------------------- function convert_dec_to_bin(dec) !-------------------------------------------------------------------- ! implicit none integer, intent(in) :: dec integer :: convert_dec_to_bin integer :: bineq integer :: power integer :: temp bineq = 0 power = 0 temp = dec do while(temp > 0) bineq = bineq + (MOD(temp, 2) * (MOD(temp, 2) * (10 ** power))) power = power + 1 temp = temp / 2 enddo convert_dec_to_bin = bineq end function convert_dec_to_bin !-------------------------------------------------------------------- end module io !-------------------------------------------------------------------- \ No newline at end of file Index: trunk/HiggsSignals-2/example_programs/HBandHSwithSLHA.f90 =================================================================== --- trunk/HiggsSignals-2/example_programs/HBandHSwithSLHA.f90 (revision 593) +++ trunk/HiggsSignals-2/example_programs/HBandHSwithSLHA.f90 (revision 594) @@ -1,142 +1,142 @@ !****************************************************** ! This example program is part of HiggsSignals (TS 05/03/2013). !****************************************************** program HBandHSwithSLHA ! ! In this example we run both HiggsBounds and HiggsSignals simultaneously ! on SLHA file(s). NOTE: The feature of selecting different experimental ! data in HiggsBounds is not fully supported here. In particular, the onlyL ! option of HiggsBounds does not work (it will be turned into LandH). ! If you want to take into account only LEP limits in HiggsBounds, you have ! to run both programs separately, using e.g. the example programs ! HBwithSLHA and HSwithSLHA. ! ! The SLHA file(s) has to contain the two HiggsBounds SLHA ! input blocks ! HiggsBoundsInputHiggsCouplingsBosons ! HiggsBoundsInputHiggsCouplingsFermions ! (see HiggsBounds (version 3 or more) manual for more details) ! ! Run with ! ./HBandHSwithSLHA npoints ! where npoints is the number of parameter points you would like to ! look at and each parameter point has a corresponding SLHA file ! e.g. the corresponding SLHA for the 5th point should be found at ! .5 ! ! Output ! The block HiggsSignalsResults will be added to each SLHA file. ! !****************************************************** use io, only : HiggsSignals_SLHA_output, get_peakinfo_from_HSresults implicit none integer :: nH,nHplus,nobs_peak, nobs_STXS, nobs_LHCRun1,HBresult,chan,ncombined double precision :: Pvalue_peak, Chisq_peak, Chisq_peak_mu, Chisq_peak_mh double precision :: Pvalue_STXS, Chisq_STXS, Chisq_STXS_rates, Chisq_STXS_mh double precision :: Pvalue_LHCRun1, Chisq_LHCRun1, Chisq_LHCRun1_mu, Chisq_LHCRun1_mh double precision :: obsratio double precision, allocatable :: dMh(:), dCS(:), dBR(:) integer :: i,npoints integer,parameter :: fileid=78, fileid2=79 character(len=8) :: istring character(len=300) :: inputfilename,outputfilename character(len=300) :: stem character(LEN=300) :: temp, tmpstring integer :: number_args, ios nH=3 nHplus=1 allocate(dMh(nH)) !--n.b. have to set theoretical uncertainties on Higgs masses dMh (in GeV) for h,H,A: dMh = (/ 2.0D0, 2.0D0, 0.0D0 /) !-------------------------- preprocessing ------------------------------! number_args = IARGC() if( number_args .ne. 2)then stop "Incorrect number of arguments given to HSwithSLHA" endif ! Read arguments into text strings. i=1 temp="" call GETARG(i,temp) read(temp,*) npoints i=i+1 temp="" call GETARG(i,temp) stem = "" stem = trim(temp) !---------------------------- HiggsBounds and HiggsSignals ------------------------------! !---- Initialize HiggsBounds and specify the dataset it should use ----! call initialize_HiggsBounds(nH,nHplus,'LandH') !---- Initialize HiggsSignals and pass the name of the experimental analysis folder ----! call initialize_HiggsSignals(nH,nHplus,"LHC13") !------------------------------ HiggsSignals options ------------------------------------! !---- Set the output level (0: silent, 1: screen output, 2: even more output,...) ----! call setup_output_level(0) !---- Set the Higgs mass parametrization (1: box, 2:gaussian, 3:box+gaussian) ----! call setup_pdf(2) outputfilename=trim(adjustl(stem))//'-fromHBandHS' open(fileid, file=trim(outputfilename)) do i=1,npoints - if(i.gt.99999999)stop'need to increase the size of istring in HSwithSLHA' + if(i.gt.99999999)stop 'need to increase the size of istring in HSwithSLHA' write(istring,'(I8)')i inputfilename=trim(adjustl(stem))//'.'//trim(adjustl(istring)) !--Test if input file exists and is non-empty open(fileid2, file=inputfilename, form='formatted') read(fileid2,'(A)',iostat=ios) tmpstring if(ios.eq.0) then close(fileid2) !---------------------- HiggsBounds and HiggsSignals run --------------------------------! !---- Feed HiggsBounds/Signals with the the model input using HiggsBounds subroutine ----! call HiggsBounds_input_SLHA(inputfilename) !---- We want to use the mass variation treatment for the theoretical uncertainty ----! ! HiggsBounds. Thus we set the mass uncertainties here (neutral Higgses mass errors ! set to dMh, charged Higgs mass error set to 0.0D0) call HiggsBounds_set_mass_uncertainties(dMh,0.0D0) !---- First, run HiggsBounds ----! call run_HiggsBounds(HBresult, chan, obsratio, ncombined) !---- Now, we have to fill again the input for the HiggsSignals run ----! call HiggsBounds_input_SLHA(inputfilename) !---- Pass the Higgs mass uncertainty to HiggsSignals ----! call HiggsSignals_neutral_input_MassUncertainty(dMh) !---- Run HiggsSignals on peak observables (13 TeV) ----! call run_HiggsSignals(1,Chisq_peak_mu,Chisq_peak_mh,Chisq_peak,nobs_peak,Pvalue_peak) !---- Run HiggsSignals on STXS observables (13 TeV) ----! call run_HiggsSignals_STXS(Chisq_STXS_rates,Chisq_STXS_mh,Chisq_STXS,nobs_STXS,Pvalue_STXS) !---- Run HiggsSignals on LHC Run 1 observables (7/8 TeV) ----! call run_HiggsSignals_LHC_Run1_combination(Chisq_LHCRun1_mu,Chisq_LHCRun1_mh,& & Chisq_LHCRun1, nobs_LHCRun1, Pvalue_LHCRun1) call complete_HS_results() !----------------------------- HiggsSignals output --------------------------------------! !---- Attach HiggsBounds SLHA output block to SLHA file ----! call HiggsBounds_SLHA_output !---- Attach HiggsSignals SLHA output blocks to SLHA file ----! ! integer argument gives level of details: ! 0 : writes only HiggsSignalsResults block ! else : writes all blocks call HiggsSignals_SLHA_output(0) !---- This will collect the main HiggsSignals results together into one file ----! write(fileid,*)i,Chisq_peak_mu+Chisq_STXS_rates+Chisq_LHCRun1_mu,& & Chisq_peak_mh+Chisq_STXS_mh+Chisq_LHCRun1_mh,& & nobs_peak+nobs_STXS+nobs_LHCRun1,HBresult,chan,obsratio,ncombined else close(fileid2) call system("rm -f "//inputfilename) endif enddo close(fileid) call finish_HiggsBounds call finish_HiggsSignals end program HBandHSwithSLHA \ No newline at end of file Index: trunk/HiggsSignals-2/example_programs/HSwithSLHA.f90 =================================================================== --- trunk/HiggsSignals-2/example_programs/HSwithSLHA.f90 (revision 593) +++ trunk/HiggsSignals-2/example_programs/HSwithSLHA.f90 (revision 594) @@ -1,191 +1,191 @@ !-------------------------------------------------------------------------------------- program HSwithSLHA !-------------------------------------------------------------------------------------- ! This example program is part of HiggsSignals (TS 29/01/2013). ! ! In this example we demonstrate how HiggsSignals can be run on SLHA files. The SLHA ! file has to contain the two HiggsBounds SLHA input blocks ! HiggsBoundsInputHiggsCouplingsBosons ! HiggsBoundsInputHiggsCouplingsFermions ! (see HiggsBounds (version 3 or more) manual for more details) ! ! Run with ! ./HSwithSLHA npoints ! where npoints is the number of parameter points you would like to ! look at and each parameter point has a corresponding SLHA file ! e.g. the corresponding SLHA for the 5th point should be found at ! .5 ! ! Output: ! The HiggsSignals SLHA output blocks will be added to each SLHA file. ! The results are summarized in an additional file -fromHS ! ! We furthermore demonstrate how to get the signal rates directly from HiggsSignals ! after a successful run. !-------------------------------------------------------------------------------------- use io, only : HiggsSignals_SLHA_output, get_peakinfo_from_HSresults use pc_chisq, only : print_cov_mu_to_file, print_peaks_to_file implicit none integer :: nH,nHplus,nobs_peak, nobs_STXS, nobs_LHCRun1 double precision :: Pvalue_peak, Chisq_peak, Chisq_peak_mu, Chisq_peak_mh double precision :: Pvalue_STXS, Chisq_STXS, Chisq_STXS_rates, Chisq_STXS_mh double precision :: Pvalue_LHCRun1, Chisq_LHCRun1, Chisq_LHCRun1_mu, Chisq_LHCRun1_mh double precision :: R_H_WW, R_H_ZZ, R_H_gaga, R_H_tautau, R_H_bb, R_VH_bb, & & totalrate, ggf_rate, hgaga_rate, gghgg_rate double precision, allocatable :: dMh(:), masses(:), dmasses(:) integer :: i,npoints integer,parameter :: fileid=78, fileid2=79 character(len=8) :: istring character(len=300) :: inputfilename,outputfilename character(len=300) :: stem character(LEN=300) :: temp, tmpstring integer :: number_args, ios !-------------------------------------------------------------------------------------- nH=3 nHplus=1 allocate(dMh(nH),masses(nH),dmasses(nH)) ! These are default values. In SLHA mode, these values are read in from the Block "DMASS". dMh = (/ 2.0D0, 2.0D0, 0.0D0 /) !----------------------------------- preprocessing --------------------------------------! number_args = IARGC() if( number_args .ne. 2)then stop "Incorrect number of arguments given to HSwithSLHA" endif ! Read arguments into text strings. i=1 temp="" call GETARG(i,temp) read(temp,*) npoints i=i+1 temp="" call GETARG(i,temp) stem = "" stem = trim(temp) !------------------------------ HiggsSignals options ------------------------------------! !---- Initialize HiggsSignals and pass the name of the experimental analysis folder ----! call initialize_HiggsSignals(nH,nHplus,"LHC13") !---- Set the output level (0: silent, 1: screen output, 2: even more output,...) ----! call setup_output_level(1) !---- Set the Higgs mass parametrization (1: box, 2:gaussian, 3:box+gaussian) ----! call setup_pdf(2) !---- Set number of free model parameters (used for p-value calculation only) ----! call setup_nparam(0) !---- Set the assignment range for the peak-centered method (optional) ----! ! call setup_assignmentrange_massobservables(2.0D0) !---- If the mass-centered chi^2 method is used, can specify the dm_theory treatment ----! ! 1: mass variation, 2: smearing of mu-plot with mass pdf ! call setup_mcmethod_dm_theory(1) !---- Use symmetric rate errors? (0: original(default), 1: averaged-symmetrical) ----! ! call setup_symmetricerrors(0) !---- Are SM rate uncertainties included in signal strength measurements? ----! ! (0: no, 1: yes(default) ) ! call setup_thu_observables(1) !---- Allow anti-correlated signal strength measurements? (0: no, 1: yes(default) ) ----! ! call setup_anticorrelations_in_mu(1) !---- outputfilename=trim(adjustl(stem))//'-fromHS' open(fileid, file=trim(outputfilename)) do i=1,npoints - if(i.gt.99999999)stop'need to increase the size of istring in HSwithSLHA' + if(i.gt.99999999)stop 'need to increase the size of istring in HSwithSLHA' write(istring,'(I8)')i inputfilename=trim(adjustl(stem))//'.'//trim(adjustl(istring)) !--Test if input file exists and is non-empty open(fileid2, file=inputfilename, form='formatted') read(fileid2,'(A)',iostat=ios) tmpstring if(ios.eq.0) then close(fileid2) !-------------------------------- HiggsSignals run --------------------------------------! !---- Feed HiggsSignals with the the model input using HiggsBounds subroutine ----! call HiggsBounds_input_SLHA(inputfilename) !---- Checking the Higgs mass uncertainty ----! ! The theoretical Higgs mass uncertainties are read in from the SLHA Block "DMASS" ! in the call of the subroutine HiggsBounds_input_SLHA. If the block "DMASS" is absent, ! they are set to zero. If the user wants to change the values obtained from the SLHA ! file, he/she can call the subroutine ! HiggsSignals_neutral_input_MassUncertainty ! AFTER reading in the SLHA file. ! Here, we only print out the values which have been stored already in ! HiggsBounds/HiggsSignals. If their sum is <= zero, the Block DMASS was probably absent ! and we set the default values as specified above. ! call get_neutral_Higgs_masses(masses, dmasses) write(*,*) "Neutral Higgs boson mass spectrum (from SLHA): " write(*,'(2X,A,F8.2,A,F4.2)') "mass(h0) = ",masses(1)," +- ",dmasses(1) write(*,'(2X,A,F8.2,A,F4.2)') "mass(H0) = ",masses(2)," +- ",dmasses(2) write(*,'(2X,A,F8.2,A,F4.2)') "mass(A0) = ",masses(3)," +- ",dmasses(3) if(sum(dmasses).le.0.0D0) then write(*,*) "BLOCK DMASS not found, changing mass uncertainies to ", dMh call HiggsSignals_neutral_input_MassUncertainty(dMh) endif !---- Run HiggsSignals on peak observables (13 TeV) call run_HiggsSignals(1,Chisq_peak_mu,Chisq_peak_mh,Chisq_peak,nobs_peak,Pvalue_peak) !---- Run HiggsSignals on STXS observables (13 TeV) call run_HiggsSignals_STXS(Chisq_STXS_rates,Chisq_STXS_mh,Chisq_STXS,nobs_STXS,Pvalue_STXS) !---- Run HiggsSignals on LHC Run 1 observables (7/8 TeV) call run_HiggsSignals_LHC_Run1_combination(Chisq_LHCRun1_mu,Chisq_LHCRun1_mh,& & Chisq_LHCRun1, nobs_LHCRun1, Pvalue_LHCRun1) call complete_HS_results() !----------------------------- HiggsSignals output --------------------------------------! !---- Attach HiggsSignals SLHA blocks to SLHA file ----! ! integer argument gives level of details: ! 0 : writes only HiggsSignalsResults block ! else : writes all blocks call HiggsSignals_SLHA_output(0) !---- Now, some examples of how to read out the signal rates. Note, that these subroutines ! have to be called after run_HiggsSignals ! !---- Get signal-rate ratios (without efficiencies) for lightest Higgs boson and LHC13----! call get_Rvalues(1, 4, R_H_WW, R_H_ZZ, R_H_gaga, R_H_tautau, R_H_bb, R_VH_bb) !---- Get the total signal rate (without efficiencies) ----! ! call get_rates(1,3,25,(/11,12,13,14,15,21,22,23,24,25,31,32,33,34,35, & ! & 41,42,43,44,45,51,52,53,54,55/),totalrate) call get_rates_str(1,4,25,(/"1.1","1.2","1.3","1.4","1.5","2.1","2.2","2.3","2.4","2.5",& & "3.1","3.2","3.3","3.4","3.5","4.1","4.2","4.3","4.4","4.5","5.1","5.2","5.3","5.4",& & "5.5"/),totalrate) !---- Get the gluon gluon fusion rate (without efficiencies) ----! ! call get_rates(1,3,1,(/10/),ggf_rate) call get_rates_str(1,4,1,(/"1.0"/),ggf_rate) !---- Get the H -> gamma gamma rate (without efficiencies) ----! ! call get_rates(1,3,1,(/01/),hgaga_rate) call get_rates_str(1,4,1,(/"0.1"/),hgaga_rate) ! NEW SINCE HiggsSignals-1.1.0: more decay modes accessible via get_rates: ! Decay mode ID (Final state): 6 (Zgamma), 7 (cc), 8 (mumu), 9 (gg) !---- Get the gg->H->gg (without efficiencies) ----! ! call get_rates(1,3,1,(/19/),gghgg_rate) call get_rates_str(1,4,1,(/"1.9"/),gghgg_rate) write(*,'(A,F10.4)') "R_H_WW = ", R_H_WW write(*,'(A,F10.4)') "R_H_ZZ = ", R_H_ZZ write(*,'(A,F10.4)') "R_H_gaga = ", R_H_gaga write(*,'(A,F10.4)') "R_H_tautau = ", R_H_tautau write(*,'(A,F10.4)') "R_H_bb = ", R_H_bb write(*,'(A,F10.4)') "R_VH_bb = ", R_VH_bb write(*,'(A,F10.4)') "totalrate = ", totalrate write(*,'(A,F10.4)') "ggf_rate = ", ggf_rate write(*,'(A,F10.4)') "h->gaga = ", hgaga_rate write(*,'(A,F10.4)') "gg->h->gg = ", gghgg_rate !--This will collect the main HiggsSignals results together into one file write(fileid,*) i,Chisq_peak_mu+Chisq_STXS_rates+Chisq_LHCRun1_mu,& & Chisq_peak_mh+Chisq_STXS_mh+Chisq_LHCRun1_mh,& & nobs_peak+nobs_STXS+nobs_LHCRun1 else close(fileid2) call system("rm -f "//inputfilename) endif enddo close(fileid) ! call print_peaks_to_file ! call print_cov_mu_to_file call finish_HiggsSignals end program HSwithSLHA \ No newline at end of file Index: trunk/HiggsSignals-2/HiggsSignals_subroutines.F90 =================================================================== --- trunk/HiggsSignals-2/HiggsSignals_subroutines.F90 (revision 593) +++ trunk/HiggsSignals-2/HiggsSignals_subroutines.F90 (revision 594) @@ -1,2660 +1,2664 @@ !------------------------------------------------------------ ! This file is part of HiggsSignals (TS 03/03/2013). !------------------------------------------------------------ subroutine initialize_HiggsSignals_latestresults(nHiggsneut,nHiggsplus) !------------------------------------------------------------ ! Wrapper subroutine to intitialize HiggsSignals with the experimental ! dataset "latestresults", avoiding to specify this via a string argument. !------------------------------------------------------------ implicit none !--------------------------------------input integer,intent(in) :: nHiggsneut integer,intent(in) :: nHiggsplus character(LEN=13) :: Expt_string Expt_string = "latestresults" call initialize_HiggsSignals(nHiggsneut,nHiggsplus,Expt_string) end subroutine initialize_HiggsSignals_latestresults !------------------------------------------------------------ subroutine initialize_HiggsSignals_LHC13(nHiggsneut,nHiggsplus) !------------------------------------------------------------ ! Wrapper subroutine to intitialize HiggsSignals with the experimental ! dataset "latestresults", avoiding to specify this via a string argument. !------------------------------------------------------------ implicit none !--------------------------------------input integer,intent(in) :: nHiggsneut integer,intent(in) :: nHiggsplus character(LEN=13) :: Expt_string Expt_string = "LHC13" call initialize_HiggsSignals(nHiggsneut,nHiggsplus,Expt_string) end subroutine initialize_HiggsSignals_LHC13 !------------------------------------------------------------ subroutine initialize_HiggsSignals_empty(nHiggsneut,nHiggsplus) !------------------------------------------------------------ ! Wrapper subroutine to intitialize HiggsSignals without dataset. !------------------------------------------------------------ implicit none !--------------------------------------input integer,intent(in) :: nHiggsneut integer,intent(in) :: nHiggsplus character(LEN=13) :: Expt_string Expt_string = "none" call initialize_HiggsSignals(nHiggsneut,nHiggsplus,Expt_string) end subroutine initialize_HiggsSignals_empty !------------------------------------------------------------ subroutine initialize_HiggsSignals(nHiggsneut,nHiggsplus,Expt_string) !------------------------------------------------------------ ! This the first HiggsSignals subroutine that should be called ! by the user. ! It calls subroutines to read in the tables of Standard Model ! decay and production rates from HiggsBounds, sets up the ! experimental data from Tevatron and LHC, allocate arrays, etc. ! Arguments (input): ! * nHiggs = number of neutral Higgs in the model ! * nHiggsplus = number of singly, positively charged Higgs in the model ! * Expt_string = name of experimental dataset to be used !------------------------------------------------------------ use usefulbits, only : np,Hneut,Hplus,Chineut,Chiplus,debug,inputmethod,& & theo,whichanalyses,just_after_run,& & file_id_debug1,file_id_debug2,allocate_if_stats_required use usefulbits_HS, only : HiggsSignals_info, nanalys, eps, Exptdir, obs use datatables, only: setup_observables, setup_LHC_Run1_combination use STXS, only : load_STXS use input, only : check_number_of_particles,check_whichanalyses use io, only : setup_input_for_hs, setup_output_for_hs use theory_BRfunctions, only : setup_BRSM, BRSM use theory_XS_SM_functions, only : setup_XSSM, XSSM #if defined(NAGf90Fortran) use F90_UNIX_IO, only : flush #endif implicit none !--------------------------------------input integer,intent(in) :: nHiggsneut integer,intent(in) :: nHiggsplus character(LEN=*), intent(in) :: Expt_string !-----------------------------------internal integer :: i logical :: exptdirpresent = .False. !----------------------------------parameter eps=5.0D0 np(Hneut)=nHiggsneut np(Hplus)=nHiggsplus if(Expt_string.ne.'none') then Exptdir = Expt_string exptdirpresent = .True. endif np(Chineut)=0! not considering bounds on neutralinos here np(Chiplus)=0! not considering bounds on charginos here debug=.False. select case(whichanalyses) case('onlyL') whichanalyses='LandH' case('onlyH','onlyP','list ','LandH') case default whichanalyses='onlyH' end select call HiggsSignals_info if(inputmethod=='subrout') then if(allocated(theo))then if(debug) write(*,*) "HiggsBounds/HiggsSignals internal structure already initialized!" else if(debug)write(*,*)'doing other preliminary tasks...' ; call flush(6) call setup_input_for_hs ! allocate(inputsub( 2 )) !(1)np(Hneut)>0 (2)np(Hplus)>0 ! inputsub(1)%desc='HiggsBounds_neutral_input_*' ; inputsub(1)%req=req( 0, 1) ! inputsub(2)%desc='HiggsBounds_charged_input' ; inputsub(2)%req=req( 1, 0) ! ! do i=1,ubound(inputsub,dim=1) ! inputsub(i)%stat=0 ! enddo endif endif if(debug)write(*,*)'reading in Standard Model tables...' ; call flush(6) if(.not.allocated(BRSM)) call setup_BRSM if(.not.allocated(XSSM)) call setup_XSSM call setup_uncertainties if(debug)write(*,*)'reading in experimental data...' ; call flush(6) if(exptdirpresent) call setup_observables if(exptdirpresent) call load_STXS(Expt_string) call setup_LHC_Run1_combination if(debug)write(*,*)'sorting out processes to be checked...'; call flush(6) nanalys = size(obs) if(debug)write(*,*)'preparing output arrays...' ; call flush(6) call setup_output_for_hs if(debug)write(*,*)'HiggsSignals has been initialized...' ; call flush(6) just_after_run=.False. ! contains ! | np ! |Hneu Hcha ! | ==0 ==0 ! function req(Hneu,Hcha) ! integer, intent(in) ::Hneu,Hcha ! integer :: req ! ! req=1 ! if(np(Hneut)==0) req= Hneu * req ! if(np(Hplus)==0) req= Hcha * req ! ! end function req end subroutine initialize_HiggsSignals !------------------------------------------------------------ subroutine HiggsSignals_neutral_input_MassUncertainty(dMh) ! Sets the theoretical mass uncertainty of the Higgs bosons. !------------------------------------------------------------ use usefulbits, only: theo,np,Hneut implicit none double precision,intent(in) :: dMh(np(Hneut)) if(.not.allocated(theo))then stop 'subroutine HiggsSignals_initialize must be called first' endif if(np(Hneut).eq.0)then write(*,*)'subroutine HiggsSignal_neutral_input_MassUncertainty should' write(*,*)'only be called if np(Hneut)>0' stop 'error in subroutine HiggsSignal_neutral_input_MassUncertainty' endif theo(1)%particle(Hneut)%dM = dMh end subroutine HiggsSignals_neutral_input_MassUncertainty !------------------------------------------------------------ subroutine setup_uncertainties !------------------------------------------------------------ use usefulbits, only : file_id_common3 use store_pathname_hs, only : pathname_HS use usefulbits_hs, only : delta_rate use io, only : read_matrix_from_file logical :: BRmodel, BRSM, XSmodel, XSSM call read_matrix_from_file(9,pathname_HS//"BRcov.in",delta_rate%BRcov, BRmodel) call read_matrix_from_file(9,pathname_HS//"BRcovSM.in",delta_rate%BRcovSM, BRSM) call read_matrix_from_file(11,pathname_HS//"XScov.in",delta_rate%CScov, XSmodel) call read_matrix_from_file(11,pathname_HS//"XScovSM.in",delta_rate%CScovSM, XSSM) call read_matrix_from_file(11,pathname_HS//"XScov_13TeV.in",delta_rate%CS13cov, XSmodel) call read_matrix_from_file(11,pathname_HS//"XScovSM_13TeV.in",delta_rate%CS13covSM, XSSM) if(BRmodel.and.BRSM) then delta_rate%BRcov_ok=.True. write(*,*) "Covariance matrix for relative branching ratio uncertainties read in successfully." else write(*,*) "Covariance matrix for relative branching ratio uncertainties not provided. Using default values." endif if(XSmodel.and.XSSM) then delta_rate%CScov_ok=.True. write(*,*) "Covariance matrix for relative cross section uncertainties read in successfully." else write(*,*) "Covariance matrix for relative cross section uncertainties not provided. Using default values." endif end subroutine setup_uncertainties !------------------------------------------------------------ subroutine setup_rate_normalization(normalize_to_refmass, normalize_to_refmass_outside_dmtheo) use usefulbits_hs, only : normalize_rates_to_reference_position,& & normalize_rates_to_reference_position_outside_dmtheo implicit none logical, intent(in) :: normalize_to_refmass logical, intent(in) :: normalize_to_refmass_outside_dmtheo if(normalize_to_refmass) then write(*,*) "Using SM rate prediction at observed mass for signal strength calculation." else write(*,*) "Using SM rate prediction at predicted mass for signal strength calculation." endif if(normalize_to_refmass_outside_dmtheo) then write(*,*) "If predicted mass and observed mass do not agree within theory uncertainty:",& & " SM rate prediction at observed mass is used for signal strength calculation." else write(*,*) "If predicted mass and observed mass do not agree within theory uncertainty:",& & " SM rate prediction at predicted mass is used for signal strength calculation." endif normalize_rates_to_reference_position = normalize_to_refmass normalize_rates_to_reference_position_outside_dmtheo = normalize_to_refmass_outside_dmtheo end subroutine setup_rate_normalization !------------------------------------------------------------ subroutine setup_model_rate_uncertainties(filename_XS, filename_XS13, filename_BR) !------------------------------------------------------------ use usefulbits, only : file_id_common3 use store_pathname_hs, only : pathname_HS use usefulbits_hs, only : delta_rate use io, only : read_matrix_from_file character(LEN=*),intent(in) :: filename_XS, filename_XS13, filename_BR logical :: BRmodel, XSmodel call read_matrix_from_file(9,filename_BR,delta_rate%BRcov, BRmodel) call read_matrix_from_file(11,filename_XS,delta_rate%CScov, XSmodel) call read_matrix_from_file(11,filename_XS13,delta_rate%CS13cov, XSmodel) if(BRmodel.and.XSmodel) then delta_rate%BRcov_ok=.True. delta_rate%CScov_ok=.True. write(*,*) "Covariance matrices for rate uncertainties read in successfully." else write(*,*) "Covariance matrix for rate uncertainties not provided. Using default values." endif end subroutine setup_model_rate_uncertainties !------------------------------------------------------------ subroutine setup_rate_uncertainties( dCS, dBR ) !------------------------------------------------------------ ! Sets (relative) systematic uncertainties of the model for: ! dCS(1) - singleH dBR(1) - gamma gamma ! dCS(2) - VBF dBR(2) - W W ! dCS(3) - HW dBR(3) - Z Z ! dCS(4) - HZ dBR(4) - tau tau ! dCS(5) - ttH dBR(5) - b bbar !------------------------------------------------------------ use usefulbits_hs, only : delta_rate implicit none double precision, intent(in) :: dCS(5) double precision, intent(in) :: dBR(5) integer :: i delta_rate%dCS = dCS do i=lbound(dBR,dim=1),ubound(dBR,dim=1) call setup_dbr(i,dBR(i)) enddo end subroutine setup_rate_uncertainties !------------------------------------------------------------ subroutine setup_dbr(BRid, value) !------------------------------------------------------------ use usefulbits_hs, only : delta_rate integer,intent(in) :: BRid double precision, intent(in) :: value if(BRid.gt.0.and.BRid.lt.10) then delta_rate%dBR(BRid) = value else write(*,*) "Warning in setup_dbr: Unknown decay mode." endif end subroutine setup_dbr !------------------------------------------------------------ subroutine setup_correlations(corr_mu, corr_mh) !------------------------------------------------------------ ! With this subroutine the user may switch off/on correlations ! (default=on) by setting corr = 0/1. !------------------------------------------------------------ use usefulbits_hs, only : correlations_mu, correlations_mh implicit none integer, intent(in) :: corr_mu, corr_mh if(corr_mu.eq.0) then correlations_mu = .False. write(*,*) 'Correlations in signal strength observables are switched off.' elseif(corr_mu.eq.1) then correlations_mu = .True. else stop 'Error: Correlations must be switched on/off by an integer value of 0 or 1.' endif if(corr_mh.eq.0) then correlations_mh = .False. write(*,*) 'Correlations in Higgs mass observables are switched off.' elseif(corr_mh.eq.1) then correlations_mh = .True. else stop 'Error: Correlations must be switched on/off by an integer value of 0 or 1.' endif end subroutine setup_correlations !------------------------------------------------------------ subroutine setup_symmetricerrors(symm) ! Sets the measured rate uncertainties to either a symmetrical average ! of the upper and lower cyan band widths (symm==1) or else uses the ! original (asymmetrical) errors. !------------------------------------------------------------ use usefulbits_hs, only : symmetricerrors implicit none integer, intent(in) :: symm if(symm.eq.1) then write(*,*) "Using averaged (symmetrical) experimental rate uncertainties." symmetricerrors = .True. else write(*,*) "Using original (asymmetrical) experimental rate uncertainties." symmetricerrors = .False. endif end subroutine setup_symmetricerrors !------------------------------------------------------------ subroutine setup_absolute_errors(absol) ! Treats the measured rate uncertainties as either absolute ! uncertainties (1) or relative (0). By default, they are ! treated as relative uncertainties. !------------------------------------------------------------ use usefulbits_hs, only : absolute_errors implicit none integer, intent(in) :: absol if(absol.eq.1) then write(*,*) "Using absolute experimental rate uncertainties." absolute_errors = .True. else write(*,*) "Using relative experimental rate uncertainties." absolute_errors = .False. endif end subroutine setup_absolute_errors !------------------------------------------------------------ subroutine setup_correlated_rate_uncertainties(corr) !------------------------------------------------------------ use usefulbits_hs, only : delta_rate integer, intent(in) :: corr if(corr.eq.0) then delta_rate%usecov = .False. write(*,*) "Deactivated correlated CS and BR uncertainties. Using approximated maximum error." elseif(corr.eq.1) then delta_rate%usecov = .True. write(*,*) "Activated correlated CS and BR uncertainties. Using them if covariance matrices are present." else write(*,*) "Warning in subroutine setup_correlated_rate_uncertainties: Argument ",corr," is not equal to 0 or 1." endif end subroutine setup_correlated_rate_uncertainties !------------------------------------------------------------ subroutine setup_SMweights(useweight) ! If set to 1 (true), HiggsSignals assumes the same signal decomposition ! (weights) as in the SM for the given model. This will enter the determination ! of the theoretical rate uncertainty. !------------------------------------------------------------ use usefulbits_hs, only : useSMweights implicit none integer, intent(in) :: useweight if(useweight.eq.1) then write(*,*) "Using SM weights for theoretical rate uncertainties of the model." useSMweights = .True. else write(*,*) "Using true model weights for theoretical rate uncertainties of the model." useSMweights = .False. endif end subroutine setup_SMweights !------------------------------------------------------------ subroutine setup_anticorrelations_in_mu(acorr) ! Allows for anti-correlations in the signal strength covariance ! matrix if there is a relative sign difference in two mu measurements ! (acorr==1) or else uses only correlations irrespective of the relative ! (acorr==0). !------------------------------------------------------------ use usefulbits_hs, only : anticorrmu implicit none integer, intent(in) :: acorr if(acorr.eq.1) then write(*,*) "Allow anti-correlated signal strength measurements." anticorrmu = .True. else write(*,*) "Prohibit anti-correlated signal strength measurements." anticorrmu = .False. endif end subroutine setup_anticorrelations_in_mu !------------------------------------------------------------ subroutine setup_anticorrelations_in_mh(acorr) ! Allows for anti-correlations in the mass covariance ! matrix if there is a relative sign difference in two mu measurements ! (acorr==1) or else uses only correlations irrespective of the relative ! (acorr==0). !------------------------------------------------------------ use usefulbits_hs, only : anticorrmh implicit none integer, intent(in) :: acorr if(acorr.eq.1) then write(*,*) "Allow anti-correlated mass measurements." anticorrmh = .True. else write(*,*) "Prohibit anti-correlated mass measurements." anticorrmh = .False. endif end subroutine setup_anticorrelations_in_mh !------------------------------------------------------------ subroutine setup_assignmentrange(range) !------------------------------------------------------------ ! This sets up the mass range (in standard deviations) in which ! the Higgs is forced to be assigned to the peak observables. !------------------------------------------------------------ use usefulbits_hs, only : assignmentrange,assignmentrange_massobs, pdf implicit none double precision, intent(in) :: range if(range.le.0.0D0) then write(*,*) "Error: Bad assignment range ",range write(*,*) "Keeping the value ",assignmentrange else assignmentrange = range assignmentrange_massobs = range endif if(assignmentrange.ne.1.0D0.and.pdf.eq.1) then write(*,*) "Note: For a box pdf, only 1s mass range is used to force the Higgs-to-peak assignment." endif end subroutine setup_assignmentrange !------------------------------------------------------------ subroutine setup_assignmentrange_LHCrun1(range) !------------------------------------------------------------ ! This sets up the mass range (in standard deviations) in which ! the Higgs is forced to be assigned to the peak observables. !------------------------------------------------------------ use usefulbits_hs, only : assignmentrange_LHCrun1, pdf implicit none double precision, intent(in) :: range if(range.le.0.0D0) then write(*,*) "Error: Bad assignment range ",range write(*,*) "Keeping the value ",assignmentrange_LHCrun1 else assignmentrange_LHCrun1 = range endif ! if(assignmentrange_LHCrun1.ne.1.0D0.and.pdf.eq.1) then ! write(*,*) "Note: For a box pdf, only 1s mass range is used to force the Higgs-to-peak assignment." ! endif end subroutine setup_assignmentrange_LHCrun1 !------------------------------------------------------------ subroutine setup_assignmentrange_massobservables(range) !------------------------------------------------------------ ! This sets up the mass range (in standard deviations) in which ! the Higgs is forced to be assigned to the peak observables. !------------------------------------------------------------ use usefulbits_hs, only : assignmentrange_massobs, pdf implicit none double precision, intent(in) :: range if(range.le.0.0D0) then write(*,*) "Error: Bad assignment range ",range write(*,*) "Keeping the value ",assignmentrange_massobs else assignmentrange_massobs = range endif if(assignmentrange_massobs.ne.1.0D0.and.pdf.eq.1) then write(*,*) "Note: For a box pdf, only 1s mass range is used to force the Higgs-to-peak assignment." endif end subroutine setup_assignmentrange_massobservables !------------------------------------------------------------ subroutine setup_assignmentrange_STXS(range) !------------------------------------------------------------ ! This sets up the mass range (in standard deviations) in which ! the Higgs is forced to be assigned to the peak observables. !------------------------------------------------------------ use usefulbits_hs, only : assignmentrange_STXS implicit none double precision, intent(in) :: range if(range.le.0.0D0) then write(*,*) "Error: Bad assignment range ",range write(*,*) "Keeping the value ",assignmentrange_STXS else assignmentrange_STXS = range endif end subroutine setup_assignmentrange_STXS !------------------------------------------------------------ subroutine setup_nparam(Np) !------------------------------------------------------------ use usefulbits_hs, only : Nparam implicit none integer, intent(in) :: Np Nparam = Np end subroutine setup_nparam !------------------------------------------------------------ subroutine setup_Higgs_to_peaks_assignment_iterations(iter) ! Sets the number of iterations for the Higgs-to-peak-assignment. !------------------------------------------------------------ use usefulbits_hs, only : iterations implicit none integer, intent(in) :: iter iterations = iter end subroutine setup_Higgs_to_peaks_assignment_iterations !------------------------------------------------------------ subroutine setup_mcmethod_dm_theory(mode) use mc_chisq, only : mc_mode implicit none integer, intent(in) :: mode character(LEN=14) :: mode_desc(2) = (/'mass variation','convolution '/) if(mode.eq.1.or.mode.eq.2) then mc_mode = mode write(*,'(1X,A,A)') 'The mass-centered chi^2 method will treat the Higgs',& & ' boson mass theory uncertainty by '//trim(mode_desc(mode))//'.' else stop 'Error in subroutine setup_mcmethod_dm_theory: Unknown mode (1 or 2 possible)!' endif end subroutine setup_mcmethod_dm_theory !------------------------------------------------------------ subroutine setup_sm_test(int_SMtest,epsilon) ! With this subroutine the user may switch off the SM likeness test ! (default=on) or change the maximal deviation epsilon (default=5.0D-2) !------------------------------------------------------------ use usefulbits_hs, only : useSMtest, eps implicit none integer, intent(in) :: int_SMtest double precision, intent(in) :: epsilon if(int_SMtest.eq.0) then useSMtest = .False. write(*,*) 'SM likeness test has been switched off.' elseif(int_SMtest.eq.1) then useSMtest = .True. write(*,*) 'SM likeness test has been switched on.' else stop 'Error: SM test must be switched on/off by an integer value of 0 or 1.' endif eps = epsilon end subroutine setup_sm_test !------------------------------------------------------------ subroutine setup_thu_observables(thuobs) use usefulbits_hs, only : THU_included integer, intent(in) :: thuobs if(thuobs.eq.0) then THU_included = .False. write(*,*) 'Observables are assumed to NOT include theory errors.' else THU_included = .True. write(*,*) 'Observables are assumed to include theory errors.' endif end subroutine setup_thu_observables !------------------------------------------------------------ subroutine setup_output_level(level) ! Controls the level of information output: ! 0 : silent mode ! 1 : screen output for each analysis with its peak/mass-centered observables and ! their respective values predicted by the model ! 2 : screen output of detailed information on each analysis with its ! peak/mass-centered observables ! 3 : creates the files peak_information.txt and peak_massesandrates.txt !------------------------------------------------------------ use usefulbits_hs, only : output_level, additional_output implicit none integer, intent(in) :: level if(level.eq.0.or.level.eq.1.or.level.eq.2.or.level.eq.3) then output_level = level else stop 'Error in subroutine setup_output_level: level not equal to 0,1,2 or 3.' endif if(level.eq.3) additional_output = .True. end subroutine setup_output_level !------------------------------------------------------------ subroutine setup_pdf(pdf_in) ! Sets the probability density function for the Higgs mass uncertainty parametrization: ! 1 : box-shaped pdf ! 2 : Gaussian pdf ! 3 : box-shaped theory error + Gaussian experimental pdf !------------------------------------------------------------ use usefulbits_hs, only : pdf, assignmentrange implicit none integer, intent(in) :: pdf_in character(LEN=13) :: pdf_desc(3) = (/'box ','Gaussian ','box+Gaussian'/) pdf=pdf_in if((pdf.eq.1).or.(pdf.eq.2).or.(pdf.eq.3)) then write(*,'(1X,A,A,1I1,A)') 'Use a '//trim(pdf_desc(pdf))//' probability density function ',& & 'for the Higgs mass(es) (pdf=',pdf,')' endif if(assignmentrange.ne.1.0D0.and.pdf.eq.1) then write(*,*) "Note: For a box pdf, only 1s mass range is used to force the Higgs-to-peak assignment." endif end subroutine setup_pdf !------------------------------------------------------------ !subroutine assign_toyvalues_to_observables(ii, peakindex, npeaks, mu_obs, mh_obs) !! Assigns toy values to the peak's mass and mu value for analysis ii. !! ii :: analysis number (entry in mutables) !! peakindex :: index of the peak of analysis ii !! npeaks :: number of peaks found in analysis ii !! mu_obs :: toy value for mu to be given to the peak with peakindex !! mh_obs :: toy value for mh to be given to the peak with peakindex !------------------------------------------------------------ ! use usefulbits_hs, only: obs, usetoys ! ! integer, intent(in) :: ii, peakindex, npeaks ! double precision, intent(in) :: mh_obs, mu_obs ! ! if(peakindex.gt.npeaks) then ! stop 'Error in subroutine assign_toyvalues_to_observables: Observable does not exist!' ! endif ! ! obs(ii)%table%npeaks = npeaks ! if(.not.allocated(obs(ii)%table%Toys_muobs)) allocate(obs(ii)%table%Toys_muobs(npeaks)) ! if(.not.allocated(obs(ii)%table%Toys_mhobs)) allocate(obs(ii)%table%Toys_mhobs(npeaks)) ! ! obs(ii)%table%Toys_muobs(peakindex) = mu_obs ! obs(ii)%table%Toys_mhobs(peakindex) = mh_obs ! ! usetoys = .True. ! !end subroutine assign_toyvalues_to_observables !------------------------------------------------------------ subroutine assign_toyvalues_to_peak(ID, mu_obs, mh_obs) ! Assigns toy values to the peak's mass and mu value to a peak observable. ! ID :: observable ID ! mu_obs :: toy value for mu to be given to the peak ! mh_obs :: toy value for mh to be given to the peak ! ! n.B.: Do we also want to set mu uncertainties here? !------------------------------------------------------------ use usefulbits_hs, only: obs, usetoys implicit none integer, intent(in) :: ID double precision, intent(in) :: mh_obs, mu_obs integer :: pos, ii pos = -1 do ii=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(ii)%id.eq.ID) then pos = ii exit endif enddo if(pos.ne.-1) then obs(pos)%peak%mpeak = mh_obs obs(pos)%peak%mu = mu_obs usetoys = .True. else write(*,*) "WARNING in assign_toyvalues_to_peak: ID unknown." endif end subroutine assign_toyvalues_to_peak !------------------------------------------------------------ subroutine assign_modelefficiencies_to_peak(ID, Nc, eff_ratios) ! Assigns to each channel of the observable the efficiency in the model ! w.r.t the SM efficiency (as a ratio!) ! ! ID :: observable ID ! Nc :: number of channels ! eff_ratios :: array of length (Number of channels) giving the efficiency ratios ! ! Note: You can first employ the subroutine get_peak_channels (io module) to obtain ! the relevant channel information of the observable. !------------------------------------------------------------ use usefulbits_hs, only: obs implicit none integer, intent(in) :: ID, Nc double precision, dimension(Nc), intent(in) :: eff_ratios integer :: pos, ii pos = -1 do ii=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(ii)%id.eq.ID) then pos = ii exit endif enddo if(pos.ne.-1) then if(size(eff_ratios,dim=1).ne.obs(pos)%table%Nc) then write(*,*) "WARNING in assign modelefficiencies_to_peak: Number of channels (",& & size(eff_ratios,dim=1),"!=",obs(pos)%table%Nc,"does not match for observable ID = ",ID else obs(pos)%table%channel_eff_ratios = eff_ratios endif else write(*,*) "WARNING in assign_modelefficiencies_to_peak: ID unknown." endif end subroutine assign_modelefficiencies_to_peak !------------------------------------------------------------ subroutine assign_rate_uncertainty_scalefactor_to_peak(ID, scale_mu) ! Assigns a rate uncertainty scalefactor to the peak specified by ID. ! This scalefactor will only scale the experimental rate uncertainties. ! The theory rate uncertainties must be given manually via setup_rate_uncertainties. ! ! ID :: observable ID of the peak observable ! scale_mu :: scale_mu by which the mu uncertainty is scaled !------------------------------------------------------------ use usefulbits_hs, only: obs, usescalefactor implicit none integer, intent(in) :: ID double precision, intent(in) :: scale_mu integer :: pos, ii pos = -1 do ii=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(ii)%id.eq.ID) then pos = ii exit endif enddo if(pos.ne.-1) then obs(pos)%peak%scale_mu = scale_mu else write(*,*) "WARNING in assign_uncertainty_scalefactors_to_peak: ID unknown." endif usescalefactor = .True. end subroutine assign_rate_uncertainty_scalefactor_to_peak !------------------------------------------------------------ subroutine run_HiggsSignals_LHC_Run1_combination(Chisq_mu, Chisq_mh, Chisq, nobs, Pvalue) use usefulbits, only : theo,just_after_run, ndat use theo_manip, only : HB5_complete_theo use usefulbits_HS, only : HSres, output_level, Nparam implicit none !----------------------------------------output integer,intent(out) :: nobs double precision,intent(out) :: Pvalue, Chisq, Chisq_mu, Chisq_mh !-------------------------------------internal integer :: n,i, nobs_mu, nobs_mh logical :: debug=.False. !--------------------------------------------- if(.not.allocated(theo))then stop 'subroutine HiggsSignals_initialize must be called first' endif call HB5_complete_theo do n=1,ndat call evaluate_LHC_Run1_combination(theo(n),n) Pvalue = HSres(n)%Pvalue_LHCRun1 Chisq = HSres(n)%Chisq_LHCRun1 Chisq_mu = HSres(n)%Chisq_LHCRun1_mu Chisq_mh = HSres(n)%Chisq_LHCRun1_mh nobs_mu = HSres(n)%nobs_LHCRun1_mu nobs_mh = HSres(n)%nobs_LHCRun1_mh nobs = nobs_mu+nobs_mh if(output_level.ne.0) then write(*,*) write(*,*) '#*************************************************************************#' write(*,*) '# HIGGSSIGNALS RESULTS (LHC ATLAS + CMS Run1 combination) #' write(*,*) '#*************************************************************************#' write(*,'(A55,F21.8)') 'chi^2 from signal rate observables = ',Chisq_mu write(*,'(A55,F21.8)') 'chi^2 from Higgs mass observables = ',Chisq_mh write(*,'(A55,F21.8)') 'chi^2 (total) = ',Chisq write(*,'(A55,I21)') 'Number of rate observables = ', nobs_mu write(*,'(A55,I21)') 'Number of mass observables = ', nobs_mh write(*,'(A55,I21)') 'Number of observables (total) = ', nobs write(*,'(A48,I3,A4,F21.8)') 'Probability (ndf =',nobs-Nparam,') = ', Pvalue write(*,*) '#*************************************************************************#' write(*,*) endif enddo just_after_run=.True. end subroutine run_HiggsSignals_LHC_Run1_combination !------------------------------------------------------------ subroutine setup_LHC_combination_run1_SMXS_from_paper(useSMXS_from_paper) !------------------------------------------------------------ use usefulbits_hs, only : LHC_combination_run1_SMXS_from_paper implicit none logical, intent(in) :: useSMXS_from_paper if(useSMXS_from_paper) then write(*,*) "Using SM cross sections from Tab.1 of arXiv:1606.02266 for LHC Run 1 combination chi^2 test." else write(*,*) "Using internal SM cross sections for LHC Run 1 combination chi^2 test." endif LHC_combination_run1_SMXS_from_paper = useSMXS_from_paper end subroutine setup_LHC_combination_run1_SMXS_from_paper !------------------------------------------------------------ subroutine evaluate_LHC_Run1_combination( t , n ) !------------------------------------------------------------ ! !------------------------------------------------------------ use usefulbits, only : np,Hneut,Hplus,dataset,results, vsmall use usefulbits_hs, only : HSresults, output_level, Nparam, pdf, & & LHCrun1_rates, LHCrun1_correlationmatrix, useaveragemass, & & assignmentrange_LHCrun1, HSres, normalize_rates_to_reference_position, & & normalize_rates_to_reference_position_outside_dmtheo use pc_chisq, only : csq_mh use numerics, only : invmatrix, matmult, gammp implicit none !--------------------------------------input type(dataset), intent(in) :: t integer, intent(in) :: n !--------------------------------------output ! type(HSresults), intent(inout) :: r !--------------------------------------internal integer :: p, d, id, i, j, k, ncomb double precision, allocatable :: covmat(:,:), invcovmat(:,:) double precision, allocatable :: covmatzero(:,:), invcovmatzero(:,:) double precision, dimension(20) :: v, v2, csq_mu, vzero, vzero2, csq_mu_max double precision, dimension(20,1) :: vmat, vzeromat double precision :: mobs = 125.09D0 double precision :: dmobs = 0.24D0 double precision :: dmbbtautau = 20.0D0 double precision :: dmWW = 5.0D0 double precision :: expmassrange, allowed_massrange double precision :: Higgs_signal_k double precision :: num1, num2, dnum1, dnum2, denom1, denom2, mav, dmav allocate(covmat(20,20),invcovmat(20,20)) allocate(covmatzero(20,20),invcovmatzero(20,20)) mav =0.0D0 dmav = 0.0D0 denom1 = 0.0D0 denom2 = 0.0D0 num1 = 0.0D0 num2 = 0.0D0 dnum1 = 0.0D0 dnum2 = 0.0D0 do i=lbound(LHCrun1_rates,dim=1),ubound(LHCrun1_rates,dim=1) id = LHCrun1_rates(i)%channel_id p = int((id-modulo(id,10))/dble(10)) d = modulo(id,10) if(d.eq.4.or.d.eq.5) then expmassrange = dmbbtautau elseif(d.eq.2) then expmassrange = dmWW else if(pdf.eq.1) then expmassrange = dmobs else expmassrange = assignmentrange_LHCrun1*dmobs endif endif LHCrun1_rates(i)%r_pred = 0.0D0 ncomb = 0 do k=1,np(Hneut) if(pdf.eq.1) then allowed_massrange = expmassrange + t%particle(Hneut)%dM(k) else allowed_massrange = sqrt(expmassrange**2.0D0 + t%particle(Hneut)%dM(k)**2.0D0) endif if(abs(t%particle(Hneut)%M(k)-mobs).le.allowed_massrange ) then Higgs_signal_k = signalrate(k,p,d,mobs,t%particle(Hneut)%M(k),t%particle(Hneut)%dM(k)) LHCrun1_rates(i)%r_pred = LHCrun1_rates(i)%r_pred + Higgs_signal_k if(id.eq.11) then ! gg -> h_k -> gaga weighted mass average num1 = num1 + Higgs_signal_k * t%particle(Hneut)%M(k) dnum1 = dnum1 + Higgs_signal_k * t%particle(Hneut)%dM(k) else if(id.eq.13) then ! gg -> h_k -> ZZ -> 4l weighted mass average num2 = num2 + Higgs_signal_k * t%particle(Hneut)%M(k) dnum2 = dnum2 + Higgs_signal_k * t%particle(Hneut)%dM(k) endif ncomb = ncomb+1 endif enddo if(id.eq.11) then denom1 = LHCrun1_rates(i)%r_pred else if(id.eq.13) then denom2 = LHCrun1_rates(i)%r_pred endif if(LHCrun1_rates(i)%r_pred.gt.LHCrun1_rates(i)%r) then LHCrun1_rates(i)%dr = LHCrun1_rates(i)%dr_up else LHCrun1_rates(i)%dr = LHCrun1_rates(i)%dr_low endif if(LHCrun1_rates(i)%r.lt.0.0D0) then LHCrun1_rates(i)%dr0 = LHCrun1_rates(i)%dr_up else LHCrun1_rates(i)%dr0 = LHCrun1_rates(i)%dr_low endif v(i) = LHCrun1_rates(i)%r_pred - LHCrun1_rates(i)%r vmat(i,1) = v(i) vzero(i) = LHCrun1_rates(i)%r vzeromat(i,1) = vzero(i) ! write(*,'(2I3,3F10.5)') p, d, LHCrun1_rates(i)%r_pred, LHCrun1_rates(i)%r, LHCrun1_rates(i)%r/LHCrun1_rates(i)%r_pred enddo if(denom1.gt.vsmall.and.denom2.gt.vsmall) then mav = 0.5D0 * (num1/denom1 + num2/denom2) dmav = 0.5D0 * (dnum1/denom1 + dnum2/denom2) ! write(*,*) "Averaged mass is ",mav, " +- ",dmav ! else ! write(*,*) "denom1 and denom2 are ",denom1, denom2 endif do i=lbound(LHCrun1_rates,dim=1),ubound(LHCrun1_rates,dim=1) do j=lbound(LHCrun1_rates,dim=1),ubound(LHCrun1_rates,dim=1) covmat(i,j) = LHCrun1_correlationmatrix(i,j) * & & LHCrun1_rates(i)%dr * LHCrun1_rates(j)%dr covmatzero(i,j) = LHCrun1_correlationmatrix(i,j) * & & LHCrun1_rates(i)%dr0 * LHCrun1_rates(j)%dr0 enddo enddo call invmatrix(covmat, invcovmat) call matmult(invcovmat,vmat,v2,20,1) call invmatrix(covmatzero, invcovmatzero) call matmult(invcovmatzero,vzeromat,vzero2,20,1) do i=1, 20 csq_mu(i) = v(i)*v2(i) enddo do i=1, 20 csq_mu_max(i) = vzero(i)*vzero2(i) enddo if(mav.lt.vsmall) then HSres(n)%Chisq_LHCRun1_mh=0.0D0 else HSres(n)%Chisq_LHCRun1_mh=csq_mh(mav,mobs,dmav,dmobs) endif if((HSres(n)%Chisq_LHCRun1_mh+sum(csq_mu)).gt.sum(csq_mu_max)) then HSres(n)%Chisq_LHCRun1_mu=sum(csq_mu_max) HSres(n)%Chisq_LHCRun1_mh=0.0D0 else HSres(n)%Chisq_LHCRun1_mu=sum(csq_mu) endif HSres(n)%Chisq_LHCRun1= HSres(n)%Chisq_LHCRun1_mu + HSres(n)%Chisq_LHCRun1_mh HSres(n)%nobs_LHCRun1_mu=20 HSres(n)%nobs_LHCRun1_mh=1 if(HSres(n)%Chisq_LHCRun1.gt.vsmall.and.(HSres(n)%nobs_LHCRun1_mu+HSres(n)%nobs_LHCRun1_mh-Nparam).gt.0) then HSres(n)%Pvalue_LHCRun1=1 - gammp(dble(HSres(n)%nobs_LHCRun1_mu + HSres(n)%nobs_LHCRun1_mh-Nparam)/2,HSres(n)%Chisq_LHCRun1/2) endif deallocate(covmat,invcovmat) deallocate(covmatzero,invcovmatzero) contains !------------------------------------------------------------ function signalrate(k,p,d,mobs,m,dmtheo) !------------------------------------------------------------ use usefulbits_hs, only : LHC_combination_run1_SMXS_from_paper !--------------------------------------external functions double precision :: SMCS_lhc8_gg_H,SMCS_lhc8_bb_H,SMCS_lhc8_vbf_H, & & SMCS_lhc8_HW, SMCS_lhc8_HZ, SMCS_lhc8_ttH, SMBR_Hgamgam,SMBR_HWW, & & SMBR_HZZ, SMBR_Htautau, SMBR_Hbb, SMBR_HZgam, SMBR_Hcc, SMBR_Hmumu, & & SMBR_Hgg double precision, intent(in) :: mobs, m, dmtheo integer, intent(in) :: k,p,d double precision :: signalrate, production_rate, decay_rate, mass, refmass double precision :: production_rate_scalefactor, decay_rate_scalefactor mass = t%particle(Hneut)%M(k) ! TS (17/10/2018): Take reference mass for SM-normalization at mobs+dmtheo box boundary. if(mass.ge.(mobs+dmtheo)) then refmass = mobs + dmtheo else if(mass.le.(mobs-dmtheo)) then refmass = mobs - dmtheo else refmass = mass endif !--- if(p.eq.1) then if(LHC_combination_run1_SMXS_from_paper) then production_rate= t%lhc8%XS_gg_hj_ratio(k) * 19.2D0 & & + t%lhc8%XS_bb_hj_ratio(k) * 0.203D0 else production_rate= t%lhc8%XS_gg_hj_ratio(k) * SMCS_lhc8_gg_H(mass) & & + t%lhc8%XS_bb_hj_ratio(k) * SMCS_lhc8_bb_H(mass) endif ! NOTE: Here we make a small error in the scalefactor. Correct would be to rescale ! the gg and bb contributions separately. production_rate_scalefactor = (SMCS_lhc8_gg_H(mobs)+SMCS_lhc8_bb_H(mobs))/& & (SMCS_lhc8_gg_H(refmass)+SMCS_lhc8_bb_H(refmass)) else if(p.eq.2) then if(LHC_combination_run1_SMXS_from_paper) then production_rate= t%lhc8%XS_vbf_ratio(k) * 1.58D0 else production_rate= t%lhc8%XS_vbf_ratio(k) * SMCS_lhc8_vbf_H(mass) endif production_rate_scalefactor = SMCS_lhc8_vbf_H(mobs)/SMCS_lhc8_vbf_H(refmass) else if(p.eq.3) then if(LHC_combination_run1_SMXS_from_paper) then production_rate= t%lhc8%XS_hjW_ratio(k) * 0.703D0 else production_rate= t%lhc8%XS_hjW_ratio(k) * SMCS_lhc8_HW(mass) endif production_rate_scalefactor = SMCS_lhc8_HW(mobs)/SMCS_lhc8_HW(refmass) else if(p.eq.4) then if(LHC_combination_run1_SMXS_from_paper) then production_rate= t%lhc8%XS_hjZ_ratio(k) * 0.446D0 else production_rate= t%lhc8%XS_hjZ_ratio(k) * SMCS_lhc8_HZ(mass) endif production_rate_scalefactor = SMCS_lhc8_HZ(mobs)/SMCS_lhc8_HZ(refmass) else if(p.eq.5) then if(LHC_combination_run1_SMXS_from_paper) then production_rate= t%lhc8%XS_tthj_ratio(k) * 0.129D0 else production_rate= t%lhc8%XS_tthj_ratio(k) * SMCS_lhc8_ttH(mass) endif production_rate_scalefactor = SMCS_lhc8_ttH(mobs)/SMCS_lhc8_ttH(refmass) endif if(d.eq.1) then decay_rate = t%BR_hjgaga(k) decay_rate_scalefactor = SMBR_Hgamgam(mobs)/SMBR_Hgamgam(refmass) else if(d.eq.2) then decay_rate = t%BR_hjWW(k) decay_rate_scalefactor = SMBR_HWW(mobs)/SMBR_HWW(refmass) else if(d.eq.3) then decay_rate = t%BR_hjZZ(k) decay_rate_scalefactor = SMBR_HZZ(mobs)/SMBR_HZZ(refmass) else if(d.eq.4) then decay_rate = t%BR_hjtautau(k) decay_rate_scalefactor = SMBR_Htautau(mobs)/SMBR_Htautau(refmass) else if(d.eq.5) then decay_rate = t%BR_hjbb(k) decay_rate_scalefactor = SMBR_Hbb(mobs)/SMBR_Hbb(refmass) endif if(normalize_rates_to_reference_position) then signalrate = production_rate * decay_rate else ! This is the default: signalrate = production_rate * production_rate_scalefactor * & & decay_rate * decay_rate_scalefactor endif if(normalize_rates_to_reference_position_outside_dmtheo) then if(abs(mobs-m).ge.dmtheo) then signalrate = production_rate * decay_rate endif endif end function signalrate !------------------------------------------------------------ end subroutine evaluate_LHC_Run1_combination !------------------------------------------------------------ subroutine run_HiggsSignals_STXS(Chisq_STXS_rates, Chisq_STXS_mh, Chisq_STXS, nobs_STXS, Pvalue_STXS) !------------------------------------------------------------ use STXS, only : evaluate_model_for_STXS, get_chisq_from_STXS, print_STXS, & & get_number_of_STXS_observables, STXSlist, print_STXS_to_file use usefulbits, only : theo,just_after_run, ndat, vsmall use usefulbits_hs, only : HSres, output_level use theo_manip, only : HB5_complete_theo use numerics, only : gammp double precision, intent(out) :: Chisq_STXS_rates, Chisq_STXS_mh, Chisq_STXS, Pvalue_STXS integer, intent(out) :: nobs_STXS double precision :: Pvalue integer :: nobs_STXS_rates, nobs_STXS_mh, i, n call HB5_complete_theo Chisq_STXS_mh = 0.0D0 do n=1, ndat do i=lbound(STXSlist,dim=1), ubound(STXSlist,dim=1) call evaluate_model_for_STXS(STXSlist(i),theo(n)) enddo call get_chisq_from_STXS(Chisq_STXS_rates, Pvalue_STXS) call get_number_of_STXS_observables(nobs_STXS_rates, nobs_STXS_mh) nobs_STXS = nobs_STXS_rates + nobs_STXS_mh ! Add routine for possible mh-observable in STXS here! Chisq_STXS = Chisq_STXS_rates + Chisq_STXS_mh HSres(n)%Chisq_STXS_rates = Chisq_STXS_rates HSres(n)%Chisq_STXS_mh = Chisq_STXS_mh HSres(n)%Chisq_STXS = Chisq_STXS HSres(n)%nobs_STXS_rates = nobs_STXS_rates HSres(n)%nobs_STXS_mh = nobs_STXS_mh HSres(n)%nobs_STXS = nobs_STXS Pvalue = 1.0D0 if(Chisq_STXS.gt.vsmall.and.(nobs_STXS-Nparam).gt.0) then Pvalue = 1 - gammp(dble(nobs_STXS-Nparam)/2,Chisq_STXS/2) endif HSres(n)%Pvalue_STXS = Pvalue enddo if(output_level.eq.1) call print_STXS if(output_level.eq.3) then call print_STXS_to_file endif if(output_level.ne.0) then write(*,*) write(*,*) '#*************************************************************************#' write(*,*) '# HIGGSSIGNALS RESULTS (STXS observables) #' write(*,*) '#*************************************************************************#' write(*,'(A55,F21.8)') 'chi^2 (signal rate) from STXS observables = ',Chisq_STXS_rates write(*,'(A55,F21.8)') 'chi^2 (Higgs mass) from STXS observables = ',Chisq_STXS_mh write(*,'(A55,F21.8)') 'chi^2 (total) = ',Chisq_STXS write(*,'(A55,I21)') 'Number of STXS rate observables = ', nobs_STXS_rates write(*,'(A55,I21)') 'Number of STXS mass observables = ', nobs_STXS_mh write(*,'(A55,I21)') 'Number of STXS observables (total) = ', nobs_STXS write(*,'(A48,I3,A4,F21.8)') 'Probability (ndf =',nobs-Nparam,') = ', Pvalue write(*,*) '#*************************************************************************#' write(*,*) endif end subroutine run_HiggsSignals_STXS !------------------------------------------------------------------------------------ subroutine run_HiggsSignals(mode, Chisq_mu, Chisq_mh, Chisq, nobs, Pvalue) !------------------------------------------------------------ ! This subroutine can be called by the user after HiggsSignals_initialize has been called. ! The input routines, where required, should be called before calling run_HiggsSignals. ! It takes theoretical predictions for a particular parameter point ! in the model and calls subroutines which compare these predictions ! to the experimental results. ! Arguments (output): ! * mode = 1,2 or 3 for peak-centered, mass-centered chi^2 method or both, respectively. ! * Chisq_mu = total chi^2 contribution from signal strength measurements ! * Chisq_mh = total chi^2 contribution from Higgs mass measurements ! * Chisq = total chi^2 value for the combination of the considered Higgs signals ! * nobs = total number of observables ! * Pvalue = total chi^2 probability for the agreement between model and data, ! assuming number of observables == number of degrees of freedom ! (see manual for more precise definitions)) !------------------------------------------------------------ use usefulbits, only : theo,just_after_run, inputmethod, ndat!inputsub, use usefulbits_HS, only : HSres, runmode, output_level, usescalefactor, Nparam,Exptdir use channels, only : check_channels use theo_manip, only : HB5_complete_theo!, HB5_recalculate_theo_for_datapoint #if defined(NAGf90Fortran) use F90_UNIX_IO, only : flush #endif implicit none integer,intent(in) :: mode !----------------------------------------output integer,intent(out) :: nobs double precision,intent(out) :: Pvalue, Chisq, Chisq_mu, Chisq_mh !-------------------------------------internal integer :: n,i logical :: debug=.False. !--------------------------------------------- if(mode.eq.1) then runmode="peak" else if(mode.eq.2) then ! runmode="mass" write(*,*) "Warning: The 'mass' method (runmode = 2) is no longer maintained." write(*,*) " The peak-centered chi^2 method will be used instead." runmode="peak" else if(mode.eq.3) then ! runmode="both" write(*,*) "Warning: The 'both' method (runmode = 3) is no longer maintained." write(*,*) " The peak-centered chi^2 method will be used instead." runmode="peak" else stop 'Error in subroutine run_HiggsSignals: mode unknown' endif if(.not.allocated(theo))then stop 'subroutine HiggsSignals_initialize must be called first' endif ! if(inputmethod.eq.'subrout') then ! do i=1,ubound(inputsub,dim=1) ! if( inputsub(i)%req .ne. inputsub(i)%stat )then ! write(*,*) inputsub(i)%req, inputsub(i)%stat ! write(*,*)'subroutine '//trim(adjustl(inputsub(i)%desc)) ! write(*,*)'should be called once and only once before each call to' ! write(*,*)'subroutine run_HiggsSignals.' ! stop 'error in subroutine run_HiggsSignals' ! endif ! TS: Have to work on this bit to make it run simultaneously with HiggsBounds. Now, ! commented out the =0 statement. HS thus has to be run before HB. ! inputsub(i)%stat=0!now we have used this input, set back to zero ! enddo ! endif if(debug)write(*,*)'manipulating input...' ; call flush(6) call HB5_complete_theo if(debug)write(*,*)'compare each model to the experimental data...' ; call flush(6) do n=1,ndat ! call recalculate_theo_for_datapoint(n) call evaluate_model(theo(n),n) Pvalue = HSres(n)%Pvalue_peak Chisq = HSres(n)%Chisq_peak Chisq_mu = HSres(n)%Chisq_peak_mu Chisq_mh = HSres(n)%Chisq_peak_mh nobs = HSres(n)%nobs_peak if(output_level.ne.0) then write(*,*) write(*,*) '#*************************************************************************#' write(*,*) '# HIGGSSIGNALS RESULTS (',trim(adjustl(Exptdir)),') -- peak observables #' write(*,*) '#*************************************************************************#' write(*,'(A55,F21.8)') 'chi^2 (signal strength) from peak observables = ',& & HSres(n)%Chisq_peak_mu write(*,'(A55,F21.8)') 'chi^2 (Higgs mass) from peak observables = ',HSres(n)%Chisq_peak_mh ! write(*,'(A55,F21.8)') 'chi^2 from mass-centered observables = ',HSres(n)%Chisq_mpred ! write(*,'(A55,F21.8)') 'chi^2 from signal strength peak observables (total) = ',HSres(n)%Chisq_mu write(*,'(A55,F21.8)') 'chi^2 (total) from peak observables = ',HSres(n)%Chisq write(*,'(A55,I21)') 'Number of signal strength peak observables = ',& & HSres(n)%nobs_peak_mu write(*,'(A55,I21)') 'Number of Higgs mass peak observables = ',HSres(n)%nobs_peak_mh ! write(*,'(A55,I21)') 'Number of mass-centered observables = ',HSres(n)%nobs_mpred write(*,'(A55,I21)') 'Number of peak observables (total) = ',HSres(n)%nobs_peak write(*,'(A48,I3,A4,F21.8)') 'Probability (ndf =',HSres(n)%nobs-Nparam,') using peak observables = ',HSres(n)%Pvalue_peak write(*,*) '#*************************************************************************#' write(*,*) endif enddo just_after_run=.True. usescalefactor=.False. end subroutine run_HiggsSignals !------------------------------------------------------------ subroutine evaluate_model( t , n ) !------------------------------------------------------------ ! This subroutine evaluates the signal strength modifier for every Higgs boson and ! considered analysis. It fills a matrix neutHiggs(:,:) of type neutHiggs with dimensions ! (number(considered analyses),nH). !------------------------------------------------------------ use usefulbits, only : np,Hneut,Hplus,dataset,results, vsmall use usefulbits_hs, only : neutHiggses, nanalys, runmode, HSresults, cov, obs, analyses,& & cov_mhneut, iterations, deallocate_covariance_matrices, & & output_level, Nparam, nanalys use datatables, only : setup_tablelist, check_available_Higgses use pc_chisq use mc_chisq use all_chisq use numerics implicit none !--------------------------------------input type(dataset), intent(in) :: t integer, intent(in) :: n !-------------------------------------output ! type(HSresults), intent(out) :: r integer :: ii, jj, iii, jjj double precision :: totchisq, muchisq, mhchisq, mpchisq, mpredchisq integer :: nobs, Nmu, Nmh, Nmpred character(LEN=100), allocatable :: assignmentgroups(:) integer, allocatable :: assignmentgroups_domH(:) integer, allocatable :: assignmentgroups_Higgs_comb(:,:) allocate(assignmentgroups(nanalys),assignmentgroups_domH(nanalys)) allocate(assignmentgroups_Higgs_comb(nanalys,np(Hneut))) assignmentgroups = '' !---Initialize assignmentgroups arrays with default values do ii=lbound(assignmentgroups_domH,dim=1),ubound(assignmentgroups_domH,dim=1) assignmentgroups_domH(ii) = 0 assignmentgroups_Higgs_comb(ii,:) = 0 enddo !---First, evaluate the model predictions allocate(neutHiggses(nanalys,np(Hneut))) !-Loop over considered analyses do ii=lbound(neutHiggses,dim=1),ubound(neutHiggses,dim=1) !-Loop over the neutral Higgs bosons of the model do jj=lbound(neutHiggses,dim=2),ubound(neutHiggses,dim=2) !! write(*,*) "hello evaluate model:", ii, jj call calc_mupred(jj, t, obs(ii)%table, neutHiggses(ii,jj)) enddo if(.not.allocated(obs(ii)%Higgses)) allocate(obs(ii)%Higgses(np(Hneut))) obs(ii)%Higgses(:) = neutHiggses(ii,:) enddo !-Pass the observables and their predicted Higgs properties (obs%Higgses) !-to the tablelist "analyses" call setup_tablelist ! select case(runmode) ! ! case('peak') !-Peak-centered chisq method jjj=0 do ii=lbound(analyses,dim=1),ubound(analyses,dim=1) call deallocate_covariance_matrices call assign_Higgs_to_peaks(analyses(ii)%table, analyses(ii)%peaks,0) do iii=lbound(analyses(ii)%peaks,dim=1),ubound(analyses(ii)%peaks,dim=1) if(analyses(ii)%table%mhchisq.eq.1.and.& & len(trim(adjustl(analyses(ii)%peaks(iii)%assignmentgroup))).ne.0) then jjj=jjj+1 assignmentgroups(jjj)=analyses(ii)%peaks(iii)%assignmentgroup assignmentgroups_Higgs_comb(jjj,:)=analyses(ii)%peaks(iii)%Higgs_comb assignmentgroups_domH(jjj)=analyses(ii)%peaks(iii)%domH ! write(*,*) "Found leader of group ",assignmentgroups(jjj) ! write(*,*) "ID ",analyses(ii)%peaks(iii)%id ! write(*,*) "with Higgs combination ",assignmentgroups_Higgs_comb(jjj,:) ! write(*,*) "and dominant Higgs boson ",assignmentgroups_domH(jjj) endif enddo enddo do ii=lbound(analyses,dim=1),ubound(analyses,dim=1) do iii=lbound(analyses(ii)%peaks,dim=1),ubound(analyses(ii)%peaks,dim=1) if(analyses(ii)%table%mhchisq.eq.0.and.& & len(trim(adjustl(analyses(ii)%peaks(iii)%assignmentgroup))).ne.0) then !SELECT ASSIGNMENT GROUP FOLLOWERS do jjj=lbound(assignmentgroups,dim=1),ubound(assignmentgroups,dim=1) if(analyses(ii)%peaks(iii)%assignmentgroup.eq.assignmentgroups(jjj)) then !TAKE OVER THE HIGGS ASSIGNMENT OF THE LEADING PEAK analyses(ii)%peaks(iii)%Higgs_comb=assignmentgroups_Higgs_comb(jjj,:) analyses(ii)%peaks(iii)%domH=assignmentgroups_domH(jjj) if(assignmentgroups_domH(jjj).ne.0) then analyses(ii)%peaks(iii)%Higgs_assignment_forced=1 endif call evaluate_peak(analyses(ii)%peaks(iii),analyses(ii)%table) endif enddo endif enddo enddo ! write(*,*) "Starting assignment procedure..." ! Do the iterative Higgs-to-peak-assignment here: call assign_Higgs_to_peaks_with_correlations(iterations) ! write(*,*) "Calculating chi^2..." call calculate_total_pc_chisq(totchisq, muchisq, mhchisq, nobs, Nmu, Nmh) ! write(*,*) "...done." if(output_level.eq.1) call print_peakinformation if(output_level.eq.2) call print_peakinformation_essentials if(output_level.eq.3) then call print_peaks_to_file call print_peaks_signal_rates_to_file endif call add_peaks_to_HSresults(HSres(n)) HSres(n)%Chisq_peak=totchisq HSres(n)%Chisq_peak_mu = muchisq HSres(n)%Chisq_mpred = 0.0D0 HSres(n)%Chisq_peak_mu=muchisq HSres(n)%Chisq_peak_mh=mhchisq HSres(n)%nobs_mpred=0 HSres(n)%nobs_peak_mu=Nmu HSres(n)%nobs_peak_mh=Nmh HSres(n)%nanalysis=size(analyses) HSres(n)%nobs_peak=nobs - - if(HSres(n)%Chisq.gt.vsmall.and.(HSres(n)%nobs-Nparam).gt.0) then - HSres(n)%Pvalue_peak = 1 - gammp(dble(HSres(n)%nobs-Nparam)/2,HSres(n)%Chisq/2) +! +! if(HSres(n)%Chisq.gt.vsmall.and.(HSres(n)%nobs-Nparam).gt.0) then +! HSres(n)%Pvalue_peak = 1 - gammp(dble(HSres(n)%nobs-Nparam)/2,HSres(n)%Chisq/2) +! endif + + if(HSres(n)%Chisq_peak.gt.vsmall.and.(HSres(n)%nobs_peak-Nparam).gt.0) then + HSres(n)%Pvalue_peak = 1 - gammp(dble(HSres(n)%nobs_peak-Nparam)/2,HSres(n)%Chisq_peak/2) endif ! case('mass') ! do ii=lbound(analyses,dim=1),ubound(analyses,dim=1) ! call fill_mp_obs(ii) ! enddo ! if(mc_mode.eq.1) call mass_variation_by_theory_uncertainty ! call create_covariance_matrix_mp ! call calculate_mpred_chisq(mpchisq, nobs) ! ! if(output_level.eq.1) call print_mc_observables ! if(output_level.eq.2) call print_mc_observables_essentials ! if(output_level.eq.3) then ! call print_mc_tables_to_file ! call print_mc_observables_to_file ! endif ! ! HSres(n)%Chisq=mpchisq ! HSres(n)%Chisq_peak_mu = 0.0D0 ! HSres(n)%Chisq_mpred = mpchisq ! HSres(n)%Chisq_mu=mpchisq ! HSres(n)%Chisq_mh=0.0D0 ! HSres(n)%nobs_mpred=nobs ! HSres(n)%nobs_peak_mu=0 ! HSres(n)%nobs_peak_mh=0 ! HSres(n)%nanalysis=size(analyses) ! HSres(n)%nobs=nobs ! if(HSres(n)%Chisq.gt.vsmall.and.(HSres(n)%nobs-Nparam).gt.0) then ! HSres(n)%Pvalue=1 - gammp(dble(HSres(n)%nobs-Nparam)/2,HSres(n)%Chisq/2) ! endif ! ! case('both') ! jjj=0 ! do ii=lbound(analyses,dim=1),ubound(analyses,dim=1) ! call deallocate_covariance_matrices ! call assign_Higgs_to_peaks(analyses(ii)%table, analyses(ii)%peaks,0) ! do iii=lbound(analyses(ii)%peaks,dim=1),ubound(analyses(ii)%peaks,dim=1) ! if(analyses(ii)%table%mhchisq.eq.1.and.& ! & len(trim(analyses(ii)%peaks(iii)%assignmentgroup)).ne.0) then ! jjj=jjj+1 ! assignmentgroups(jjj)=analyses(ii)%peaks(iii)%assignmentgroup ! assignmentgroups_Higgs_comb(jjj,:)=analyses(ii)%peaks(iii)%Higgs_comb ! assignmentgroups_domH(jjj)=analyses(ii)%peaks(iii)%domH ! endif ! enddo ! enddo ! do ii=lbound(analyses,dim=1),ubound(analyses,dim=1) ! do iii=lbound(analyses(ii)%peaks,dim=1),ubound(analyses(ii)%peaks,dim=1) ! if(analyses(ii)%table%mhchisq.eq.0.and.& ! & len(trim(analyses(ii)%peaks(iii)%assignmentgroup)).ne.0) then ! do jjj=lbound(assignmentgroups,dim=1),ubound(assignmentgroups,dim=1) ! if(analyses(ii)%peaks(iii)%assignmentgroup.eq.assignmentgroups(jjj)) then ! !TAKE OVER THE HIGGS ASSIGNMENT OF THE LEADING PEAK ! analyses(ii)%peaks(iii)%Higgs_comb=assignmentgroups_Higgs_comb(jjj,:) ! analyses(ii)%peaks(iii)%domH=assignmentgroups_domH(jjj) ! if(assignmentgroups_domH(jjj).ne.0) then ! analyses(ii)%peaks(iii)%Higgs_assignment_forced=1 ! endif ! ! TODO: Need to evaluate everything else here! ! call evaluate_peak(analyses(ii)%peaks(iii),analyses(ii)%table) ! endif ! enddo ! endif ! enddo ! enddo ! ! call assign_Higgs_to_peaks_with_correlations(iterations) ! ! do ii=lbound(analyses,dim=1),ubound(analyses,dim=1) ! call check_available_Higgses(ii) ! call fill_mp_obs(ii) ! enddo ! if(mc_mode.eq.1) call mass_variation_by_theory_uncertainty ! ! call calculate_total_chisq(totchisq, muchisq, mhchisq, mpredchisq, nobs, Nmu, Nmh, Nmpred) ! ! !Have to write a new print method ! if(output_level.eq.1) call print_all_observables ! if(output_level.eq.2) call print_peakinformation_essentials ! if(output_level.eq.3) then ! call print_peaks_to_file ! call print_peaks_signal_rates_to_file ! endif ! ! call add_peaks_to_HSresults(r) ! ! HSres(n)%Chisq=totchisq ! HSres(n)%Chisq_peak_mu = muchisq ! HSres(n)%Chisq_mpred = mpredchisq ! HSres(n)%Chisq_mu=muchisq + mpredchisq ! HSres(n)%Chisq_mh=mhchisq ! HSres(n)%nobs_mpred=Nmpred ! HSres(n)%nobs_peak_mu=Nmu ! HSres(n)%nobs_peak_mh=Nmh ! HSres(n)%nanalysis=size(analyses) ! HSres(n)%nobs=nobs ! if(HSres(n)%Chisq.gt.vsmall.and.(HSres(n)%nobs-Nparam).gt.0) then ! HSres(n)%Pvalue=1 - gammp(dble(HSres(n)%nobs-Nparam)/2,HSres(n)%Chisq/2) ! endif ! ! case default ! stop "Error in subroutine evaluate_model: Please specify runmode!" ! ! end select deallocate(neutHiggses) deallocate(assignmentgroups, assignmentgroups_domH, assignmentgroups_Higgs_comb) end subroutine evaluate_model !------------------------------------------------------------ subroutine calc_mupred( j, t, mutab, Higgs ) ! Calculates the model-predicted signal strength modifier !------------------------------------------------------------ use usefulbits, only : dataset, div, vsmall use usefulbits_HS, only : neutHiggs, mutable, useSMtest, eps implicit none integer, intent(in) :: j ! Higgs index type(dataset), intent(in) :: t type(mutable), intent(inout) :: mutab type(neutHiggs), intent(inout) :: Higgs integer :: i double precision :: c, dcbyc integer :: testSMratios logical :: correct_properties Higgs%m = t%particle(mutab%particle_x)%M(j) Higgs%dm = t%particle(mutab%particle_x)%dM(j) Higgs%id = j call get_channelrates( j, t, mutab ) correct_properties=.True. !--Evaluate the predicted signal strength modifier c of the model c=0. do i=1,mutab%Nc !----use a weighted average of the channel rate ratios c=c+mutab%channel_w(i,j)*mutab%channel_mu(i,j) enddo !--Evaluate the deviation of each channel rate ratio to the signal !--strength modifier c and test SM likeness criterium, if this is !--activated. testSMratios= 1 !passes the SM-like ratios test do i=1,mutab%Nc dcbyc=div((mutab%channel_mu(i,j)-c),c,0.0D0,1.0D9) if(dcbyc*mutab%channel_w(i,j).gt.eps.and.useSMtest) then testSMratios= -1 !fails the SM-like ratios test endif enddo if(testSMratios.lt.0) correct_properties=.False. if(correct_properties) then Higgs%mu=c else Higgs%mu=0.0D0 endif end subroutine calc_mupred !------------------------------------------------------------ subroutine get_channelrates( j, t, mutab ) ! This subroutine assignes the rates, weights and systematic rate uncertainty of ! the Higgs boson (j) for the channels considered by the analysis (mutab). ! ! WARNING: if normalize_rates_to_reference_position is true ! The rates are normalized w.r.t. a reference rate at the (peak) mass position. ! This does not work with the mass-centered chi^2 method. ! Also, theoretical mass uncertainties are problematic! !------------------------------------------------------------ use usefulbits, only : dataset, div, small use usefulbits_HS, only : neutHiggs, mutable, delta_rate, normalize_rates_to_reference_position,& & normalize_rates_to_reference_position_outside_dmtheo use theory_XS_SM_functions use theory_BRfunctions integer, intent(in) :: j type(dataset), intent(in) :: t type(mutable), intent(inout) :: mutab integer :: i, p, d ! id integer :: ii, p1, p2, d1, d2 !id1, id2 double precision :: rate, SMrate, modelrate, drsq_SM, drsq, dBR, dBRSM,drcov,drcovSM double precision :: rate_SMref,refmass,BR_SMref!,BR_SMref_mpeak double precision :: dynamicalmass, rate_SMdyn ! TS (17/10/2018: dynamicalmass is the default reference mass position for the SM normalization) if(size(mutab%mass,dim=1).eq.1) then refmass = mutab%mass(1) ! TS (17/10/2018): Take dynamical reference mass for SM-normalization at mobs+dmtheo box boundary. if(t%particle(mutab%particle_x)%M(j).ge.(mutab%mass(1)+t%particle(mutab%particle_x)%dM(j))) then dynamicalmass = mutab%mass(1) + t%particle(mutab%particle_x)%dM(j) else if(t%particle(mutab%particle_x)%M(j).le.(mutab%mass(1)-t%particle(mutab%particle_x)%dM(j))) then dynamicalmass = mutab%mass(1) - t%particle(mutab%particle_x)%dM(j) else dynamicalmass = t%particle(mutab%particle_x)%M(j) endif ! write(*,*) "HS debug, dynamicalmass, refmass = ",dynamicalmass, refmass !--- else ! Only relevant for the mass-centered chi^2 method refmass = t%particle(mutab%particle_x)%M(j) endif !write(*,*) 'DEBUG HS: id = ', mutab%id !write(*,*) 'DEBUG HS, m = ', t%particle(mutab%particle_x)%M(j) do i=1,mutab%Nc ! id = mutab%channel_id(i) ! p = int((id-modulo(id,10))/dble(10)) ! d = modulo(id,10) p = mutab%channel_p_id(i) d = mutab%channel_d_id(i) !--Do the production rate for the relevant experiment and cms-energy if(mutab%collider.eq.'LHC') then if(abs(mutab%energy-7.0D0).le.small) then if(p.eq.1) then rate=t%lhc7%XS_hj_ratio(j) SMrate=t%lhc7%XS_H_SM(j) rate_SMdyn=XS_lhc7_gg_H_SM(dynamicalmass)+XS_lhc7_bb_H_SM(dynamicalmass) rate_SMref=XS_lhc7_gg_H_SM(refmass)+XS_lhc7_bb_H_SM(refmass) mutab%channel_description(i,1)='singleH' else if(p.eq.2) then rate=t%lhc7%XS_vbf_ratio(j) SMrate=t%lhc7%XS_vbf_SM(j) rate_SMdyn=XS_lhc7_vbf_SM(dynamicalmass) rate_SMref=XS_lhc7_vbf_SM(refmass) mutab%channel_description(i,1)='VBF' else if(p.eq.3) then rate=t%lhc7%XS_hjW_ratio(j) SMrate=t%lhc7%XS_HW_SM(j) rate_SMdyn=WH_nnlo(dynamicalmass,'LHC7 ',1.0D0,1.0D0,1.0D0,.True.,.True.) rate_SMref=WH_nnlo(refmass,'LHC7 ',1.0D0,1.0D0,1.0D0,.True.,.True.) mutab%channel_description(i,1)='HW' else if(p.eq.4) then rate=t%lhc7%XS_hjZ_ratio(j) SMrate=t%lhc7%XS_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_ggqqbb(dynamicalmass,'LHC7 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_ggqqbb(refmass,'LHC7 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='HZ' else if(p.eq.5) then rate=t%lhc7%XS_tthj_ratio(j) SMrate=t%lhc7%XS_ttH_SM(j) rate_SMdyn=XS_lhc7_ttH_SM(dynamicalmass) rate_SMref=XS_lhc7_ttH_SM(refmass) mutab%channel_description(i,1)='ttH' else if(p.eq.6) then rate=t%lhc7%XS_gg_hj_ratio(j) SMrate=t%lhc7%XS_gg_H_SM(j) rate_SMdyn=XS_lhc7_gg_H_SM(dynamicalmass) rate_SMref=XS_lhc7_gg_H_SM(refmass) mutab%channel_description(i,1)='ggH' else if(p.eq.7) then rate=t%lhc7%XS_bb_hj_ratio(j) SMrate=t%lhc7%XS_bb_H_SM(j) rate_SMdyn=XS_lhc7_bb_H_SM(dynamicalmass) rate_SMref=XS_lhc7_bb_H_SM(refmass) mutab%channel_description(i,1)='bbH' else if(p.eq.8) then rate=t%lhc7%XS_thj_tchan_ratio(j) SMrate=t%lhc7%XS_tH_tchan_SM(j) rate_SMdyn=XS_lhc7_tH_tchan_SM(dynamicalmass) rate_SMref=XS_lhc7_tH_tchan_SM(refmass) mutab%channel_description(i,1)='tH (t-channel)' else if(p.eq.9) then rate=t%lhc7%XS_thj_schan_ratio(j) SMrate=t%lhc7%XS_tH_schan_SM(j) rate_SMdyn=XS_lhc7_tH_schan_SM(dynamicalmass) rate_SMref=XS_lhc7_tH_schan_SM(refmass) mutab%channel_description(i,1)='tH (s-channel)' else if(p.eq.10) then rate=t%lhc7%XS_qq_hjZ_ratio(j) SMrate=t%lhc7%XS_qq_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_qqbb(dynamicalmass,'LHC7 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_qqbb(refmass,'LHC7 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='qq-HZ' else if(p.eq.11) then rate=t%lhc7%XS_gg_hjZ_ratio(j) SMrate=t%lhc7%XS_gg_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_gg(dynamicalmass,'LHC7 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_gg(refmass,'LHC7 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='gg-HZ' else if(p.eq.0) then rate=1.0D0 SMrate=1.0D0 rate_SMdyn=1.0D0 rate_SMref=1.0D0 mutab%channel_description(i,1)='none' endif else if(abs(mutab%energy-8.0D0).le.small) then if(p.eq.1) then rate=t%lhc8%XS_hj_ratio(j) SMrate=t%lhc8%XS_H_SM(j) rate_SMdyn=XS_lhc8_gg_H_SM(dynamicalmass)+XS_lhc8_bb_H_SM(dynamicalmass) rate_SMref=XS_lhc8_gg_H_SM(refmass)+XS_lhc8_bb_H_SM(refmass) mutab%channel_description(i,1)='singleH' else if(p.eq.2) then rate=t%lhc8%XS_vbf_ratio(j) SMrate=t%lhc8%XS_vbf_SM(j) rate_SMdyn=XS_lhc8_vbf_SM(dynamicalmass) rate_SMref=XS_lhc8_vbf_SM(refmass) mutab%channel_description(i,1)='VBF' else if(p.eq.3) then rate=t%lhc8%XS_hjW_ratio(j) SMrate=t%lhc8%XS_HW_SM(j) rate_SMdyn=WH_nnlo(dynamicalmass,'LHC8 ',1.0D0,1.0D0,1.0D0,.True.,.True.) rate_SMref=WH_nnlo(refmass,'LHC8 ',1.0D0,1.0D0,1.0D0,.True.,.True.) mutab%channel_description(i,1)='HW' else if(p.eq.4) then rate=t%lhc8%XS_hjZ_ratio(j) SMrate=t%lhc8%XS_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_ggqqbb(dynamicalmass,'LHC8 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_ggqqbb(refmass,'LHC8 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='HZ' else if(p.eq.5) then rate=t%lhc8%XS_tthj_ratio(j) SMrate=t%lhc8%XS_ttH_SM(j) rate_SMdyn=XS_lhc8_ttH_SM(dynamicalmass) rate_SMref=XS_lhc8_ttH_SM(refmass) mutab%channel_description(i,1)='ttH' else if(p.eq.6) then rate=t%lhc8%XS_gg_hj_ratio(j) SMrate=t%lhc8%XS_gg_H_SM(j) rate_SMdyn=XS_lhc8_gg_H_SM(dynamicalmass) rate_SMref=XS_lhc8_gg_H_SM(refmass) mutab%channel_description(i,1)='ggH' else if(p.eq.7) then rate=t%lhc8%XS_bb_hj_ratio(j) SMrate=t%lhc8%XS_bb_H_SM(j) rate_SMdyn=XS_lhc8_bb_H_SM(dynamicalmass) rate_SMref=XS_lhc8_bb_H_SM(refmass) mutab%channel_description(i,1)='bbH' else if(p.eq.8) then rate=t%lhc8%XS_thj_tchan_ratio(j) SMrate=t%lhc8%XS_tH_tchan_SM(j) rate_SMdyn=XS_lhc8_tH_tchan_SM(dynamicalmass) rate_SMref=XS_lhc8_tH_tchan_SM(refmass) mutab%channel_description(i,1)='tH (t-channel)' else if(p.eq.9) then rate=t%lhc8%XS_thj_schan_ratio(j) SMrate=t%lhc8%XS_tH_schan_SM(j) rate_SMdyn=XS_lhc8_tH_schan_SM(dynamicalmass) rate_SMref=XS_lhc8_tH_schan_SM(refmass) mutab%channel_description(i,1)='tH (s-channel)' else if(p.eq.10) then rate=t%lhc8%XS_qq_hjZ_ratio(j) SMrate=t%lhc8%XS_qq_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_qqbb(dynamicalmass,'LHC8 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_qqbb(refmass,'LHC8 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='qq-HZ' else if(p.eq.11) then rate=t%lhc8%XS_gg_hjZ_ratio(j) SMrate=t%lhc8%XS_gg_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_gg(dynamicalmass,'LHC8 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_gg(refmass,'LHC8 ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='gg-HZ' else if(p.eq.0) then rate=1.0D0 SMrate=1.0D0 rate_SMdyn=1.0D0 rate_SMref=1.0D0 mutab%channel_description(i,1)='none' endif else if(abs(mutab%energy-13.0D0).le.small) then if(p.eq.1) then rate=t%lhc13%XS_hj_ratio(j) SMrate=t%lhc13%XS_H_SM(j) rate_SMdyn=XS_lhc13_gg_H_SM(dynamicalmass)+XS_lhc13_bb_H_SM(dynamicalmass) rate_SMref=XS_lhc13_gg_H_SM(refmass) + XS_lhc13_bb_H_SM(refmass) mutab%channel_description(i,1)='singleH' else if(p.eq.2) then rate=t%lhc13%XS_vbf_ratio(j) SMrate=t%lhc13%XS_vbf_SM(j) rate_SMdyn=XS_lhc13_vbf_SM(dynamicalmass) rate_SMref=XS_lhc13_vbf_SM(refmass) mutab%channel_description(i,1)='VBF' else if(p.eq.3) then rate=t%lhc13%XS_hjW_ratio(j) SMrate=t%lhc13%XS_HW_SM(j) rate_SMdyn=WH_nnlo(dynamicalmass,'LHC13',1.0D0,1.0D0,1.0D0,.True.,.True.) rate_SMref=WH_nnlo(refmass,'LHC13',1.0D0,1.0D0,1.0D0,.True.,.True.) mutab%channel_description(i,1)='HW' else if(p.eq.4) then rate=t%lhc13%XS_hjZ_ratio(j) SMrate=t%lhc13%XS_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_ggqqbb(dynamicalmass,'LHC13',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_ggqqbb(refmass,'LHC13',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='HZ' else if(p.eq.5) then rate=t%lhc13%XS_tthj_ratio(j) SMrate=t%lhc13%XS_ttH_SM(j) rate_SMdyn=XS_lhc13_ttH_SM(dynamicalmass) rate_SMref=XS_lhc13_ttH_SM(refmass) mutab%channel_description(i,1)='ttH' else if(p.eq.6) then rate=t%lhc13%XS_gg_hj_ratio(j) SMrate=t%lhc13%XS_gg_H_SM(j) rate_SMdyn=XS_lhc13_gg_H_SM(dynamicalmass) rate_SMref=XS_lhc13_gg_H_SM(refmass) mutab%channel_description(i,1)='ggH' else if(p.eq.7) then rate=t%lhc13%XS_bb_hj_ratio(j) SMrate=t%lhc13%XS_bb_H_SM(j) rate_SMdyn=XS_lhc13_bb_H_SM(dynamicalmass) rate_SMref=XS_lhc13_bb_H_SM(refmass) mutab%channel_description(i,1)='bbH' else if(p.eq.8) then rate=t%lhc13%XS_thj_tchan_ratio(j) SMrate=t%lhc13%XS_tH_tchan_SM(j) rate_SMdyn=XS_lhc13_tH_tchan_SM(dynamicalmass) rate_SMref=XS_lhc13_tH_tchan_SM(refmass) mutab%channel_description(i,1)='tH (t-channel)' else if(p.eq.9) then rate=t%lhc13%XS_thj_schan_ratio(j) SMrate=t%lhc13%XS_tH_schan_SM(j) rate_SMdyn=XS_lhc13_tH_schan_SM(dynamicalmass) rate_SMref=XS_lhc13_tH_schan_SM(refmass) mutab%channel_description(i,1)='tH (s-channel)' else if(p.eq.10) then rate=t%lhc13%XS_qq_hjZ_ratio(j) SMrate=t%lhc13%XS_qq_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_qqbb(dynamicalmass,'LHC13',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_qqbb(refmass,'LHC13',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='qq-HZ' else if(p.eq.11) then rate=t%lhc13%XS_gg_hjZ_ratio(j) SMrate=t%lhc13%XS_gg_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_gg(dynamicalmass,'LHC13',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_gg(refmass,'LHC13',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='gg-HZ' else if(p.eq.0) then rate=1.0D0 SMrate=1.0D0 rate_SMdyn=1.0D0 rate_SMref=1.0D0 mutab%channel_description(i,1)='none' endif endif else if(mutab%collider.eq.'TEV') then if(p.eq.1) then rate=t%tev%XS_hj_ratio(j) SMrate=t%tev%XS_H_SM(j) rate_SMdyn=XS_tev_gg_H_SM(dynamicalmass)+XS_tev_bb_H_SM(dynamicalmass) rate_SMref=XS_tev_gg_H_SM(refmass)+XS_tev_bb_H_SM(refmass) mutab%channel_description(i,1)='singleH' else if(p.eq.2) then rate=t%tev%XS_vbf_ratio(j) SMrate=t%tev%XS_vbf_SM(j) rate_SMdyn=XS_tev_vbf_SM(dynamicalmass) rate_SMref=XS_tev_vbf_SM(refmass) mutab%channel_description(i,1)='VBF' else if(p.eq.3) then rate=t%tev%XS_hjW_ratio(j) SMrate=t%tev%XS_HW_SM(j) rate_SMdyn=WH_nnlo(dynamicalmass,'TEV ',1.0D0,1.0D0,1.0D0,.True.,.True.) rate_SMref=WH_nnlo(refmass,'TEV ',1.0D0,1.0D0,1.0D0,.True.,.True.) mutab%channel_description(i,1)='HW' else if(p.eq.4) then rate=t%tev%XS_hjZ_ratio(j) SMrate=t%tev%XS_HZ_SM(j) rate_SMdyn=ZH_cpmix_nnlo_ggqqbb(dynamicalmass,'TEV ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) rate_SMref=ZH_cpmix_nnlo_ggqqbb(refmass,'TEV ',1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,.True.) mutab%channel_description(i,1)='HZ' else if(p.eq.5) then rate=t%tev%XS_tthj_ratio(j) SMrate=t%tev%XS_ttH_SM(j) rate_SMdyn=XS_tev_ttH_SM(dynamicalmass) rate_SMref=XS_tev_ttH_SM(refmass) mutab%channel_description(i,1)='ttH' else if(p.eq.0) then rate=1.0D0 SMrate=1.0D0 rate_SMdyn=1.0D0 rate_SMref=1.0D0 mutab%channel_description(i,1)='none' endif else if(mutab%collider.eq.'ILC') then !--n.B.: As a first attempt, we use the LHC8 normalized cross sections for ZH, VBF, ttH. ! In order to do this properly, a separate input for the ILC cross sections ! has to be provided! It works only for single production mode observables (no ! correct weighting of channels included!)Then, at least in the effective coupling ! approximation, there is no difference to a full implementation. ! The theoretical uncertainty of the ILC production modes will are defined in ! usefulbits_HS.f90. if(p.eq.1.or.p.eq.2) then write(*,*) 'Warning: Unknown ILC production mode (',p,') in table ',mutab%id rate=0.0D0 SMrate=1.0D0 rate_SMref=1.0D0 mutab%channel_description(i,1)='unknown' else if(p.eq.3) then rate=t%lhc8%XS_hjW_ratio(j) SMrate=t%lhc8%XS_HW_SM(j) rate_SMdyn=WH_nnlo(dynamicalmass,'LHC8 ',1.0D0,1.0D0,1.0D0,.True.,.True.) rate_SMref=WH_nnlo(refmass,'LHC8 ',1.0D0,1.0D0,1.0D0,.True.,.True.) mutab%channel_description(i,1)='WBF' else if(p.eq.4) then rate=t%lhc8%XS_hjZ_ratio(j) SMrate=t%lhc8%XS_HZ_SM(j) rate_SMdyn=XS_lhc8_HZ_SM(dynamicalmass) rate_SMref=XS_lhc8_HZ_SM(refmass) mutab%channel_description(i,1)='HZ' else if(p.eq.5) then rate=t%lhc8%XS_tthj_ratio(j) SMrate=t%lhc8%XS_ttH_SM(j) rate_SMdyn=XS_lhc8_ttH_SM(dynamicalmass) rate_SMref=XS_lhc8_ttH_SM(refmass) mutab%channel_description(i,1)='ttH' else if(p.eq.0) then rate=1.0D0 SMrate=1.0D0 rate_SMdyn=1.0D0 rate_SMref=1.0D0 mutab%channel_description(i,1)='none' endif endif ! write(*,*) "DEBUG, after production mode, rate_SMdyn = ",rate_SMdyn !--Multiply now by the decay rate if(d.eq.1) then rate=rate*div(t%BR_hjgaga(j),t%BR_Hgaga_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Hgaga_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Hgaga(dynamicalmass) rate_SMref = rate_SMref*BRSM_Hgaga(refmass) mutab%channel_description(i,2)='gammagamma' else if(d.eq.2) then rate=rate*div(t%BR_hjWW(j),t%BR_HWW_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_HWW_SM(j) rate_SMdyn = rate_SMdyn*BRSM_HWW(dynamicalmass) rate_SMref = rate_SMref*BRSM_HWW(refmass) mutab%channel_description(i,2)='WW' else if(d.eq.3) then rate=rate*div(t%BR_hjZZ(j),t%BR_HZZ_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_HZZ_SM(j) rate_SMdyn = rate_SMdyn*BRSM_HZZ(dynamicalmass) rate_SMref = rate_SMref*BRSM_HZZ(refmass) mutab%channel_description(i,2)='ZZ' else if(d.eq.4) then rate=rate*div(t%BR_hjtautau(j),t%BR_Htautau_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Htautau_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Htautau(dynamicalmass) rate_SMref = rate_SMref*BRSM_Htautau(refmass) mutab%channel_description(i,2)='tautau' else if(d.eq.5) then rate=rate*div(t%BR_hjbb(j),t%BR_Hbb_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Hbb_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Hbb(dynamicalmass) rate_SMref = rate_SMref*BRSM_Hbb(refmass) mutab%channel_description(i,2)='bb' else if(d.eq.6) then rate=rate*div(t%BR_hjZga(j),t%BR_HZga_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_HZga_SM(j) rate_SMdyn = rate_SMdyn*BRSM_HZga(dynamicalmass) rate_SMref = rate_SMref*BRSM_HZga(refmass) mutab%channel_description(i,2)='Zgamma' else if(d.eq.7) then rate=rate*div(t%BR_hjcc(j),t%BR_Hcc_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Hcc_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Hcc(dynamicalmass) rate_SMref = rate_SMref*BRSM_Hcc(refmass) mutab%channel_description(i,2)='cc' else if(d.eq.8) then rate=rate*div(t%BR_hjmumu(j),t%BR_Hmumu_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Hmumu_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Hmumu(dynamicalmass) rate_SMref = rate_SMref*BRSM_Hmumu(refmass) mutab%channel_description(i,2)='mumu' else if(d.eq.9) then rate=rate*div(t%BR_hjgg(j),t%BR_Hgg_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Hgg_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Hgg(dynamicalmass) rate_SMref = rate_SMref*BRSM_Hgg(refmass) mutab%channel_description(i,2)='gg' else if(d.eq.10) then rate=rate*div(t%BR_hjss(j),t%BR_Hss_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Hss_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Hss(dynamicalmass) rate_SMref = rate_SMref*BRSM_Hss(refmass) mutab%channel_description(i,2)='ss' else if(d.eq.11) then rate=rate*div(t%BR_hjtt(j),t%BR_Htt_SM(j),0.0D0,1.0D0) SMrate=SMrate*t%BR_Htt_SM(j) rate_SMdyn = rate_SMdyn*BRSM_Htoptop(dynamicalmass) rate_SMref = rate_SMref*BRSM_Htoptop(refmass) mutab%channel_description(i,2)='tt' else if(d.eq.0) then rate=rate*1.0D0 SMrate=SMrate*1.0D0 rate_SMdyn = rate_SMdyn*1.0D0 rate_SMref = rate_SMref*1.0D0 mutab%channel_description(i,2)='none' endif !------------------------- ! NEW FEATURE (since HB-5.2): Enable to set channelrates directly. if(p.ne.0.and.d.ne.0) then select case(d) case(1) BR_SMref = t%BR_Hgaga_SM(j) ! BR_SMref_mpeak = BRSM_Hgaga(refmass) case(2) BR_SMref = t%BR_HWW_SM(j) ! BR_SMref_mpeak = BRSM_HWW(refmass) case(3) BR_SMref = t%BR_HZZ_SM(j) ! BR_SMref_mpeak = BRSM_HZZ(refmass) case(4) BR_SMref = t%BR_Htautau_SM(j) ! BR_SMref_mpeak = BRSM_Htautau(refmass) case(5) BR_SMref = t%BR_Hbb_SM(j) ! BR_SMref_mpeak = BRSM_Hbb(refmass) case(6) BR_SMref = t%BR_HZga_SM(j) ! BR_SMref_mpeak = BRSM_HZga(refmass) case(7) BR_SMref = t%BR_Hcc_SM(j) ! BR_SMref_mpeak = BRSM_Hcc(refmass) case(8) BR_SMref = t%BR_Hmumu_SM(j) ! BR_SMref_mpeak = BRSM_Hmumu(refmass) case(9) BR_SMref = t%BR_Hgg_SM(j) ! BR_SMref_mpeak = BRSM_Hgg(refmass) case(10) BR_SMref = t%BR_Hss_SM(j) case(11) BR_SMref = t%BR_Htt_SM(j) end select if(mutab%collider.eq.'LHC') then if(abs(mutab%energy-7.0D0).le.small) then if(t%lhc7%channelrates(j,p,d).ge.0.0d0) then rate=div(t%lhc7%channelrates(j,p,d),BR_SMref,0.0D0,1.0D0) endif else if(abs(mutab%energy-8.0D0).le.small) then if(t%lhc8%channelrates(j,p,d).ge.0.0d0) then rate=div(t%lhc8%channelrates(j,p,d),BR_SMref,0.0D0,1.0D0) endif else if(abs(mutab%energy-13.0D0).le.small) then if(t%lhc13%channelrates(j,p,d).ge.0.0d0) then rate=div(t%lhc13%channelrates(j,p,d),BR_SMref,0.0D0,1.0D0) endif endif else if(mutab%collider.eq.'TEV') then if(t%tev%channelrates(j,p,d).ge.0.0d0) then rate=div(t%tev%channelrates(j,p,d),BR_SMref,0.0D0,1.0D0) endif endif endif !------------------------- ! write(*,*) 'DEBUG HS: SM BRs = ', t%BR_HWW_SM(j), t%BR_HZZ_SM(j), t%BR_Hgaga_SM(j) ! write(*,*) 'DEBUG HS: rate, SMrate(i), rate_SMdyn = ', rate, SMrate, rate_SMdyn ! write(*,*) 'DEBUG HS: eff(i) = ', mutab%channel_eff(i) if(normalize_rates_to_reference_position) then !! THIS IS STILL IN TESTING PHASE !! mutab%channel_mu(i,j)=rate*SMrate/(rate_SMref) ! write(*,*) "DEBUG HS: normalize_rates_to_reference_position, mu = ",mutab%channel_mu(i,j) else ! mutab%channel_mu(i,j)=rate !! OLD WAY mutab%channel_mu(i,j)=rate*SMrate/(rate_SMdyn) !! NEW WAY (TS 17/10/2018) ! write(*,*) "DEBUG HS: not normalize_rates_to_reference_position, mu = ",mutab%channel_mu(i,j) endif if(normalize_rates_to_reference_position_outside_dmtheo) then if(abs(refmass-t%particle(mutab%particle_x)%M(j)).ge.t%particle(mutab%particle_x)%dM(j)) then mutab%channel_mu(i,j)=rate*SMrate/(rate_SMref) endif endif mutab%channel_w(i,j)=mutab%channel_eff(i)*SMrate ! mutab%channel_w_corrected_eff(i,j)=mutab%channel_eff_ratios(i)*mutab%channel_eff(i)*SMrate enddo ! write(*,*) 'DEBUG HS: BRs = ', t%BR_hjWW, t%BR_hjZZ, t%BR_hjgaga ! write(*,*) 'DEBUG HS: LHC13 = ', t%lhc13%XS_hj_ratio, t%lhc13%XS_vbf_ratio, t%lhc13%XS_hjW_ratio,& ! t%lhc13%XS_hjZ_ratio, t%lhc13%XS_tthj_ratio SMrate=sum(mutab%channel_w(:,j)) ! write(*,*) 'DEBUG HS: SMrate = ', SMrate ! modelrate=sum(mutab%channel_w_corrected_eff(:,j)) do i=1,mutab%Nc mutab%channel_w(i,j)=div(mutab%channel_w(i,j),SMrate,0.0D0,1.0D9) ! mutab%channel_w_corrected_eff(i,j)=div(mutab%channel_w_corrected_eff(i,j),modelrate,0.0D0,1.0D9) enddo ! (TS 30/10/2013): ! write(*,*) "get_channelrates (mu, w, weff):" ! write(*,*) mutab%channel_mu ! write(*,*) mutab%channel_w ! write(*,*) mutab%channel_eff_ratios do i=1,mutab%Nc mutab%channel_w_corrected_eff(i,j)=mutab%channel_eff_ratios(i)*mutab%channel_w(i,j) ! n.b.: model weights are not normalized to 1! enddo ! write(*,*) j,mutab%id, "SM = ", mutab%channel_w(:,j) ! write(*,*) j,mutab%id, "SM effcorr = ",mutab%channel_w_corrected_eff(:,j) do i=1,mutab%Nc drsq_SM = 0.0D0 drsq = 0.0D0 ! id1 = mutab%channel_id(i) ! p1 = int((id1-modulo(id1,10))/dble(10)) ! d1 = modulo(id1,10) p1 = mutab%channel_p_id(i) d1 = mutab%channel_d_id(i) if(mutab%collider.ne.'ILC') then do ii=1,mutab%Nc p2 = mutab%channel_p_id(ii) d2 = mutab%channel_d_id(ii) ! id2 = mutab%channel_id(ii) ! p2 = int((id2-modulo(id2,10))/dble(10)) ! d2 = modulo(id2,10) if(p1.eq.p2.and.p1.ne.0) then if(delta_rate%CScov_ok.and.delta_rate%usecov) then !-- TS 29/03/2017: Add 13 TeV XS covariance matrix here if(abs(mutab%energy-13.0D0).le.small) then drcov=delta_rate%CS13cov(p1,p1) drcovSM=delta_rate%CS13covSM(p1,p1) else drcov=delta_rate%CScov(p1,p1) drcovSM=delta_rate%CScovSM(p1,p1) endif drsq=drsq+drcov*mutab%channel_w_corrected_eff(i,j)*mutab%channel_w_corrected_eff(ii,j) drsq_SM=drsq_SM+drcovSM*mutab%channel_w(i,j)*mutab%channel_w(ii,j) else drsq=drsq+delta_rate%dCS(p1)**2*mutab%channel_w_corrected_eff(i,j)*mutab%channel_w_corrected_eff(ii,j) drsq_SM=drsq_SM+delta_rate%dCS_SM(p1)**2*mutab%channel_w(i,j)*mutab%channel_w(ii,j) endif endif if(d1.eq.d2.and.d1.ne.0) then if(delta_rate%BRcov_ok.and.delta_rate%usecov) then dBRSM = delta_rate%BRcovSM(d1,d1) dBR = delta_rate%BRcov(d1,d1) else dBRSM = delta_rate%dBR_SM(d1)**2 dBR = delta_rate%dBR(d1)**2 endif drsq=drsq+dBR*mutab%channel_w_corrected_eff(i,j)*mutab%channel_w_corrected_eff(ii,j) drsq_SM=drsq_SM+dBRSM*mutab%channel_w(i,j)*mutab%channel_w(ii,j) endif enddo endif mutab%channel_syst(i,j)=sqrt(drsq) mutab%channel_systSM(i,j)=sqrt(drsq_SM) enddo ! write(*,*) 'DEBUG HS: mu = ', mutab%channel_mu ! write(*,*) 'DEBUG HS: w = ', mutab%channel_w ! write(*,*) 'DEBUG HS: eff = ', mutab%channel_eff end subroutine get_channelrates !------------------------------------------------------------ subroutine get_Rvalues(ii,collider,R_H_WW, R_H_ZZ, R_H_gaga, R_H_tautau, R_H_bb, R_VH_bb) ! Returns SM normalized signal rates of some relevant channels (w/o efficiencies) ! for Higgs boson "ii" for a specific collider (see subroutine get_rates). !------------------------------------------------------------ ! use usefulbits, only : theo, np,Hneut ! use usefulbits_HS, only : mutable integer, intent(in) :: ii, collider double precision, intent(out) :: R_H_WW, R_H_ZZ, R_H_gaga, R_H_tautau, R_H_bb, R_VH_bb ! type(mutable) :: dummytable ! integer :: i call get_rates(ii,collider,5,(/ 12, 22, 32, 42, 52 /),R_H_WW) call get_rates(ii,collider,5,(/ 13, 23, 33, 43, 53 /),R_H_ZZ) call get_rates(ii,collider,5,(/ 11, 21, 31, 41, 51 /),R_H_gaga) call get_rates(ii,collider,5,(/ 14, 24, 34, 44, 54 /),R_H_tautau) call get_rates(ii,collider,5,(/ 15, 25, 35, 45, 55 /),R_H_bb) call get_rates(ii,collider,2,(/ 35, 45 /),R_VH_bb) end subroutine get_Rvalues !************************************************************ subroutine get_rates(ii,collider,Nchannels,IDchannels,rate) ! Returns SM normalized signal rates (w/o efficiencies) for Higgs boson "ii" and collider ! experiment "collider"(=1,2,3 for TEV, LHC7, LHC8). "Nchannels" gives the total number ! and IDchannels the two-digit ID of the subchannels, which should be included in the rates. ! IDchannels is an array of size(Nchannels). !------------------------------------------------------------ use usefulbits, only : theo, np,Hneut use usefulbits_HS, only : mutable integer, intent(in) :: ii, collider, Nchannels integer, dimension(Nchannels), intent(in) :: IDchannels double precision, intent(out) :: rate !-Internal type(mutable) :: dummytable integer :: i !-Initialize a dummy mutable in order to run get_channelrates for the channels we want. if(collider.eq.1) then dummytable%collider = 'TEV' else if(collider.eq.2) then dummytable%collider = 'LHC' dummytable%energy = 7.0D0 else if(collider.eq.3) then dummytable%collider = 'LHC' dummytable%energy = 8.0D0 else if(collider.eq.4) then dummytable%collider = 'LHC' dummytable%energy = 13.0D0 else write(*,*) 'WARNING: collider experiment for get_rates unknown.' continue endif dummytable%id = 999999 dummytable%particle_x = 1 dummytable%Nc=Nchannels allocate(dummytable%mass(1)) dummytable%mass(1) = theo(1)%particle(dummytable%particle_x)%M(ii) ! allocate(dummytable%channel_id(Nchannels)) allocate(dummytable%channel_p_id(Nchannels)) allocate(dummytable%channel_d_id(Nchannels)) allocate(dummytable%channel_eff(Nchannels)) allocate(dummytable%channel_eff_ratios(Nchannels)) !-Set all efficiencies equal: dummytable%channel_eff = 1.0D0 dummytable%channel_eff_ratios = 1.0D0 allocate(dummytable%channel_description(Nchannels,2)) allocate(dummytable%channel_w(Nchannels,np(Hneut))) allocate(dummytable%channel_w_corrected_eff(Nchannels,np(Hneut))) allocate(dummytable%channel_systSM(Nchannels,np(Hneut))) allocate(dummytable%channel_syst(Nchannels,np(Hneut))) allocate(dummytable%channel_mu(Nchannels,np(Hneut))) do i=1,Nchannels if(IDchannels(i).le.99) then dummytable%channel_p_id(i) = int((IDchannels(i)-modulo(id,10))/dble(10)) dummytable%channel_d_id(i) = modulo(IDchannels(i),10) else write(*,*) "Error in get_rates: channel-ID not supported. Use get_rates_str instead!" endif enddo call get_channelrates(ii, theo(1), dummytable) rate=0.0D0 do i=lbound(dummytable%channel_mu,dim=1),ubound(dummytable%channel_mu,dim=1) rate = rate + dummytable%channel_mu(i,ii)*dummytable%channel_w(i,ii) enddo deallocate(dummytable%channel_p_id,dummytable%channel_d_id,dummytable%channel_eff,& & dummytable%channel_w,dummytable%channel_systSM,dummytable%channel_syst, & & dummytable%channel_mu,dummytable%channel_eff_ratios,dummytable%channel_description, & & dummytable%channel_w_corrected_eff,dummytable%mass) end subroutine get_rates !************************************************************ subroutine get_rates_str(ii,collider,Nchannels,IDchannels_str,rate) ! Returns SM normalized signal rates (w/o efficiencies) for Higgs boson "ii" and collider ! experiment "collider"(=1,2,3 for TEV, LHC7, LHC8). "Nchannels" gives the total number ! and IDchannels_str the channel ID string of the subchannels, which should be included in the rates. ! IDchannels_str is an array of size(Nchannels). !------------------------------------------------------------ use usefulbits, only : theo, np,Hneut use usefulbits_HS, only : mutable integer, intent(in) :: ii, collider, Nchannels character(LEN=*), dimension(Nchannels), intent(in) :: IDchannels_str double precision, intent(out) :: rate !-Internal type(mutable) :: dummytable integer :: i,id,posperiod !-Initialize a dummy mutable in order to run get_channelrates for the channels we want. if(collider.eq.1) then dummytable%collider = 'TEV' else if(collider.eq.2) then dummytable%collider = 'LHC' dummytable%energy = 7.0D0 else if(collider.eq.3) then dummytable%collider = 'LHC' dummytable%energy = 8.0D0 else if(collider.eq.4) then dummytable%collider = 'LHC' dummytable%energy = 13.0D0 else write(*,*) 'WARNING: collider experiment for get_rates unknown.' continue endif dummytable%id = 999999 dummytable%particle_x = 1 dummytable%Nc=Nchannels allocate(dummytable%mass(1)) dummytable%mass(1) = theo(1)%particle(dummytable%particle_x)%M(ii) ! allocate(dummytable%channel_id(Nchannels)) allocate(dummytable%channel_p_id(Nchannels)) allocate(dummytable%channel_d_id(Nchannels)) allocate(dummytable%channel_eff(Nchannels)) allocate(dummytable%channel_eff_ratios(Nchannels)) !-Set all efficiencies equal: dummytable%channel_eff = 1.0D0 dummytable%channel_eff_ratios = 1.0D0 allocate(dummytable%channel_description(Nchannels,2)) allocate(dummytable%channel_w(Nchannels,np(Hneut))) allocate(dummytable%channel_w_corrected_eff(Nchannels,np(Hneut))) allocate(dummytable%channel_systSM(Nchannels,np(Hneut))) allocate(dummytable%channel_syst(Nchannels,np(Hneut))) allocate(dummytable%channel_mu(Nchannels,np(Hneut))) ! do i = 1,Nchannels ! write(*,*) i, IDchannels_str(i) ! enddo do i=1,Nchannels posperiod = index(IDchannels_str(i),'.') ! write(*,*) IDchannels_str(i) if(posperiod.eq.0) then if(len(trim(adjustl(IDchannels_str(i)))).eq.2) then read(IDchannels_str(i),*) id dummytable%channel_p_id(i) = int((id-modulo(id,10))/dble(10)) dummytable%channel_d_id(i) = modulo(id,10) else stop " Error in get_rates_str: Cannot handle channel IDs!" endif else ! write(*,*) dummytable%channel_p_id(i), dummytable%channel_d_id(i) read(IDchannels_str(i)(:posperiod-1),*) dummytable%channel_p_id(i) read(IDchannels_str(i)(posperiod+1:),*) dummytable%channel_d_id(i) endif enddo ! write(*,*) dummytable%channel_p_id, dummytable%channel_d_id call get_channelrates(ii, theo(1), dummytable) rate=0.0D0 do i=lbound(dummytable%channel_mu,dim=1),ubound(dummytable%channel_mu,dim=1) rate = rate + dummytable%channel_mu(i,ii)*dummytable%channel_w(i,ii) enddo deallocate(dummytable%channel_p_id,dummytable%channel_d_id,dummytable%channel_eff,& & dummytable%channel_w,dummytable%channel_systSM,dummytable%channel_syst, & & dummytable%channel_mu,dummytable%channel_eff_ratios,dummytable%channel_description, & & dummytable%channel_w_corrected_eff,dummytable%mass) end subroutine get_rates_str !------------------------------------------------------------ subroutine get_Pvalue(nparam, Pvalue) ! Calculates the Chi^2 probability for the total Chi^2 value ! and the number of degrees of freedom given by the ! number of observables - nparam !------------------------------------------------------------ use usefulbits, only : vsmall use usefulbits_hs, only: HSres use numerics implicit none integer, intent(in) :: nparam double precision, intent(out) :: Pvalue if(allocated(HSres)) then if(HSres(1)%Chisq.gt.vsmall.and.(HSres(1)%nobs-nparam).gt.0) then HSres(1)%Pvalue = 1 - gammp(dble(HSres(1)%nobs-nparam)/2,HSres(1)%Chisq/2) endif else write(*,*) "Warning: subroutine get_Pvalue should be called after run_HiggsSignals." endif Pvalue = HSres(1)%Pvalue end subroutine get_Pvalue !------------------------------------------------------------ subroutine get_neutral_Higgs_masses(Mh, dMh) ! Sets the theoretical mass uncertainty of the Higgs bosons. !------------------------------------------------------------ use usefulbits, only: theo,np,Hneut implicit none double precision,intent(out) :: Mh(np(Hneut)), dMh(np(Hneut)) if(.not.allocated(theo))then stop 'No model information given!' endif if(np(Hneut).eq.0)then write(*,*)'Cannot access the neutral Higgs boson masses' write(*,*)'because np(Hneut) == 0.' stop 'error in subroutine get_neutral_Higgs_masses' endif Mh = theo(1)%particle(Hneut)%M dMh = theo(1)%particle(Hneut)%dM end subroutine get_neutral_Higgs_masses !------------------------------------------------------------ subroutine complete_HS_results() !------------------------------------------------------------ use usefulbits, only : just_after_run, ndat use usefulbits_HS, only : HSres, Nparam use numerics, only : gammp integer :: n if(just_after_run) then do n=1,ndat HSres(n)%Chisq_mu = HSres(n)%Chisq_peak_mu + & !HSres(n)%Chisq_mpred + & & HSres(n)%Chisq_STXS_rates + HSres(n)%Chisq_LHCRun1_mu HSres(n)%Chisq_mh = HSres(n)%Chisq_peak_mh + HSres(n)%Chisq_LHCRun1_mh + & & HSres(n)%Chisq_STXS_mh HSres(n)%Chisq_STXS = HSres(n)%Chisq_STXS_rates + HSres(n)%Chisq_STXS_mh HSres(n)%Chisq_peak = HSres(n)%Chisq_peak_mu + HSres(n)%Chisq_peak_mh HSres(n)%Chisq_LHCRun1 = HSres(n)%Chisq_LHCRun1_mu + HSres(n)%Chisq_LHCRun1_mh HSres(n)%Chisq = HSres(n)%Chisq_mu + HSres(n)%Chisq_mh HSres(n)%nobs_mu = HSres(n)%nobs_peak_mu + &!HSres(n)%nobs_mpred + & & HSres(n)%nobs_LHCRun1_mu + HSres(n)%nobs_STXS_rates HSres(n)%nobs_mh = HSres(n)%nobs_peak_mh + HSres(n)%nobs_LHCRun1_mh + & & HSres(n)%nobs_STXS_mh HSres(n)%nobs_peak = HSres(n)%nobs_peak_mu + HSres(n)%nobs_peak_mh HSres(n)%nobs_STXS = HSres(n)%nobs_STXS_rates + HSres(n)%nobs_STXS_mh HSres(n)%nobs_LHCRun1 = HSres(n)%nobs_LHCRun1_mu + HSres(n)%nobs_LHCRun1_mh HSres(n)%nobs = HSres(n)%nobs_mu + HSres(n)%nobs_mh if(HSres(n)%Chisq.gt.vsmall.and.(HSres(n)%nobs-Nparam).gt.0) then HSres(n)%Pvalue=1 - gammp(dble(HSres(n)%nobs-Nparam)/2.0D0,HSres(n)%Chisq/2.0D0) endif if(HSres(n)%Chisq_peak.gt.vsmall.and.(HSres(n)%nobs_peak-Nparam).gt.0) then HSres(n)%Pvalue_peak=1 - gammp(dble(HSres(n)%nobs_peak-Nparam)/2.0D0,HSres(n)%Chisq_peak/2.0D0) endif if(HSres(n)%Chisq_LHCRun1.gt.vsmall.and.(HSres(n)%nobs_LHCRun1-Nparam).gt.0) then HSres(n)%Pvalue_LHCRun1=1 - gammp(dble(HSres(n)%nobs_LHCRun1-Nparam)/2.0D0,HSres(n)%Chisq_LHCRun1/2.0D0) endif if(HSres(n)%Chisq_STXS.gt.vsmall.and.(HSres(n)%nobs_STXS-Nparam).gt.0) then HSres(n)%Pvalue_STXS=1 - gammp(dble(HSres(n)%nobs_STXS-Nparam)/2.0D0,HSres(n)%Chisq_STXS/2.0D0) endif enddo else write(*,*) "Warning: complete_HS_results was called but just_after_run is", just_after_run endif !------------------------------------------------------------ end subroutine complete_HS_results !------------------------------------------------------------ subroutine finish_HiggsSignals ! This subroutine needs to be called right at the end, to close files ! and deallocate arrays !------------------------------------------------------------ use usefulbits, only : deallocate_usefulbits,debug,theo,debug, &!,inputsub & file_id_debug1,file_id_debug2 use S95tables, only : deallocate_Exptranges use theory_BRfunctions, only : deallocate_BRSM use datatables, only : deallocate_observables use usefulbits_HS, only : deallocate_usefulbits_HS, analyses use mc_chisq, only : deallocate_mc_observables use store_pathname_HS !#if defined(NAGf90Fortran) ! use F90_UNIX_IO, only : flush !#endif if(debug)then close(file_id_debug2) close(file_id_debug1) endif if(debug) write(*,*)'finishing off...' ; call flush(6) if(.not.allocated(theo))then ! stop 'HiggsBounds_initialize should be called first' if(debug) write(*,*) "HiggsBounds/HiggsSignals internal structure already deallocated!" else call deallocate_BRSM call deallocate_Exptranges call deallocate_usefulbits ! if (allocated(inputsub)) deallocate(inputsub) endif ! write(*,*) "before deallocate mc observables." call deallocate_mc_observables ! write(*,*) "after deallocate mc observables." call deallocate_observables if(allocated(analyses)) deallocate(analyses) call deallocate_usefulbits_HS ! call system('rm -f '//trim(adjustl(pathname_HS))//'Expt_tables/analyses.txt') call system('rm -f HS_analyses.txt') if(debug) write(*,*)'finished' ; call flush(6) end subroutine finish_HiggsSignals !------------------------------------------------------------ subroutine finish_HiggsSignals_only !------------------------------------------------------------ use datatables, only : deallocate_observables use usefulbits_HS, only : deallocate_usefulbits_HS, analyses use mc_chisq, only : deallocate_mc_observables use store_pathname_HS call deallocate_mc_observables call deallocate_observables if(allocated(analyses)) deallocate(analyses) call deallocate_usefulbits_HS call system('rm -f HS_analyses.txt') end subroutine finish_HiggsSignals_only !------------------------------------------------------------ ! SOME HANDY WRAPPER SUBROUTINES !------------------------------------------------------------ subroutine initialize_HiggsSignals_for_Fittino(nHiggsneut,nHiggsplus) !------------------------------------------------------------ ! Wrapper subroutine to intitialize HiggsSignals with the experimental ! dataset "latestresults", avoiding to specify this via a string argument. !------------------------------------------------------------ implicit none !--------------------------------------input integer,intent(in) :: nHiggsneut integer,intent(in) :: nHiggsplus ! character(LEN=19) :: Expt_string character(LEN=33) :: Expt_string ! Expt_string = "Moriond2013_Fittino" Expt_string = "latestresults_April2013_inclusive" call initialize_HiggsSignals(nHiggsneut,nHiggsplus,Expt_string) end subroutine initialize_HiggsSignals_for_Fittino !------------------------------------------------------------ subroutine get_number_of_observables_wrapper(ntotal, npeakmu, npeakmh, nmpred, nanalyses) !------------------------------------------------------------ use io, only : get_number_of_observables implicit none integer, intent(out) :: ntotal, npeakmu, npeakmh, nmpred, nanalyses call get_number_of_observables(ntotal, npeakmu, npeakmh, nmpred, nanalyses) end subroutine get_number_of_observables_wrapper !------------------------------------------------------------ subroutine get_ID_of_peakobservable_wrapper(ii, ID) !------------------------------------------------------------ use io, only : get_ID_of_peakobservable implicit none integer, intent(in) :: ii integer, intent(out) :: ID call get_ID_of_peakobservable(ii, ID) end subroutine get_ID_of_peakobservable_wrapper !------------------------------------------------------------ subroutine get_peakinfo_from_HSresults_wrapper(obsID, mupred, domH, nHcomb) !-------------------------------------------------------------------- use io, only : get_peakinfo_from_HSresults implicit none integer, intent(in) :: obsID double precision, intent(out) :: mupred integer, intent(out) :: domH, nHcomb call get_peakinfo_from_HSresults(obsID, mupred, domH, nHcomb) end subroutine get_peakinfo_from_HSresults_wrapper !------------------------------------------------------------ subroutine print_cov_mh_to_file_wrapper(Hindex) !------------------------------------------------------------ use pc_chisq, only : print_cov_mh_to_file implicit none integer, intent(in) :: Hindex call print_cov_mh_to_file(Hindex) end subroutine print_cov_mh_to_file_wrapper !------------------------------------------------------------ subroutine print_cov_mu_to_file_wrapper !------------------------------------------------------------ use pc_chisq, only : print_cov_mu_to_file implicit none call print_cov_mu_to_file end subroutine print_cov_mu_to_file_wrapper !------------------------------------------------------------ subroutine print_corr_mu_to_file_wrapper !------------------------------------------------------------ use pc_chisq, only : print_corr_mu_to_file implicit none call print_corr_mu_to_file end subroutine print_corr_mu_to_file_wrapper !------------------------------------------------------------ Index: trunk/HiggsSignals-2/mc_chisq.f90 =================================================================== --- trunk/HiggsSignals-2/mc_chisq.f90 (revision 593) +++ trunk/HiggsSignals-2/mc_chisq.f90 (revision 594) @@ -1,1084 +1,1084 @@ !-------------------------------------------------------------------- ! This file is part of HiggsSignals (TS 03/03/2013) !-------------------------------------------------------------------- module mc_chisq use numerics use combinatorics use usefulbits_hs implicit none integer :: mc_mode = 1 ! mc_mode = 1 -> (default) Mass scan for theoretical mass uncertainty ! mc_mode = 2 -> mu-plot smearing for theoretical mass uncertainty contains !-------------------------------------------------------------------- subroutine print_mc_observables !-------------------------------------------------------------------- implicit none integer :: i, j, k do i=lbound(analyses,dim=1),ubound(analyses,dim=1) write(*,*) write(*,*) '#*************************************************************************#' write(*,'(A,I3,A,I3,A)') ' # Analysis ',i,' #' write(*,*) '#*************************************************************************#' write(*,'(A25,1I10)') 'ID =', analyses(i)%table%id write(*,'(A25,4X,A3)') 'Collaboration =', analyses(i)%table%collaboration write(*,'(A25,4X,F6.2)') 'cms energy =', analyses(i)%table%energy write(*,'(A25,4X,A100)') 'Reference =', analyses(i)%table%label write(*,'(A25,4X,A100)') 'Description =', analyses(i)%table%desc do j=lbound(analyses(i)%mpred%mp_Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses,dim=1) write(*,*)'#--------------------- pred. mass centered observable --------------------#' write(*,'(A25,4X,F10.2)') 'Higgs mass =', analyses(i)%mpred%mp_Higgses(j)%m write(*,'(A25,4X,F10.2)') 'Higgs mass uncertainty =',analyses(i)%mpred%mp_Higgses(j)%dm write(*,'(A25,4X,F10.6)') 'Pred. signal strength =',analyses(i)%mpred%mp_Higgses(j)%mu write(*,'(A25,4X,I10)') 'Combined Higgses =',& & size(analyses(i)%mpred%mp_Higgses(j)%Higgses,dim=1) do k=lbound(analyses(i)%mpred%mp_Higgses(j)%Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses(j)%Higgses,dim=1) write(*,'(A5,I2,A18,4X,3F10.4)') 'Higgs ',k,' (m, dm, mu) =', & & analyses(i)%mpred%mp_Higgses(j)%Higgses(k)%m,& & analyses(i)%mpred%mp_Higgses(j)%Higgses(k)%dm,& & analyses(i)%mpred%mp_Higgses(j)%Higgses(k)%mu enddo write(*,'(A25,4X,F10.6)') 'obs. mass value =', analyses(i)%mpred%mp_Higgses(j)%m_obs write(*,'(A25,4X,F10.6)') 'obs. signal strength =',& & analyses(i)%mpred%mp_Higgses(j)%mu_obs write(*,'(A25,4X,2F10.6)') 'cyan band(low,high) =',& & analyses(i)%mpred%mp_Higgses(j)%dmu_low_obs,analyses(i)%mpred%mp_Higgses(j)%dmu_up_obs write(*,'(A25,4X,2F10.6)') 'dmu0 (low,high) =',& & analyses(i)%mpred%mp_Higgses(j)%dmu_low0_obs,& & analyses(i)%mpred%mp_Higgses(j)%dmu_up0_obs write(*,'(A25,4X,F10.6)') 'Chisq =', analyses(i)%mpred%mp_Higgses(j)%chisq enddo enddo end subroutine print_mc_observables !-------------------------------------------------------------------- subroutine print_mc_observables_essentials !-------------------------------------------------------------------- implicit none integer :: i, j, k do i=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(i)%obstype.eq.2) then write(*,*) write(*,*) '#*************************************************************************#' write(*,'(A,I3,A,I3,A)') ' # Mass-centered Observable ',i,& &' #' write(*,*) '#*************************************************************************#' write(*,'(A25,1I10)') 'ID =', obs(i)%id write(*,'(A25,4X,A3)') 'Collaboration =', obs(i)%table%collaboration write(*,'(A25,4X,F6.2)') 'cms energy =', obs(i)%table%energy write(*,'(A25,4X,A100)') 'Reference =', obs(i)%table%label write(*,'(A25,4X,A100)') 'Description =', obs(i)%table%desc write(*,'(A25,4X,1F5.2,A3,1F5.2)') 'luminosity, lum. error =',& & obs(i)%table%lumi,', ',obs(i)%table%dlumi write(*,'(A25,1X,A2,1F7.2,A1,1F7.2,A4,1F5.2)') 'mass range, separation =','[ ',& & obs(i)%table%xmin,',',obs(i)%table%xmax,' ], ',obs(i)%table%sep write(*,'(A25,1F10.2)') 'mass resolution =',obs(i)%table%deltam write(*,*)'#------------------------ Channel information ----------------------------#' write(*,*)' p,d-ID prod. decay efficiency' write(*,*)'#-------------------------------------------------------------------------#' do k=1, obs(i)%table%Nc write(*,'(1I5,5X,2A,1F15.6)') obs(i)%table%channel_p_id(k),obs(i)%table%channel_d_id(k), & & obs(i)%table%channel_description(k,:),obs(i)%table%channel_eff(k) enddo write(*,*)'#-------------------------------------------------------------------------#' endif enddo end subroutine print_mc_observables_essentials !-------------------------------------------------------------------- subroutine print_mc_tables_to_file !-------------------------------------------------------------------- use usefulbits, only : file_id_common3 use usefulbits_hs, only : StrCompress implicit none character(LEN=100) :: formatspec integer :: i,kk formatspec='(I3,7X,I10,1X,4F7.2,1X,A3,1X,F6.2,1X,F6.2,1X,A,5X,A)' open(file_id_common3,file="mctables_information.txt") write(file_id_common3,*) "#HiggsSignals-"//trim(adjustl(HSvers))// & & " with experimental dataset '"//trim(adjustl(Exptdir))//"'" write(file_id_common3,*) "#Number Analysis-ID mh_min mh_max mh_sep",& & " dmh_exp collaboration energy luminosity description reference" write(file_id_common3,*) "#" kk=0 do i=lbound(obs,dim=1),ubound(obs,dim=1) if(obs(i)%obstype.eq.2) then kk=kk+1 write(file_id_common3,formatspec)kk,obs(i)%id,obs(i)%table%xmin, & & obs(i)%table%xmax,obs(i)%table%sep,obs(i)%table%deltam,obs(i)%table%collaboration,& & obs(i)%table%energy,obs(i)%table%lumi,trim(strcompress(obs(i)%table%desc)),& & obs(i)%table%label endif enddo close(file_id_common3) end subroutine print_mc_tables_to_file !------------------------------------------------------------------------------------ subroutine print_mc_observables_to_file !------------------------------------------------------------------------------------ use usefulbits, only : file_id_common3 use usefulbits_hs, only : HSres implicit none character(LEN=100) :: formatspec !,formatspec2 integer :: i,j,kk double precision :: mu_pull, dmu kk=0 formatspec='(I3,7X,I10,1X,3F8.2,1X,I3,1X4F8.2)' ! formatspec2='(I3,7X,I10,1X,2F8.2,1X,A7,1X,A7,1X,A7,1X,5F10.4)' open(file_id_common3,file="mcobservables_information.txt") write(file_id_common3,*) "#HiggsSignals-"//trim(adjustl(HSvers))// & & " with experimental dataset '"//trim(adjustl(Exptdir))//"'" write(file_id_common3,*) "#pull = (predicted - observed)/(gaussian uncertainty)" write(file_id_common3,*) "#Number Analysis-ID m(pred) dm(pred) mu(pred) ncomb m(obs)",& & " mu(obs) dmu mu_pull" write(file_id_common3,*) "#" do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%mpred%mp_Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses,dim=1) kk=kk+1 if(analyses(i)%mpred%mp_Higgses(j)%mu.ge.analyses(i)%mpred%mp_Higgses(j)%mu_obs) then dmu = analyses(i)%mpred%mp_Higgses(j)%dmu_up_obs else dmu = analyses(i)%mpred%mp_Higgses(j)%dmu_low_obs endif mu_pull = (analyses(i)%mpred%mp_Higgses(j)%mu - & & analyses(i)%mpred%mp_Higgses(j)%mu_obs)/dmu write(file_id_common3,formatspec)kk,analyses(i)%id, & & analyses(i)%mpred%mp_Higgses(j)%m, & & analyses(i)%mpred%mp_Higgses(j)%dm, & & analyses(i)%mpred%mp_Higgses(j)%mu, & & size(analyses(i)%mpred%mp_Higgses(j)%Higgses,dim=1), & ! combination code here! & analyses(i)%mpred%mp_Higgses(j)%m_obs, & & analyses(i)%mpred%mp_Higgses(j)%mu_obs, & & dmu, & & mu_pull enddo enddo close(file_id_common3) end subroutine print_mc_observables_to_file !-------------------------------------------------------------------- subroutine fill_mp_obs(ii) !-------------------------------------------------------------------- implicit none integer, intent(in) :: ii type(mp_neutHiggs), allocatable :: mp_H(:), mp_H_tmp(:) integer :: i,j,finished_combination,N !-Check if the Higgs is in the relevant mass region of the table ! and then tag it to be tested. N=0 ! = number of relevant Higgs bosons do i=lbound(analyses(ii)%Higgses,dim=1),ubound(analyses(ii)%Higgses,dim=1) if(analyses(ii)%Higgses(i)%m.ge.analyses(ii)%table%xmin.and.& & analyses(ii)%Higgses(i)%m.le.analyses(ii)%table%xmax) then if(analyses(ii)%Higgses(i)%mp_test.eq.1) then analyses(ii)%Higgses(i)%mp_test=1 N=N+1 endif else analyses(ii)%Higgses(i)%mp_test=0 endif enddo !! write(*,*) "Analysis ID = ", analyses(ii)%table%id !! write(*,*) "Higgs masses = ", analyses(ii)%Higgses(:)%m !! write(*,*) "Higgs mass uncertainties = ", analyses(ii)%Higgses(:)%dm !! write(*,*) "Tested with mp method = ", analyses(ii)%Higgses(:)%mp_test !! if(N.eq.0) allocate(analyses(ii)%mpred%mp_Higgses(0)) !-First, throw all relevant single Higgses into mp_H. allocate(mp_H(N)) j=0 do i=lbound(analyses(ii)%Higgses,dim=1),ubound(analyses(ii)%Higgses,dim=1) if(analyses(ii)%Higgses(i)%mp_test.eq.1) then j=j+1 allocate(mp_H(j)%Higgses(1)) mp_H(j)%Higgses(1)=analyses(ii)%Higgses(i) mp_H(j)%m=analyses(ii)%Higgses(i)%m mp_H(j)%dm=analyses(ii)%Higgses(i)%dm mp_H(j)%mu=analyses(ii)%Higgses(i)%mu mp_H(j)%mp_test=analyses(ii)%Higgses(i)%mp_test endif enddo !-Do the Stockholm Clustering finished_combination=-1 do while(finished_combination.ne.1) !-For debugging ! write(*,*) " " ! write(*,*) " NEW LOOP " ! write(*,*) " " ! do j=lbound(mp_H,dim=1),ubound(mp_H,dim=1) ! write(*,*) "#----------- mp_H(",j,") ------------" ! write(*,*) "number of combined Higgses = ", size(mp_H(j)%Higgses,dim=1) ! write(*,*) "mp_H(j)%m = ", mp_H(j)%m ! write(*,*) "mp_H(j)%dm = ", mp_H(j)%dm ! write(*,*) "mp_H(j)%mu = ", mp_H(j)%mu ! write(*,*) "mp_H(j)%mp_test = ", mp_H(j)%mp_test ! enddo !-END for debugging call combine_Higgses(mp_H, mp_H_tmp, analyses(ii)%table, finished_combination) if(finished_combination.ne.1) then do i=lbound(mp_H,dim=1),ubound(mp_H,dim=1) deallocate(mp_H(i)%Higgses) enddo deallocate(mp_H) allocate(mp_H(size(mp_H_tmp,dim=1))) do i=lbound(mp_H_tmp,dim=1),ubound(mp_H_tmp,dim=1) allocate(mp_H(i)%Higgses(size(mp_H_tmp(i)%Higgses,dim=1))) mp_H(i)%Higgses = mp_H_tmp(i)%Higgses mp_H(i)%m = mp_H_tmp(i)%m mp_H(i)%dm = mp_H_tmp(i)%dm mp_H(i)%mu = mp_H_tmp(i)%mu mp_H(i)%mp_test = mp_H_tmp(i)%mp_test deallocate(mp_H_tmp(i)%Higgses) enddo deallocate(mp_H_tmp) endif enddo !-Two possible choices to parametrize the theoretical uncertainty: ! (i) select the mu-obs value yielding lowest chi^2 (within box or including a chi^2 ! penalty from mass (gaussian)): ! call scan_mutable(analyses(ii)%table, mp_H) ! (ii) convolve (smear) the observed mu values with Higgs mass pdf: if(mc_mode.eq.2) call smear_mutable(analyses(ii)%table, mp_H) ! Fill mp_obs allocate(analyses(ii)%mpred%mp_Higgses(size(mp_H))) do i=lbound(mp_H,dim=1),ubound(mp_H,dim=1) allocate(analyses(ii)%mpred%mp_Higgses(i)%Higgses(size(mp_H(i)%Higgses,dim=1))) analyses(ii)%mpred%mp_Higgses(i)%Higgses = mp_H(i)%Higgses analyses(ii)%mpred%mp_Higgses(i) = mp_H(i) analyses(ii)%mpred%mp_Higgses(i)%Higgscomb = Higgscomb_key(mp_H(i)%Higgses) enddo end subroutine fill_mp_obs !---------------------------------------------------------------------- subroutine scan_mutable(table, mp_H) !---------------------------------------------------------------------- use datatables, only : interpolate_mutable use usefulbits, only : vsmall, small implicit none type(mutable), intent(in) :: table type(mp_neutHiggs), dimension(:), intent(inout) :: mp_H integer :: i,j,imin,imax,col,step double precision :: mh, val(3), norm, boxstart, boxend, chisq, minchisq, mu_selected(3),& & mh_selected, dm, dmu step = 10 call check_pdf imin = lbound(table%mu,dim=1) imax = ubound(table%mu,dim=1) do j=lbound(mp_H,dim=1),ubound(mp_H,dim=1) boxstart = mp_H(j)%m - mp_H(j)%dm boxend = mp_H(j)%m + mp_H(j)%dm if(boxstart.eq.boxend) then !--this is the case for no theory uncertainty. Increase box bounding by one step's separation. boxstart = boxstart - table%sep/step boxend = boxend + table%sep/step endif minchisq =vlarge do i= imin, step*imax mh = table%xmin+(i-1)*table%sep/step call interpolate_mutable(val, mh, table, step) select case(pdf) case(1,3) !---box theory uncertainty if(mh.ge.boxstart.and.mh.le.boxend) then call get_lower_or_upper_value_difference(dmu,mp_H(j)%mu,val) chisq = (mp_H(j)%mu - val(2))**2/dmu**2 if(chisq.le.minchisq) then minchisq = chisq mh_selected = mh mu_selected = val endif else chisq=vlarge endif case(2) !---gaussian theory uncertainty call get_lower_or_upper_value_difference(dmu,mp_H(j)%mu,val) dm = mp_H(j)%dm if(dm.le.small) dm = small ! Set dm to 1.0D-6 in case of no theory uncertainty. chisq = (mp_H(j)%mu - val(2))**2/dmu**2 + (mp_H(j)%m - mh)**2/dm**2 end select if(chisq.le.minchisq) then minchisq = chisq mh_selected = mh mu_selected = val endif enddo ! if(norm.ne.0.) val=val/norm !! write(*,*) j, val, norm mp_H(j)%dmu_low_obs = abs(mu_selected(2)-mu_selected(1)) mp_H(j)%mu_obs = mu_selected(2) mp_H(j)%dmu_up_obs = abs(mu_selected(3)-mu_selected(2)) mp_H(j)%m_obs = mh_selected !! write(*,*) "mass-centered observable at mh = ",mh_selected,"mu = ",mu_selected enddo end subroutine scan_mutable !---------------------------------------------------------------------- subroutine mass_variation_by_theory_uncertainty !---------------------------------------------------------------------- use datatables, only : interpolate_mutable use usefulbits, only : vsmall, small, np, Hneut implicit none integer :: i, ii, iii, j, jj, jjj, k, xmin, xmax, step, best_Hindex logical, allocatable :: testHiggs(:,:) logical, allocatable :: Higgstested(:) character(LEN=100) :: filename character(LEN=1) :: pdfstring double precision :: mh, val(3), norm, dm, dmu, sep, minchisq2,lowestmass, highestmass double precision, allocatable ::boxstart_max(:), boxend_min(:) double precision, allocatable ::boxstart(:),boxend(:),chisq(:),minchisq(:),mh_selected(:) allocate(Higgstested(np(Hneut)),chisq(np(Hneut)),boxstart(np(Hneut)),boxend(np(Hneut)), & & minchisq(np(Hneut)),mh_selected(np(Hneut))) step = 10 ! Unphysical starting values. xmin=1000000.0D0 xmax=0.0D0 sep=1000000.0D0 jjj=0 do j=lbound(analyses,dim=1),ubound(analyses,dim=1) do jj=lbound(analyses(j)%mpred%mp_Higgses,dim=1),& & ubound(analyses(j)%mpred%mp_Higgses,dim=1) jjj=jjj+1 if(analyses(j)%table%xmin.le.xmin) xmin=analyses(j)%table%xmin if(analyses(j)%table%xmax.ge.xmax) xmax=analyses(j)%table%xmax if(analyses(j)%table%sep.le.sep) sep=analyses(j)%table%sep enddo enddo allocate(testHiggs(jjj,np(Hneut)),boxstart_max(jjj),boxend_min(jjj)) ! For debugging if(additional_output) then write(pdfstring,'(I1)') pdf filename=trim(adjustl("dmth_variation_pdf_"//pdfstring//".dat")) open(147,file=filename) write(147,*) "# Mass parameter, chi^2 at this position for each neutral Higgs boson" write(147,*) "#-----------------------------------------------------------------------" endif jjj=0 do j=lbound(analyses,dim=1),ubound(analyses,dim=1) do jj=lbound(analyses(j)%mpred%mp_Higgses,dim=1),& & ubound(analyses(j)%mpred%mp_Higgses,dim=1) jjj=jjj+1 do k=1, np(Hneut) testHiggs(jjj,k)=.False. lowestmass=vlarge highestmass=0.0D0 do ii=lbound(analyses(j)%mpred%mp_Higgses(jj)%Higgses,dim=1),& & ubound(analyses(j)%mpred%mp_Higgses(jj)%Higgses, dim=1) if(k.eq.analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%id) testHiggs(jjj,k)=.True. !-----In the case of combined Higgses, where there is no box overlap of the combined Higgs with !-----the individual Higgses, we have to extend the box of the combined Higgs. if(analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%m.le.lowestmass) then lowestmass = analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%m boxstart_max(jjj) = analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%m + & & analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%dm - vsmall endif if(analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%m.ge.highestmass) then highestmass = analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%m boxend_min(jjj) = analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%m - & & analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%dm + vsmall endif enddo enddo enddo enddo !!write(*,*) "boxstart_max = ", boxstart_max !!write(*,*) "boxend_min = ", boxend_min !!write(*,*) "testHiggs = ", testHiggs Higgstested=.False. minchisq=vlarge-1000.0D0 ! Vary mass globally for all analyses, minimize chisq. do i= 0, int((xmax-xmin)/(sep)*step) mh = xmin+i*sep/step chisq = 0.0D0 jjj=0 do j=lbound(analyses,dim=1),ubound(analyses,dim=1) do jj=lbound(analyses(j)%mpred%mp_Higgses,dim=1), & & ubound(analyses(j)%mpred%mp_Higgses,dim=1) jjj=jjj+1 call interpolate_mutable(val, mh, analyses(j)%table, step) !---Do the variation for every neutral Higgs boson and test the relevant mpred analyses do k=1, np(Hneut) if(testHiggs(jjj,k)) then Higgstested(k)=.True. !-----n.b.: This is again based on the (possibly) combined Higgses (this is an approximation!) !-----To do it correctly, Higgs bosons should be combined for every possible variation boxstart(k) = analyses(j)%mpred%mp_Higgses(jj)%m - & & analyses(j)%mpred%mp_Higgses(jj)%dm boxend(k) = analyses(j)%mpred%mp_Higgses(jj)%m + & & analyses(j)%mpred%mp_Higgses(jj)%dm if(boxstart(k).gt.boxstart_max(jjj)) boxstart(k)=boxstart_max(jjj) if(boxend(k).lt.boxend_min(jjj)) boxend(k)=boxend_min(jjj) !-----Extend box by one step size (new, has to be tested, TS 8/4/2013) ! boxstart(k)=boxstart(k)-sep/(2*step) ! boxend(k)=boxend(k)+sep/(2*step) select case(pdf) case(1,3) !------box theory uncertainty if(mh.ge.boxstart(k).and.mh.le.boxend(k)) then call get_lower_or_upper_value_difference(dmu,& & analyses(j)%mpred%mp_Higgses(jj)%mu,val) chisq(k) = chisq(k) + (analyses(j)%mpred%mp_Higgses(jj)%mu - val(2))**2/dmu**2 else chisq(k)=chisq(k) + vlarge endif case(2) !------gaussian theory uncertainty call get_lower_or_upper_value_difference(dmu,& & analyses(j)%mpred%mp_Higgses(jj)%mu,val) dm = analyses(j)%mpred%mp_Higgses(jj)%dm if(dm.le.small) dm = small ! Set dm to 1.0D-6 in case of no theory uncertainty. chisq(k) = chisq(k) + (analyses(j)%mpred%mp_Higgses(jj)%mu - val(2))**2/dmu**2 + & & (analyses(j)%mpred%mp_Higgses(jj)%m - mh)**2/dm**2 end select endif enddo enddo enddo do k=1, np(Hneut) if(Higgstested(k)) then if(chisq(k).le.minchisq(k)) then minchisq(k) = chisq(k) mh_selected(k) = mh !! write(*,*) "hello, ",k, mh, chisq(k) endif else chisq(k)=vlarge endif enddo !!-----For debugging only: if(additional_output) write(147,*) mh,chisq enddo if(additional_output) close(147) !-Now that the optimal mass parameters are determined, get the observed mu values again ! and set them in the mpred observables. jjj=0 do j=lbound(analyses,dim=1),ubound(analyses,dim=1) do jj=lbound(analyses(j)%mpred%mp_Higgses,dim=1),& & ubound(analyses(j)%mpred%mp_Higgses,dim=1) jjj=jjj+1 minchisq2=vlarge do k=1, np(Hneut) testHiggs=.False. do ii=lbound(analyses(j)%mpred%mp_Higgses(jj)%Higgses,dim=1), & & ubound(analyses(j)%mpred%mp_Higgses(jj)%Higgses, dim=1) if(k.eq.analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%id) testHiggs=.True. !-Find the Higgs boson in a combination, where the chisq of the variation is lowest. !-if no Higgs bosons are combined, we should have best_Hindex = k if(minchisq(analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%id).lt.minchisq2) then minchisq2 = minchisq(analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%id) best_Hindex = analyses(j)%mpred%mp_Higgses(jj)%Higgses(ii)%id endif enddo if(testHiggs(jjj,k)) then !-One final chisq test for combined Higgses call interpolate_mutable(val, mh_selected(best_Hindex), analyses(j)%table, step) analyses(j)%mpred%mp_Higgses(jj)%dmu_low_obs = abs(val(2)-val(1)) analyses(j)%mpred%mp_Higgses(jj)%mu_obs = val(2) analyses(j)%mpred%mp_Higgses(jj)%dmu_up_obs = abs(val(3)-val(2)) analyses(j)%mpred%mp_Higgses(jj)%m_obs = mh_selected(best_Hindex) !! write(*,*) "hello: ", val, best_Hindex, mh_selected(best_Hindex) !n.b.: For combined Higgses, the best values obtained for the last Higgs are taken. endif enddo enddo enddo deallocate(Higgstested,chisq,boxstart,boxend,minchisq,mh_selected) deallocate(testHiggs,boxstart_max,boxend_min) end subroutine mass_variation_by_theory_uncertainty !---------------------------------------------------------------------- subroutine smear_mutable(table, mp_H) !---------------------------------------------------------------------- implicit none type(mutable), intent(in) :: table type(mp_neutHiggs), dimension(:), intent(inout) :: mp_H integer :: i,j,imin,imax,col double precision :: mh, val(3), norm call check_pdf imin = lbound(table%mu,dim=1) imax = ubound(table%mu,dim=1) do j=lbound(mp_H,dim=1),ubound(mp_H,dim=1) val = 0.0D0 norm = 0.0D0 do i= imin, imax mh =table%xmin+(i-1)*table%sep do col=1,3 val(col) = val(col) + table%mu(i,col)*masspdf(mh, mp_H(j)%Higgses, table%sep) enddo norm = norm + masspdf(mh, mp_H(j)%Higgses, table%sep) enddo if(norm.ne.0.) val=val/norm mp_H(j)%dmu_low_obs = abs(val(2)-val(1)) mp_H(j)%mu_obs = val(2) mp_H(j)%dmu_up_obs = abs(val(3)-val(2)) mp_H(j)%m_obs = mp_H(j)%m enddo end subroutine smear_mutable !---------------------------------------------------------------------- function masspdf(mh, Higgses, sep) ! This function returns the value of the mass pdf at a given mass mh. ! In the case of combined Higgses, it is returning the sum of the ! individual mass pdfs. If the mass uncertainty is zero (delta-function) ! it returns the pdf values obtained for a mass uncertainty equal to ! the tables separation. !---------------------------------------------------------------------- use usefulbits, only : small implicit none ! double precision, intent(in) :: mh, sep type(neutHiggs), dimension(:), intent(in) :: Higgses double precision :: masspdf integer :: i masspdf=0.0D0 do i=lbound(Higgses,dim=1),ubound(Higgses,dim=1) !! write(*,*) "Mass uncertainty = ",Higgses(i)%dm if(Higgses(i)%dm.le.small) then !! masspdf =masspdf + box(mh, Higgses(i)%m, sep, sep) masspdf =masspdf + box(mh, Higgses(i)%m, Higgses(i)%dm, sep) else select case (pdf) case(1,3) !-box, boxgaussian (==box in mp centered chi^2 method) masspdf = masspdf + box(mh, Higgses(i)%m, Higgses(i)%dm, sep) case(2) !-gaussian masspdf = masspdf + gaussian(mh, Higgses(i)%m, Higgses(i)%dm, sep) end select endif enddo !! write(*,*) "masspdf = ",masspdf end function masspdf !---------------------------------------------------------------------- function box(x,x0,dx,sep) !---------------------------------------------------------------------- use usefulbits, only : small implicit none double precision, intent(in) :: x, x0, dx, sep double precision :: box, norm norm = dx/sep if(norm.le.small) norm=1 ! For the case of dx = 0 (delta-function) if((x.lt.(x0-dx-sep/2.)).or.(x.gt.(x0+dx+sep/2.))) then box = 0.0D0 else box = 1.0D0/norm endif !! write(*,*) "Norm / box = ",norm,box end function box !---------------------------------------------------------------------- function gaussian(x,x0,dx,sep) !---------------------------------------------------------------------- use usefulbits, only : pi implicit none double precision, intent(in) :: x, x0, dx, sep double precision :: gaussian gaussian=exp(-(x-x0)**2/(2*dx**2))*sep/(sqrt(2*pi)*dx) end function !---------------------------------------------------------------------- subroutine combine_Higgses(mp_H, mp_H_tmp, table, finished_combination) !---------------------------------------------------------------------- implicit none type(mp_neutHiggs), dimension(:), intent(inout) :: mp_H type(mp_neutHiggs), allocatable, intent(out) :: mp_H_tmp(:) type(mutable), intent(in) :: table integer, intent(out) :: finished_combination double precision :: massdiff, massdiff_tmp, m_tmp, dm_tmp, mu_tmp integer :: i,j, index_i, index_j !-Determine the nearest neighboring Higgs bosons massdiff=100000.0D0 do i=lbound(mp_H,dim=1),ubound(mp_H,dim=1) do j=lbound(mp_H,dim=1),ubound(mp_H,dim=1) if(i.ne.j) then massdiff_tmp = abs(mp_H(i)%m - mp_H(j)%m) if(massdiff_tmp.le.massdiff) then massdiff = massdiff_tmp index_i = i index_j = j endif endif enddo enddo if(massdiff.le.table%deltam) then finished_combination=-1 !-Do a gaussian average of the two Higgs bosons to determine uncertainty and mass position, !-and add the signal strength modifiers. Untag the combined Higgs bosons. if(mp_H(index_i)%dm.eq.0.0D0.and.mp_H(index_j)%dm.eq.0.0D0) then dm_tmp = 0.0D0 else dm_tmp = mp_H(index_i)%dm*mp_H(index_j)%dm/ & & sqrt(mp_H(index_i)%dm**2+mp_H(index_j)%dm**2) endif if(dm_tmp.ne.0.0D0) then m_tmp = dm_tmp**2*( mp_H(index_i)%m/mp_H(index_i)%dm**2 + & mp_H(index_j)%m/mp_H(index_j)%dm**2 ) else if(mp_H(index_i)%dm.eq.0.0D0.and.mp_H(index_j)%dm.ne.0.0D0) then m_tmp = mp_H(index_i)%m else if(mp_H(index_i)%dm.ne.0.0D0.and.mp_H(index_j)%dm.eq.0.0D0) then m_tmp = mp_H(index_j)%m else m_tmp = (mp_H(index_i)%m + mp_H(index_j)%m )/2.0D0 endif endif !! write(*,*) "m_tmp = ", m_tmp mu_tmp = mp_H(index_i)%mu + mp_H(index_j)%mu mp_H(index_i)%mp_test=0 mp_H(index_j)%mp_test=0 !--Fill the temporary mp_neutHiggs object first with the combination, then with the !--remaining Higgses allocate(mp_H_tmp(size(mp_H,dim=1)-1)) mp_H_tmp(1)%m = m_tmp mp_H_tmp(1)%dm = dm_tmp mp_H_tmp(1)%mu = mu_tmp mp_H_tmp(1)%mp_test = 1 allocate(mp_H_tmp(1)%Higgses(size(mp_H(index_i)%Higgses)+size(mp_H(index_j)%Higgses))) j=0 do i=lbound(mp_H(index_i)%Higgses,dim=1),ubound(mp_H(index_i)%Higgses,dim=1) j=j+1 mp_H_tmp(1)%Higgses(j)=mp_H(index_i)%Higgses(i) enddo do i=lbound(mp_H(index_j)%Higgses,dim=1),ubound(mp_H(index_j)%Higgses,dim=1) j=j+1 mp_H_tmp(1)%Higgses(j)=mp_H(index_j)%Higgses(i) enddo !-Now, fill with remaining, not combined Higgses j=1 do i=lbound(mp_H,dim=1),ubound(mp_H,dim=1) if(mp_H(i)%mp_test.eq.1) then j=j+1 allocate(mp_H_tmp(j)%Higgses(size(mp_H(i)%Higgses,dim=1))) mp_H_tmp(j)%Higgses = mp_H(i)%Higgses mp_H_tmp(j)%m = mp_H(i)%m mp_H_tmp(j)%dm = mp_H(i)%dm mp_H_tmp(j)%mu = mp_H(i)%mu mp_H_tmp(j)%mp_test = mp_H(i)%mp_test endif enddo else finished_combination=1 endif end subroutine combine_Higgses !---------------------------------------------------------------------------- subroutine calculate_mpred_chisq(csq, N) !---------------------------------------------------------------------------- implicit none double precision, intent(out) :: csq integer, intent(out) :: N double precision, allocatable :: v(:), vmat(:,:), invcov(:,:), v2(:) double precision, allocatable :: csq_mu(:) integer :: i,ii,iii N=size(cov_mp,dim=1) allocate(v(N), vmat(N,1),invcov(N,N), v2(N), csq_mu(N)) !-First construct the vector (mupred - muobs)_iii iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%mpred%mp_Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses,dim=1) iii=iii+1 v(iii) = analyses(i)%mpred%mp_Higgses(ii)%mu-analyses(i)%mpred%mp_Higgses(ii)%mu_obs vmat(iii,1) = v(iii) enddo enddo call invmatrix(cov_mp,invcov) call matmult(invcov,vmat,v2,N,1) iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%mpred%mp_Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses,dim=1) iii=iii+1 csq_mu(iii) = v(iii)*v2(iii) analyses(i)%mpred%mp_Higgses(ii)%chisq = csq_mu(iii) enddo enddo csq=sum(csq_mu) deallocate(v,vmat,invcov,v2,csq_mu) end subroutine calculate_mpred_chisq !---------------------------------------------------------------------------- subroutine create_covariance_matrix_mp !---------------------------------------------------------------------------- implicit none integer :: N, i, ii, iii, j, jj, jjj double precision :: mumax, dmu0sq, dratesq character(LEN=50) :: title if(.not.allocated(analyses)) then - stop'Error in subroutine create_covariance_matrix_mp: analyses not allocated.' + stop 'Error in subroutine create_covariance_matrix_mp: analyses not allocated.' endif if(allocated(cov_mp)) deallocate(cov_mp) !! write(*,*) "Creating covariance matrix for mpred-method." iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%mpred%mp_Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses,dim=1) !--Find out dimension (iii) of covariance matrix. iii=iii+1 mumax=-1.0D10 !--Determine the dominating Higgs for every mpred-observable. do j=lbound(analyses(i)%mpred%mp_Higgses(ii)%Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses(ii)%Higgses,dim=1) if(analyses(i)%mpred%mp_Higgses(ii)%Higgses(j)%mu.gt.mumax) then mumax=analyses(i)%mpred%mp_Higgses(ii)%Higgses(j)%mu analyses(i)%mpred%mp_Higgses(ii)%domH=analyses(i)%mpred%mp_Higgses(ii)%Higgses(j)%id endif enddo !--Subtract the correlated syst. uncertainties from (smeared) cyan band call correct_mu_uncertainty(analyses(i)%mpred%mp_Higgses(ii),analyses(i)%table) !--(TS 08/05/2013) Calculate the channel weights in the model: call calculate_model_weights(analyses(i)%table, analyses(i)%mpred%mp_Higgses(ii)) !! write(*,*) analyses(i)%mpred%mp_Higgses(ii)%channel_w_model !! write(*,*) analyses(i)%table%channel_w(:,analyses(i)%mpred%mp_Higgses(ii)%domH) enddo enddo allocate(cov_mp(iii,iii)) iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%mpred%mp_Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses,dim=1) iii=iii+1 jjj=0 do j=lbound(analyses,dim=1),ubound(analyses,dim=1) do jj=lbound(analyses(j)%mpred%mp_Higgses,dim=1),& & ubound(analyses(j)%mpred%mp_Higgses,dim=1) jjj=jjj+1 cov_mp(iii,jjj)=0.0D0 if(correlations_mu.or.(.not.correlations_mu.and.iii.eq.jjj)) then call get_rate_uncertainties_sq_mpred(dratesq, analyses(i)%table, & & analyses(i)%mpred%mp_Higgses(ii),analyses(j)%table,analyses(j)%mpred%mp_Higgses(jj)) !-----Treat luminosity uncertainty as correlated systematic error if same collaboration: if(analyses(i)%table%collaboration.eq.analyses(i)%table%collaboration) then if(anticorrmu) then cov_mp(iii,jjj)=cov_mp(iii,jjj)+(analyses(i)%table%dlumi*analyses(j)%table%dlumi)& & * (analyses(i)%mpred%mp_Higgses(ii)%mu*analyses(j)%mpred%mp_Higgses(jj)%mu) else cov_mp(iii,jjj)=cov_mp(iii,jjj)+(analyses(i)%table%dlumi*analyses(j)%table%dlumi)& & * abs(analyses(i)%mpred%mp_Higgses(ii)%mu*analyses(j)%mpred%mp_Higgses(jj)%mu) endif endif if(anticorrmu) then ! (TS 28/10/2013: Change scaling of theo. err from observed to predicted mu:) cov_mp(iii,jjj)=cov_mp(iii,jjj)+(dratesq) * & & (analyses(i)%mpred%mp_Higgses(ii)%total_mu*analyses(j)%mpred%mp_Higgses(jj)%total_mu) else cov_mp(iii,jjj)=cov_mp(iii,jjj)+(dratesq) * & & abs(analyses(i)%mpred%mp_Higgses(ii)%total_mu*analyses(j)%mpred%mp_Higgses(jj)%total_mu) endif endif !----Add the intrinsic (uncorrelated) uncertainty of this peak to the diagonal elements: if(iii.eq.jjj) then call get_dmu0sq(dmu0sq,analyses(i)%mpred%mp_Higgses(ii)) cov_mp(iii,jjj) = cov_mp(iii,jjj) + dmu0sq endif enddo enddo enddo enddo end subroutine create_covariance_matrix_mp !------------------------------------------------------------------------------------ subroutine get_rate_uncertainties_sq_mpred(dratesq, table1, mp_H1, table2, mp_H2) !------------------------------------------------------------------------------------ use usefulbits_HS, only : delta_rate type(mp_neutHiggs), intent(in) :: mp_H1, mp_H2 type(mutable), intent(in) :: table1, table2 double precision, intent(out) :: dratesq integer :: i,j,p1,d1,p2,d2 !id1,id2, double precision :: res res=0.0D0 !! write(*,*) 'table Nc = ',table1%Nc,table2%Nc do i=1,table1%Nc do j=1,table2%Nc p1 = table1%channel_p_id(i) d1 = table1%channel_d_id(i) p2 = table2%channel_p_id(j) d2 = table2%channel_d_id(j) ! ! id1 = table1%channel_id(i) ! p1 = int((id1-modulo(id1,10))/dble(10)) ! d1 = modulo(id1,10) ! id2 = table2%channel_id(j) ! p2 = int((id2-modulo(id2,10))/dble(10)) ! d2 = modulo(id2,10) if(p1.eq.p2) then res=res+delta_rate%dCS(p1)**2* & & mp_H1%channel_w_model(i)*mp_H2%channel_w_model(j) endif if(d1.eq.d2) then res=res+delta_rate%dBR(d1)**2* & & mp_H1%channel_w_model(i)*mp_H2%channel_w_model(j) endif ! if(p1.eq.p2) then ! res=res+delta_rate%dCS(p1)**2* & !& table1%channel_w(i,mp_H1%domH)*table2%channel_w(j,mp_H2%domH) ! endif ! if(d1.eq.d2) then ! res=res+delta_rate%dBR(d1)**2* & !& table1%channel_w(i,mp_H1%domH)*table2%channel_w(j,mp_H2%domH) ! endif enddo enddo dratesq=res end subroutine get_rate_uncertainties_sq_mpred !------------------------------------------------------------------------------------ subroutine calculate_model_weights(table, mp_H) use usefulbits, only : small, div implicit none type(mp_neutHiggs), intent(inout) :: mp_H type(mutable), intent(in) :: table integer :: k,l,Nc double precision :: normalization !--In the (unphysical) case of negative channel rates, we have to take care that the ! model channel weights are still positive and between 0 and 1: normalization = 0.0D0 if(allocated(mp_H%channel_w_model)) deallocate(mp_H%channel_w_model) allocate(mp_H%channel_w_model(table%Nc)) if(allocated(mp_H%channel_mu)) deallocate(mp_H%channel_mu) allocate(mp_H%channel_mu(table%Nc)) mp_H%total_mu=0.0D0 do k=lbound(mp_H%channel_w_model,dim=1),ubound(mp_H%channel_w_model,dim=1) mp_H%channel_mu(k)=0.0D0 do l=lbound(mp_H%Higgses,dim=1),ubound(mp_H%Higgses,dim=1) mp_H%channel_mu(k)=mp_H%channel_mu(k) + & & table%channel_mu(k,mp_H%Higgses(l)%id)*table%channel_w(k,mp_H%Higgses(l)%id) mp_H%total_mu = mp_H%total_mu + & & table%channel_mu(k,mp_H%Higgses(l)%id)*table%channel_w(k,mp_H%Higgses(l)%id) enddo enddo normalization = 0.0D0 do k=lbound(mp_H%channel_w_model,dim=1),ubound(mp_H%channel_w_model,dim=1) mp_H%channel_w_model(k)=div(mp_H%channel_mu(k),mp_H%total_mu,0.0D0,1.0D9) normalization = normalization + abs(mp_H%channel_w_model(k)) enddo if(abs(normalization).gt.small) then do k=lbound(mp_H%channel_w_model,dim=1),ubound(mp_H%channel_w_model,dim=1) mp_H%channel_w_model(k) = div(abs(mp_H%channel_w_model(k)),& & normalization,1.0D0/table%Nc,1.0D0) enddo else !--If the predicted signal strength is zero, use SM weights do k=lbound(mp_H%channel_w_model,dim=1),ubound(mp_H%channel_w_model,dim=1) mp_H%channel_w_model(k) = table%channel_w(k,mp_H%domH) enddo endif if(abs(sum(mp_H%channel_w_model)-1.0D0).gt.small) then write(*,*) "WARNING: Channel weights of the model are not correctly normalized:" write(*,*) mp_H%channel_w_model endif end subroutine calculate_model_weights subroutine correct_mu_uncertainty(mp_H, table) ! The mu uncertainty as given in the mutable contains also systematic uncertainties for ! the luminosity and signal rate. These uncertainties are highly correlated to other ! analyses. Therefore, we subtract them here to obtain the intrinsic mu uncertainty of ! this peak. The correlated uncertainties enter later via the covariance matrix. !------------------------------------------------------------------------------------ implicit none type(mp_neutHiggs), intent(inout) :: mp_H type(mutable), intent(in) :: table integer :: i double precision :: dcsq, dmuupsq, dmulowsq dcsq = 0 do i=1, table%Nc dcsq = dcsq + table%channel_systSM(i,mp_H%domH)**2 enddo dmuupsq = (mp_H%dmu_up_obs)**2-(table%dlumi*mp_H%mu_obs)**2-dcsq*mp_H%mu_obs**2 dmulowsq = (mp_H%dmu_low_obs)**2-(table%dlumi*mp_H%mu_obs)**2-dcsq*mp_H%mu_obs**2 mp_H%dmu_low0_obs = sqrt(abs((mp_H%dmu_low_obs)**2- & & (table%dlumi*mp_H%mu_obs)**2-dcsq*mp_H%mu_obs**2)) if(dmulowsq.lt.0.0D0) mp_H%dmu_low0_obs = - mp_H%dmu_low0_obs mp_H%dmu_up0_obs = sqrt(abs((mp_H%dmu_up_obs)**2- & & (table%dlumi*mp_H%mu_obs)**2-dcsq*mp_H%mu_obs**2)) if(dmuupsq.lt.0.0D0) mp_H%dmu_up0_obs = - mp_H%dmu_up0_obs end subroutine correct_mu_uncertainty !------------------------------------------------------------------------------------ subroutine get_dmu0sq(dmu0sq,mp_H) !------------------------------------------------------------------------------------ use usefulbits_hs, only : symmetricerrors implicit none double precision, intent(out) :: dmu0sq double precision :: pred_mu type(mp_neutHiggs), intent(in) :: mp_H pred_mu = mp_H%mu if(.not.symmetricerrors) then if(pred_mu.le.mp_H%mu_obs) then dmu0sq = mp_H%dmu_low0_obs**2 else if(pred_mu.gt.mp_H%mu_obs) then dmu0sq = mp_H%dmu_up0_obs**2 endif else dmu0sq = (sqrt(mp_H%dmu_low0_obs**2)+sqrt(mp_H%dmu_up0_obs**2))**2/4. endif end subroutine get_dmu0sq !------------------------------------------------------------------------------------ subroutine get_lower_or_upper_value_difference(val,pred,dataval) !------------------------------------------------------------------------------------ implicit none double precision, intent(out) :: val double precision, intent(in) :: pred double precision, dimension(3) :: dataval if(pred.le.dataval(2)) then val = abs(dataval(2)-dataval(1)) else if(pred.gt.dataval(2)) then val = abs(dataval(3)-dataval(2)) endif end subroutine get_lower_or_upper_value_difference !------------------------------------------------------------------------------------ subroutine check_pdf !------------------------------------------------------------------------------------ implicit none if(.not.((pdf.eq.1).or.(pdf.eq.2).or.(pdf.eq.3))) then write(*,*) 'WARNING: pdf not properly specified. Will be set to pdf=2 (gaussian-shape)' pdf=2 endif end subroutine check_pdf !------------------------------------------------------------------------------------ function Higgscomb_key(Higgses) implicit none type(neutHiggs), dimension(:), intent(in) :: Higgses integer :: Higgscomb_key integer :: i,keytmp,power keytmp=0 power =0 do i=lbound(Higgses,dim=1),ubound(Higgses,dim=1) keytmp = keytmp + Higgses(i)%id * 10**power power = power+1 enddo Higgscomb_key = keytmp end function Higgscomb_key !------------------------------------------------------------------------------------ subroutine deallocate_mc_observables implicit none integer :: i,j if(allocated(analyses)) then do i=lbound(analyses,dim=1),ubound(analyses,dim=1) if(allocated(analyses(i)%mpred%mp_Higgses)) then do j=lbound(analyses(i)%mpred%mp_Higgses,dim=1),& & ubound(analyses(i)%mpred%mp_Higgses,dim=1) if(allocated(analyses(i)%mpred%mp_Higgses(j)%Higgses)) then deallocate(analyses(i)%mpred%mp_Higgses(j)%Higgses) endif if(allocated(analyses(i)%mpred%mp_Higgses(j)%channel_w_model)) then deallocate(analyses(i)%mpred%mp_Higgses(j)%channel_w_model) endif if(allocated(analyses(i)%mpred%mp_Higgses(j)%channel_mu)) then deallocate(analyses(i)%mpred%mp_Higgses(j)%channel_mu) endif enddo deallocate(analyses(i)%mpred%mp_Higgses) endif enddo endif end subroutine deallocate_mc_observables !------------------------------------------------------------------------------------ end module mc_chisq \ No newline at end of file Index: trunk/HiggsSignals-2/pc_chisq.f90 =================================================================== --- trunk/HiggsSignals-2/pc_chisq.f90 (revision 593) +++ trunk/HiggsSignals-2/pc_chisq.f90 (revision 594) @@ -1,2574 +1,2574 @@ !-------------------------------------------------------------------- ! This file is part of HiggsSignals (TS 03/03/2013) !-------------------------------------------------------------------- module pc_chisq use numerics use combinatorics use usefulbits_hs implicit none integer :: i,j,k double precision,parameter :: pi=3.14159265358979323846264338328D0 integer, allocatable :: peakindices_best(:,:) contains !------------------------------------------------------------------------------------ subroutine set_toyvalues(ii, peaks) ! This subroutine sets the mass and mu measurements of the peak observable(s) of analyses ii ! to those values which are given by the user using assign_toyvalues_to_observables. !------------------------------------------------------------------------------------ use usefulbits_hs, only: obs, mupeak integer, intent(in) :: ii type(mupeak),dimension(:), intent(inout) :: peaks integer :: i if(obs(ii)%table%npeaks.ne.size(peaks)) then stop 'Error in subroutine set_toyvalues: Number of peaks does not match!' endif do i=lbound(peaks,dim=1),ubound(peaks,dim=1) peaks(i)%mpeak = obs(ii)%table%Toys_mhobs(i) peaks(i)%mu = obs(ii)%table%Toys_muobs(i) enddo end subroutine set_toyvalues !------------------------------------------------------------------------------------ !subroutine scale_uncertainties(ii, peaks) !! Scales the uncertainty of the signal strength and mass measurement of the peak !! observables of analysis ii by the scalefactors which have been set via the subroutine !! assign_uncertainty_scalefactors_to_observables. !!------------------------------------------------------------------------------------ ! use usefulbits_hs, only : obs, mupeak ! ! integer, intent(in) :: ii ! type(mupeak),dimension(:), intent(inout) :: peaks ! integer :: i ! ! if(obs(ii)%table%npeaks.ne.size(peaks)) then ! stop 'Error in subroutine scale_uncertainties: Number of peaks does not match!' ! endif ! ! do i=lbound(peaks,dim=1),ubound(peaks,dim=1) ! peaks(i)%dmuup = obs(ii)%table%scale_mu(i)*peaks(i)%dmuup ! peaks(i)%dmulow = obs(ii)%table%scale_mu(i)*peaks(i)%dmulow ! peaks(i)%dm = obs(ii)%table%scale_mh(i)*peaks(i)%dm ! enddo ! !end subroutine scale_uncertainties !------------------------------------------------------------------------------------ !subroutine restore_uncertainties(ii, peaks) !! Restores the uncertainty of the signal strength and mass measurement of the peak !! observables of analysis ii after scaling. !!------------------------------------------------------------------------------------ ! use usefulbits, only : vsmall ! use usefulbits_hs, only : obs, mupeak ! ! integer, intent(in) :: ii ! type(mupeak),dimension(:), intent(inout) :: peaks ! integer :: i ! ! if(obs(ii)%table%npeaks.ne.size(peaks)) then ! stop 'Error in subroutine restore_uncertainties: Number of peaks does not match!' ! endif ! ! do i=lbound(peaks,dim=1),ubound(peaks,dim=1) ! if(obs(ii)%table%scale_mu(i).ge.vsmall) then ! peaks(i)%dmuup = peaks(i)%dmuup/obs(ii)%table%scale_mu(i) ! peaks(i)%dmulow = peaks(i)%dmulow/obs(ii)%table%scale_mu(i) ! else ! write(*,*) 'WARNING: scale_mu is (too close to) zero!' ! endif ! if(obs(ii)%table%scale_mh(i).ge.vsmall) then ! peaks(i)%dm = peaks(i)%dm/obs(ii)%table%scale_mh(i) ! else ! write(*,*) 'WARNING: scale_mh is (too close to) zero!' ! endif ! enddo ! !end subroutine restore_uncertainties !!------------------------------------------------------------------------------------ subroutine assign_Higgs_to_peaks_with_correlations(iter) ! Do this only for pdf = 2 ! ! NOTE: This is possibly still buggy. Only use it with iter=0. ! TODO: Have to extend this here for assignment-groups. !------------------------------------------------------------------------------------ use usefulbits_HS, only : neutHiggses, nanalys use usefulbits, only : np, Hneut implicit none integer, intent(in) :: iter integer :: i, ii, iii, n, jjj character(LEN=100), allocatable :: assignmentgroups(:) integer, allocatable :: assignmentgroups_Higgs_comb(:,:) !! allocate(assignmentgroups(nanalys)) !! allocate(assignmentgroups_Higgs_comb(nanalys,np(Hneut))) !! write(*,*) "Running assign_Higgs_to_peaks_with_correlations." if(iter.gt.0) write(*,*) "WARNING: Iterations in the Higgs-to-peaks assignment are ",& & "still under development." jjj = 1 do n=1, iter call create_covariance_matrices() iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 analyses(i)%peaks(ii)%internalnumber = iii enddo call assign_Higgs_to_peaks(analyses(i)%table, analyses(i)%peaks, n) enddo enddo end subroutine assign_Higgs_to_peaks_with_correlations !------------------------------------------------------------------------------------ subroutine assign_Higgs_to_peaks(table, peaks, iterstep) ! This subroutine assigns the best combination of Higgs bosons to each peak observable ! found in ONE mutable/analysis. ! It calculates for every possible assignment of the Higgs bosons to the peaks a ! chi-squared value. It takes care that each Higgs boson is used for at most one peak. ! The combination with the minimal chi-squared value is selected. The relevant information ! about the assigned Higgs bosons is then saved in each peak object. !------------------------------------------------------------------------------------ use usefulbits, only : div, np, Hneut implicit none type(mutable), intent(in) :: table type(mupeak), dimension(:), intent(inout) :: peaks(:) integer, intent(in) :: iterstep integer, allocatable :: peakindices_best(:,:), domH(:), domH_tmp(:) integer, allocatable :: Higgs_to_be_assigned(:),Higgs_fulfills_req_assignment(:) integer :: Npeaks, nH, a, i, j, ii,jj, Hindex, NHiggs integer :: Higgs_assignment_forced,Higgs_assignment_forced_tmp double precision :: pccsq, pccsq_tmp, chisq_fp !! integer, allocatable :: indices_best(:) double precision :: force_in_range chisq_fp = 10000000.0D0 nH=np(Hneut) Npeaks=size(peaks) ! write(*,*) 'DEBUG: Calling assign_Higgs_to_peaks for' ! write(*,*) 'table ID = ',table%id ! write(*,*) 'table expt, desc = ',table%expt, table%desc if(Npeaks.le.0) then if(iterstep.eq.0) then write(*,'(A,1X,A,1X,A,1X,A,F4.2,A,I12,A)') ' No peaks defined for ', & & trim(adjustl(table%collaboration)),trim(adjustl(table%desc)),'(',table%energy, & & " TeV) search (analysis ID = ",table%id,")." endif else !-Create indices matrix from combinatorics module containing all possible !-peak-Higgs combinations: call create_peakindices(Npeaks,nH) allocate(peakindices_best(Npeaks,nH)) allocate(domH(Npeaks),domH_tmp(Npeaks)) allocate(Higgs_to_be_assigned(nH),Higgs_fulfills_req_assignment(nH)) ! (TS 11/01/2013: Give some default values) Higgs_assignment_forced = 1 call copy_matrices(peakindices(1,:,:),peakindices_best(:,:)) do k=lbound(domH_tmp,dim=1),ubound(domH_tmp,dim=1) domH_tmp(k) = 0 enddo ! write(*,*) 'DEBUG: print peakindices before start...' ! do a=lbound(peakindices,dim=1),ubound(peakindices,dim=1) ! write(*,*) ' a = ',a ! write(*,*) peakindices(a,:,:) ! enddo if(table%mhchisq.eq.1) then force_in_range = assignmentrange_massobs else force_in_range = assignmentrange endif if(pdf.eq.1) force_in_range = 1.0D0 ! (TS 09/09/2012: Add the criterium that if the Higgs bosons masses are close enough to ! the peaks they have to be assigned. ) !-First, find out which Higgs bosons have to be assigned. For this, we loop over all peaks !-and check which Higgses lie close enough (i.e. the mass difference is less than the !-total (gaussian) mass uncertainty). In that case, we tag this Higgs to be assigned. do i=lbound(Higgs_to_be_assigned,dim=1), ubound(Higgs_to_be_assigned,dim=1) Higgs_to_be_assigned(i)=0 enddo do i=lbound(peaks,dim=1),ubound(peaks,dim=1) do j=lbound(Higgs_to_be_assigned,dim=1), ubound(Higgs_to_be_assigned,dim=1) if(abs(peaks(i)%Higgses(j)%m-peaks(i)%mpeak).le. & & force_in_range*sqrt(peaks(i)%Higgses(j)%dm**2 + table%deltam**2)) then if(useaveragemass.and.abs(peaks(i)%Higgses(j)%mu).le.mu_cutoff_for_assignment) then ! if(useaveragemass) then Higgs_to_be_assigned(j)=0 else Higgs_to_be_assigned(j)=1 endif else !-If the chisq contribution from the Higgs masses is not used, we do NOT want ! to assign Higgs bosons which are far away from peak. if(table%mhchisq.ne.1) Higgs_to_be_assigned(j)=-1 ! if(table%mhchisq.ne.1.or.useaveragemass) Higgs_to_be_assigned(j)=-1 endif enddo enddo ! write(*,*) 'Higgs_to_be_assigned = ',Higgs_to_be_assigned !-Loop over all possible combinations, calculate the chisq and find the best combination. do a=lbound(peakindices,dim=1),ubound(peakindices,dim=1) pccsq_tmp = 0 !--Loop over all peaks, i.e. rows of the combination matrices: do i=lbound(peakindices,dim=2),ubound(peakindices,dim=2) !---Calculate the chi squared value for this combination assigned to peak i: call calc_pc_chisq(pccsq, peaks(i), table%mhchisq, peaks(i)%Higgses, domH(i), & & peakindices(a,i,:),iterstep) pccsq = pccsq + csq_mass_separation_weighted(peakindices(a,i,:), peaks(i)) !---Add the calculated value to the total chi-squared value for all peaks: pccsq_tmp = pccsq_tmp + pccsq enddo ! write(*,*) 'a = ',a,' temporary chisq contribution = ', pccsq_tmp !--Determine the best Higgs-to-peaks assignment: if(pccsq_tmp.lt.chisq_fp) then ! write(*,*) 'pccsq_tmp is below chisq_fp = ', chisq_fp do i=lbound(Higgs_fulfills_req_assignment,dim=1), & & ubound(Higgs_fulfills_req_assignment,dim=1) Higgs_fulfills_req_assignment(i)=0 enddo Higgs_assignment_forced_tmp = 0 do j=lbound(Higgs_to_be_assigned,dim=1),ubound(Higgs_to_be_assigned,dim=1) if(Higgs_to_be_assigned(j).eq.1) then do ii=lbound(peakindices,dim=2),ubound(peakindices,dim=2) do jj=lbound(peakindices,dim=3),ubound(peakindices,dim=3) if(peakindices(a,ii,jj).eq.j) then Higgs_fulfills_req_assignment(j)=1 Higgs_assignment_forced_tmp = 1 endif enddo enddo else if(Higgs_to_be_assigned(j).eq.-1) then Higgs_fulfills_req_assignment(j)=1 do ii=lbound(peakindices,dim=2),ubound(peakindices,dim=2) do jj=lbound(peakindices,dim=3),ubound(peakindices,dim=3) if(peakindices(a,ii,jj).eq.j) then Higgs_fulfills_req_assignment(j)=0 endif enddo enddo else Higgs_fulfills_req_assignment(j)=1 endif enddo ! write(*,*) 'Higgs_fulfills_req_assignment = ', Higgs_fulfills_req_assignment if(sum(Higgs_fulfills_req_assignment).eq.nH) then chisq_fp = pccsq_tmp Higgs_assignment_forced = Higgs_assignment_forced_tmp call copy_matrices(peakindices(a,:,:),peakindices_best(:,:)) if(a.eq.1) then do k=lbound(domH_tmp,dim=1),ubound(domH_tmp,dim=1) domH_tmp(k) = 0 enddo else domH_tmp(:) = domH(:) endif ! write(*,*) 'Assignment taken over: ', peakindices_best endif endif enddo !--Save information in peak object do i=lbound(peakindices_best,dim=1),ubound(peakindices_best,dim=1) !--Best Higgs Combination: peaks(i)%Higgs_comb(:) = peakindices_best(i,:) ! write(*,*) "hello: Higgs assignment of ID = ",peaks(i)%id, ": ", peaks(i)%Higgs_comb,& ! & "Higgs_assignment_forced: ",Higgs_assignment_forced peaks(i)%domH = domH_tmp(i) peaks(i)%Higgs_assignment_forced = Higgs_assignment_forced call evaluate_peak(peaks(i),table) enddo deallocate(peakindices, peakindices_best, domH, domH_tmp) deallocate(Higgs_to_be_assigned,Higgs_fulfills_req_assignment) endif end subroutine assign_Higgs_to_peaks !------------------------------------------------------------------------------------ subroutine evaluate_peak(peak, table) ! Evaluates the peak information for a given Higgs boson combination and dominant Higgs ! (both have to be assigned to the peak before calling this subroutine!) !------------------------------------------------------------------------------------ use usefulbits, only : div, np, Hneut, small, vsmall implicit none type(mupeak) :: peak type(mutable) :: table integer :: j,k integer :: NHiggs,Hindex double precision :: normalization NHiggs=0 do j=lbound(peak%Higgs_comb,dim=1),ubound(peak%Higgs_comb,dim=1) if(peak%Higgs_comb(j).ne.0) NHiggs=NHiggs+1 enddo peak%NHiggs_comb = NHiggs !--Chose dominant Higgs in the best Higgs combination for weights and systematics !-------------- ! In rare cases there appears a segmentation fault, ! because peak%domH seems not to be initialized. ! HERE: Check that it is in a reasonable range. if(peak%domH.ne.0.and.peak%domH.le.np(Hneut)) then peak%channel_w(:) = peak%channel_w_allH(:,peak%domH) peak%channel_w_corrected_eff(:) = peak%channel_w_corrected_eff_allH(:,peak%domH) peak%channel_syst(:) = peak%channel_syst_allH(:,peak%domH) peak%channel_systSM(:) = peak%channel_systSM_allH(:,peak%domH) else !-Part of fix: peak%domH=0 !-------------- call get_weights_at_peak(peak, table) !! If no Higgs is assigned we don't correct the efficiencies... peak%channel_w_corrected_eff(:) = peak%channel_w(:) !! peak%channel_w(:) = peak%channel_w_allH(:,1) peak%channel_syst(:) = peak%channel_syst_allH(:,1) peak%channel_systSM(:) = peak%channel_systSM_allH(:,1) endif !--Subtract the correlated uncertainties from mu uncertainty: call correct_mu_uncertainty_of_peak(peak, table) !--Add the channel contributions of the Higgses and adjust them to the "averaged weights": peak%total_mu=0 !--n.b.: Have to set channel_mu to zero in case this subroutine is called several times. do k=lbound(peak%channel_mu,dim=1),ubound(peak%channel_mu,dim=1) peak%channel_mu(k)=0.0D0 peak%channel_w_model(k)=0.0D0 enddo !--Loop over Higgses in best combination do j=lbound(peak%Higgs_comb,dim=1),ubound(peak%Higgs_comb,dim=1) if(peak%Higgs_comb(j).ne.0) then Hindex=peak%Higgs_comb(j) !----Loop over the channels and add rates do k=lbound(peak%channel_mu,dim=1),ubound(peak%channel_mu,dim=1) peak%channel_mu(k)=peak%channel_mu(k)+ & & peak%channel_mu_allH(k,Hindex)*peak%channel_w_corrected_eff_allH(k,Hindex) peak%total_mu = peak%total_mu + & & peak%channel_mu_allH(k,Hindex)*peak%channel_w_corrected_eff_allH(k,Hindex) enddo endif enddo do k=lbound(peak%channel_mu,dim=1),ubound(peak%channel_mu,dim=1) !---Calculate channel weights of the model, using the possibly combined rates. ! (TS 20/04/2013) peak%channel_w_model(k)=div(peak%channel_mu(k),peak%total_mu,0.0D0,1.0D9) !--Reweight the rates to obtain the channel_mu peak%channel_mu(k)=div(peak%channel_mu(k),peak%channel_w_corrected_eff(k),0.0D0,1.0D9) enddo !--If no Higgs boson has been assigned, use the SM weight at the peak position for ! the channel weight of the model (TS26/04/2013): if(peak%domH.eq.0) then peak%channel_w_model = peak%channel_w endif !--In the (unphysical) case of negative channel rates, we have to take care that the ! model channel weights are still positive and between 0 and 1: normalization = 0.0D0 do k=lbound(peak%channel_w_model,dim=1),ubound(peak%channel_w_model,dim=1) normalization = normalization + abs(peak%channel_w_model(k)) enddo if(abs(normalization).gt.small) then do k=lbound(peak%channel_w_model,dim=1),ubound(peak%channel_w_model,dim=1) peak%channel_w_model(k) = div(abs(peak%channel_w_model(k)),& & normalization,1.0D0/peak%Nc,1.0D0) enddo else !--If the predicted signal strength is zero, use SM weights peak%channel_w_model = peak%channel_w endif if(abs(sum(peak%channel_w_model)-1.0D0).gt.small) then write(*,*) "WARNING: Channel weights of the model are not correctly normalized:" write(*,*) peak%channel_w_model endif end subroutine evaluate_peak !------------------------------------------------------------------------------------ subroutine calculate_total_pc_chisq(csq_tot, csq_mu, csq_mh, N, Nmu, Nmh) ! Calculates the total chi^2 value with the peak-centered chi^2 method. This ! subroutine is called from evaluate_model in the HiggsSignals run. !------------------------------------------------------------------------------------ implicit none double precision, allocatable :: csq_mu_in(:), csq_mh_in(:,:), csq0(:), csq0_nocorr(:) double precision, intent(out) :: csq_tot, csq_mu, csq_mh integer, intent(out) :: N, Nmu, Nmh integer :: i, ii, iii, j,jj, iter, Niterations logical :: iterate ! Need to do iterations of the following procedure. Due to modifications in the ! Higgs-to-peak assignments necessary for so-called assignment groups (i.e. a set of ! observables which should take over the assignment our their leading observable, ! which should be the one with a mass measurement), the covariance matrices of the Higgs ! mass part change, and therefore also the chi^2 contribution from the Higgs mass. ! Since a cutoff chi^2(tot) < chi^2(max) applies in specific cases, this cutoff has to be ! re-evaluated a few times to converge to the correct total chi^2 evaluation. iterate=.True. Niterations=0 do while(iterate) call calculate_mu_chisq(csq0, Nmu, 2) !--Debugging ! call calculate_mu_chisq(csq0_nocorr, Nmu, 2) ! csq0 without correlations !-- call calculate_mu_chisq(csq_mu_in, Nmu, 0) call calculate_mh_chisq(csq_mh_in, Nmh) !--Debugging ! write(*,*) "chi2 values (i, max with corr, max without corr, csq_mu, csq_mh)" ! do i=1,size(csq0) ! ! write(*,*) i, csq0(i), csq0_nocorr(i), csq_mu_in(i), csq_mh_in(1,i) ! write(*,*) i, csq0(i), csq_mu_in(i), csq_mh_in(1,i) ! enddo iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 ! write(*,*) "analyses(",i,")%peaks(",ii,")%Higgs_assignment_forced = ",analyses(i)%peaks(ii)%Higgs_assignment_forced if(analyses(i)%peaks(ii)%Higgs_assignment_forced.eq.0.and.(.not.maximalchisq).or.& & analyses(i)%peaks(ii)%Higgs_assignment_forced.eq.1.and.(.not.maximalchisq).and.pdf.eq.1) then if((csq_mu_in(iii)+sum(csq_mh_in(:,iii))).gt.csq0(iii).and.& & analyses(i)%peaks(ii)%NHiggs_comb.gt.0.and.analyses(i)%table%mhchisq.eq.1) then analyses(i)%peaks(ii)%undo_assignment=1 !---Now, undo Higgs-to-peak-assignment for the whole group (if existent) if(len(trim(analyses(i)%peaks(ii)%assignmentgroup)).ne.0) then do j=1, size(analyses) do jj=lbound(analyses(j)%peaks,dim=1),ubound(analyses(j)%peaks,dim=1) if(analyses(i)%peaks(ii)%assignmentgroup.eq.& & analyses(j)%peaks(jj)%assignmentgroup) then analyses(j)%peaks(jj)%undo_assignment=1 endif ! write(*,*) 'hello, undo assignment, j, jj = ', j, jj, ", undo assignment = ",analyses(j)%peaks(jj)%undo_assignment enddo enddo endif endif endif enddo enddo call correcting_Higgs_to_peak_assignment(iterate) if(iterate) Niterations = Niterations + 1 deallocate(csq_mu_in, csq_mh_in) enddo !! if(Niterations.gt.0) write(*,*) "Ran ",Niterations," iterations to determine Higgs to peak assignment." ! After these iterations, the code should know the correct assignments. call calculate_mh_chisq(csq_mh_in, Nmh) ! This will undo the assignments, if necessary ! call calculate_mu_chisq(csq0, Nmu, 1) ! call calculate_mu_chisq(csq0_nocorr, Nmu, 2) ! csq0 without correlations call calculate_mu_chisq(csq_mu_in, Nmu, 0) ! Need to evaluate this again with new assignments !Calculate total ndf: N = Nmu + Nmh csq_mu = 0.0D0 csq_mh = 0.0D0 csq_tot = 0.0D0 iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 !--Only allow positive chisq contributions if wanted if(minimalchisq) then if(csq_mu_in(iii).lt.0.0D0) csq_mu_in(iii) = 0.0D0 do j=lbound(csq_mh_in, dim=1), ubound(csq_mh_in, dim=1) if(csq_mh_in(j,iii).lt.0.0D0) csq_mh_in(j,iii) = 0.0D0 enddo endif !--Assign chisq_mu and chisq_mh such that the total chisq does not exceed the maximum !--chisq csq0 if(maximalchisq) then analyses(i)%peaks(ii)%chisq_mu = min(csq_mu_in(iii),csq0(iii)) analyses(i)%peaks(ii)%chisq_mh = min(csq0(iii)-analyses(i)%peaks(ii)%chisq_mu, & & sum(csq_mh_in(:,iii))) !TESTING: comment out this --> ! elseif(analyses(i)%peaks(ii)%Higgs_assignment_forced.eq.0) then ! analyses(i)%peaks(ii)%chisq_mu = min(csq_mu_in(iii),csq0(iii)) ! analyses(i)%peaks(ii)%chisq_mh = min(csq0(iii)-analyses(i)%peaks(ii)%chisq_mu, & !& sum(csq_mh_in(:,iii))) !! write(*,*) csq0(iii),csq_mu_in(iii),sum(csq_mh_in(:,iii)) ! NEW FOR CORRECTED ASSIGNMENTS: ! elseif(analyses(i)%peaks(ii)%Higgs_assignment_forced.eq.1.and.& !& analyses(i)%peaks(ii)%domH.eq.0) then elseif(analyses(i)%peaks(ii)%domH.eq.0) then analyses(i)%peaks(ii)%chisq_mu = csq0(iii) analyses(i)%peaks(ii)%chisq_mh = 0.0D0 else !! write(*,*) "HtP assignment is forced for analysis: ",iii analyses(i)%peaks(ii)%chisq_mu = csq_mu_in(iii) analyses(i)%peaks(ii)%chisq_mh = sum(csq_mh_in(:,iii)) !! write(*,*) csq0(iii),csq_mu_in(iii),sum(csq_mh_in(:,iii)) endif analyses(i)%peaks(ii)%chisq_tot = analyses(i)%peaks(ii)%chisq_mu + & & analyses(i)%peaks(ii)%chisq_mh analyses(i)%peaks(ii)%chisq_max = csq0(iii) csq_mu = csq_mu + analyses(i)%peaks(ii)%chisq_mu csq_mh = csq_mh + analyses(i)%peaks(ii)%chisq_mh csq_tot = csq_tot + analyses(i)%peaks(ii)%chisq_tot enddo enddo deallocate(csq_mu_in, csq_mh_in) ! write(*,*) "End of subroutine calculate_total_pc_chisq." end subroutine calculate_total_pc_chisq !----------------------------------------------------------------------------------- subroutine correcting_Higgs_to_peak_assignment(iterate) !----------------------------------------------------------------------------------- use usefulbits, only : np, Hneut implicit none integer :: i, ii, k logical, intent(inout) :: iterate iterate=.False. do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) if(analyses(i)%peaks(ii)%undo_assignment.eq.1.and.analyses(i)%peaks(ii)%domH.ne.0)then !! write(*,*) "Correcting HtP." iterate=.True. do k=1,np(Hneut) analyses(i)%peaks(ii)%Higgs_comb(k)=0 enddo analyses(i)%peaks(ii)%domH=0 call evaluate_peak(analyses(i)%peaks(ii),analyses(i)%table) !! analyses(i)%peaks(ii)%undo_assignment=0 endif enddo enddo end subroutine correcting_Higgs_to_peak_assignment !------------------------------------------------------------------------------------ subroutine create_covariance_matrices() !------------------------------------------------------------------------------------ if(.not.allocated(analyses)) then stop 'Error in subroutine create_covariance_matrices: analyses is not allocated.' endif ! write(*,*) "hello: Called subroutine create_covariance_matrices..." if(allocated(cov)) deallocate(cov) call create_covariance_matrix_mu(0) if(pdf.eq.2) then ! if(useaveragemass) then if(allocated(cov_mh_av)) deallocate(cov_mh_av) call create_covariance_matrix_mh_av(0) if(allocated(cov_mh_av_max)) deallocate(cov_mh_av_max) call create_covariance_matrix_mh_av(1) ! else if(allocated(cov_mhneut)) deallocate(cov_mhneut) call create_covariance_matrix_mhneut(0) if(allocated(cov_mhneut_max)) deallocate(cov_mhneut_max) call create_covariance_matrix_mhneut(1) ! endif endif end subroutine create_covariance_matrices !------------------------------------------------------------------------------------ subroutine calculate_mu_chisq(csq_mu, N, domax) !------------------------------------------------------------------------------------ ! use usefulbits_hs, only : peaklist, cov use numerics, only : invmatrix, matmult integer :: i, ii, iii double precision, allocatable :: v(:), vmat(:,:), invcov(:,:), v2(:) double precision, allocatable, intent(out) :: csq_mu(:) character(LEN=50) :: title = "covariance matrix for signal strength mu" integer, intent(out) :: N integer, intent(in) :: domax ! if 1, then calculate maximal chisq if(allocated(cov)) deallocate(cov) call create_covariance_matrix_mu(domax) if(allocated(mu_vector)) deallocate(mu_vector) N = size(cov,dim=1) allocate(v(N), vmat(N,1),invcov(N,N), v2(N), csq_mu(N)) allocate(mu_vector(N)) !! write(*,*) ' domax = ',domax !-First construct the vector (mupred - muobs)_iii iii=0 do i=1, size(analyses, dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 if(domax.ge.1) then v(iii) = analyses(i)%peaks(ii)%mu else v(iii) = analyses(i)%peaks(ii)%mu - analyses(i)%peaks(ii)%total_mu endif vmat(iii,1) = v(iii) enddo enddo ! Copy vector into global module vector (for later access) mu_vector = v call invmatrix(cov,invcov) call matmult(invcov,vmat,v2,N,1) !! write(*,*) "Calculating mu chi^2. domax = ", domax do i=1, N csq_mu(i) = v(i)*v2(i) !! write(*,*) i, analyses(i)%peaks(1)%total_mu,csq_mu(i) enddo !! write(*,*) "sum = ", sum(csq_mu(:)) deallocate(v,vmat,invcov,v2) end subroutine calculate_mu_chisq !------------------------------------------------------------------------------------ subroutine calculate_mh_chisq(csq_mh_out, ndf) !------------------------------------------------------------------------------------ ! use usefulbits_hs, only : peaklist use usefulbits, only : np, Hneut, vsmall use numerics, only : invmatrix, matmult integer, intent(out) :: ndf integer :: i, ii, iii, k, nH, N, Hindex double precision, allocatable :: v(:,:), invcov(:,:), v2(:), vmat(:,:) double precision, allocatable, intent(out) :: csq_mh_out(:,:) double precision :: m_av_iii, dm_av_iii if((pdf.eq.1).or.(pdf.eq.3)) then !-First, determine number of peaks: N = 0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) N = N + 1 enddo enddo nH = np(Hneut) if(useaveragemass) then allocate(csq_mh_out(1,N)) else allocate(csq_mh_out(nH,N)) endif !-First, fill the chisq vector with zeros: csq_mh_out(:,:) = 0.0D0 iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 if(useaveragemass) then call get_average_mass_for_peak(analyses(i)%peaks(ii)%Higgs_comb, & & analyses(i)%peaks(ii), m_av_iii, dm_av_iii) if(m_av_iii.gt.vsmall.and.analyses(i)%table%mhchisq.eq.1) then !!! BUG FIX (TS 03/02/2015) csq_mh_out(1,iii) = csq_mh(m_av_iii, analyses(i)%peaks(ii)%mpeak, dm_av_iii, & & analyses(i)%peaks(ii)%dm) endif else do k=1,nH Hindex = analyses(i)%peaks(ii)%Higgs_comb(k) if(Hindex.ne.0.and.analyses(i)%table%mhchisq.eq.1) then csq_mh_out(Hindex,iii) = csq_mh(analyses(i)%peaks(ii)%Higgses(Hindex)%m, & & analyses(i)%peaks(ii)%mpeak,analyses(i)%peaks(ii)%Higgses(Hindex)%dm, & & analyses(i)%peaks(ii)%dm) endif enddo endif enddo enddo else if(pdf.eq.2) then if(useaveragemass) then if(allocated(cov_mh_av)) deallocate(cov_mh_av) call create_covariance_matrix_mh_av(0) N = size(cov_mh_av,dim=1) allocate(v(1,N), v2(N), csq_mh_out(1,N), vmat(N,1)) do i=1,N v(1,i) = 0.0D0 enddo iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 call get_average_mass_for_peak(analyses(i)%peaks(ii)%Higgs_comb, & & analyses(i)%peaks(ii), m_av_iii, dm_av_iii) if(m_av_iii.gt.0) then v(1,iii) = m_av_iii - analyses(i)%peaks(ii)%mpeak endif enddo enddo call invmatrix(cov_mh_av(:,:),invcov) vmat(:,1)=v(1,:) call matmult(invcov,vmat,v2,N,1) do i=1, N csq_mh_out(1,i) = v(1,i)*v2(i) enddo else if(allocated(cov_mhneut)) deallocate(cov_mhneut) call create_covariance_matrix_mhneut(0) nH = size(cov_mhneut,dim=1) N = size(cov_mhneut,dim=2) allocate(v(nH,N), v2(N), csq_mh_out(nH,N), vmat(N,1)) !-Construct the vector (mhpred - mhobs)_iii. Do this for every Higgs boson !-of the model. If the Higgs boson (Hindex) is not assigned to the peak, we set !-the entry of the vector to zero. !-First, fill the vectors with zeros: do k=1,nH do i=1,N v(k,i) = 0.0D0 enddo enddo do k=1,nH iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 Hindex = analyses(i)%peaks(ii)%Higgs_comb(k) if(Hindex.ne.0) then v(Hindex,iii) = analyses(i)%peaks(ii)%Higgses(Hindex)%m - & & analyses(i)%peaks(ii)%mpeak endif enddo enddo enddo do k=1,nH !-n.b.: this loops now over Hindex call invmatrix(cov_mhneut(k,:,:),invcov) vmat(:,1)=v(k,:) ! call matmult(invcov,v(k,:),v2,N,1) call matmult(invcov,vmat,v2,N,1) do i=1, N csq_mh_out(k,i) = v(k,i)*v2(i) if(csq_mh_out(k,i).ge.0.00001D0) then !! write(*,*) "hello: ",k,i,v(k,i),sign(1.0D0,v(k,i)), csq_mh_out(k,i) endif enddo enddo endif deallocate(v,v2,vmat,invcov) endif if(useaveragemass) then !--Calculate additional chi^2 contribution from the mass separation iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 if(analyses(i)%table%mhchisq.eq.1) then csq_mh_out(1,iii) = csq_mh_out(1,iii) + csq_mass_separation_weighted( & & analyses(i)%peaks(ii)%Higgs_comb, analyses(i)%peaks(ii)) endif enddo enddo endif ! write(*,*) "before deallocate csq_mh_out" ! deallocate(csq_mh_out) ! write(*,*) "after deallocate csq_mh_out" !--Determine number of observables ndf. This checks for each peak whether the mass !--resolution is less than a huge number and thus the chisq evaluation from the mass !--measurement is enabled. ndf=0 if(pdf.eq.2.or.pdf.eq.3) then do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) if(analyses(i)%table%mhchisq.eq.1) ndf=ndf+1 enddo enddo endif ! write(*,*) "End of subroutine calculate_mh_chisq." end subroutine calculate_mh_chisq !------------------------------------------------------------------------------------ subroutine create_covariance_matrix_mhneut(domax) !------------------------------------------------------------------------------------ use usefulbits, only : np, Hneut implicit none double precision :: dratesq, dmu0sq, dmtemp character(LEN=50) :: title integer, intent(in) :: domax ! = 0 or 1. If set to 1, then fill all off-diagonal elements ! with squared theoretical mass uncertainty, corresponding to ! a complete Higgs-to-peaks assignment integer :: Npeaks,i,ii,iii,j,jj,jjj,k,Hindex_i, Hindex_j !! write(*,*) "Create Higgs mass covariance matrix" Npeaks = 0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) Npeaks = Npeaks + 1 enddo enddo if(domax.eq.0) then allocate(cov_mhneut(np(Hneut),Npeaks,Npeaks)) elseif(domax.eq.1) then allocate(cov_mhneut_max(np(Hneut),Npeaks,Npeaks)) else - stop'ERROR in subroutine create_covariance_matrix_mhneut. Specify domax correctly!' + stop 'ERROR in subroutine create_covariance_matrix_mhneut. Specify domax correctly!' endif !-First, fill all elements of the covariance matrices with zero except the diagonal !-elements which contain the experimental mass resolution squared do k=1,np(Hneut) iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 jjj=0 do j=1, size(analyses) do jj=lbound(analyses(j)%peaks,dim=1),ubound(analyses(j)%peaks,dim=1) jjj=jjj+1 if(domax.eq.0) cov_mhneut(k,iii,jjj) = 0.0D0 if(domax.eq.1) cov_mhneut_max(k,iii,jjj) = 0.0D0 if(iii.eq.jjj) then !-----Deactivate mh chisq contributions for those analysis which are tagged mhchisq==0 !-----by setting the uncertainty to a very large value. if(analyses(i)%table%mhchisq.eq.1) then if(domax.eq.0) cov_mhneut(k,iii,jjj) = analyses(i)%peaks(ii)%dm**2 if(domax.eq.1) cov_mhneut_max(k,iii,jjj) = analyses(i)%peaks(ii)%dm**2 else if(domax.eq.0) cov_mhneut(k,iii,jjj) = vlarge**2 if(domax.eq.1) cov_mhneut_max(k,iii,jjj) = vlarge**2 endif endif enddo enddo enddo enddo enddo !-Now, look for Higgs bosons shared by 2 peaks and fill the corresponding cov. matrix !-element with the theoretical uncertainty squared of this Higgs boson. do k=1,np(Hneut) iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 jjj=0 do j=1, size(analyses) do jj=lbound(analyses(j)%peaks,dim=1),ubound(analyses(j)%peaks,dim=1) jjj=jjj+1 ! Hindex_i = analyses(i)%peaks(ii)%Higgs_comb(k) ! Hindex_j = analyses(j)%peaks(jj)%Higgs_comb(k) ! if((Hindex_i.eq.Hindex_j).and.(Hindex_i.ne.0).and.domax.eq.0) then if(int_in_array(k,analyses(i)%peaks(ii)%Higgs_comb).and.int_in_array(k, & & analyses(j)%peaks(jj)%Higgs_comb).and.domax.eq.0) then ! write(*,*) 'debug: k = ',k,', jjj = ',jjj,' comb1 =, ', & ! & analyses(i)%peaks(ii)%Higgs_comb,' comb2 = ',analyses(j)%peaks(jj)%Higgs_comb if(correlations_mh.or.(.not.correlations_mh.and.iii.eq.jjj)) then ! if(anticorrmh) then ! cov_mhneut(k,iii,jjj)=cov_mhneut(k,iii,jjj) + & !& sign(1.0D0,(analyses(i)%peaks(ii)%Higgses(k)%m-analyses(i)%peaks(ii)%mpeak))* & !& sign(1.0D0,(analyses(j)%peaks(jj)%Higgses(k)%m-analyses(j)%peaks(jj)%mpeak))* & !& analyses(i)%peaks(ii)%Higgses(k)%dm**2 ! else cov_mhneut(k,iii,jjj)=cov_mhneut(k,iii,jjj) + & & analyses(i)%peaks(ii)%Higgses(k)%dm**2 ! endif endif elseif(domax.eq.1) then if(correlations_mh.or.(.not.correlations_mh.and.iii.eq.jjj)) then ! !NEW TEST (sign dependence): ! if(anticorrmh) then ! cov_mhneut_max(k,iii,jjj)= cov_mhneut_max(k,iii,jjj) + & !& sign(1.0D0,(analyses(i)%peaks(ii)%Higgses(k)%m-analyses(i)%peaks(ii)%mpeak))* & !& sign(1.0D0,(analyses(j)%peaks(jj)%Higgses(k)%m-analyses(j)%peaks(jj)%mpeak))* & !& analyses(i)%peaks(ii)%Higgses(k)%dm**2 ! else cov_mhneut_max(k,iii,jjj)= cov_mhneut_max(k,iii,jjj) + & & analyses(i)%peaks(ii)%Higgses(k)%dm**2 ! endif endif endif enddo enddo enddo enddo enddo !! title = "mass covariance matrix for maximal assignment, first Higgs boson" !! if(domax.eq.1) call print_dble_matrix(cov_mhneut_max(1,:,:), title) ! title = "covariance matrix for mh1" ! call print_dble_matrix(cov_mhneut(1,:,:), title) ! title = "covariance matrix for mh2" ! call print_dble_matrix(cov_mhneut(2,:,:), title) !! title = "covariance matrix for signal strength mh3" !! call print_dble_matrix(cov_mhneut(3,:,:), title) end subroutine create_covariance_matrix_mhneut !------------------------------------------------------------------------------------ subroutine create_covariance_matrix_mh_av(domax) !------------------------------------------------------------------------------------ use usefulbits, only : np, Hneut implicit none double precision :: dratesq, dmu0sq, dmtemp character(LEN=50) :: title integer, intent(in) :: domax ! = 0 or 1. If set to 1, then fill all off-diagonal elements ! with squared theoretical mass uncertainty, corresponding to ! a complete Higgs-to-peaks assignment integer :: Npeaks,i,ii,iii,j,jj,jjj,k,Hindex_i, Hindex_j integer, dimension(np(Hneut)) :: ones double precision :: m_av_iii, m_av_jjj double precision :: dm_av_iii, dm_av_jjj ! write(*,*) "Create Higgs mass covariance matrix" ones = 1 Npeaks = 0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) Npeaks = Npeaks + 1 enddo enddo if(domax.eq.0) then allocate(cov_mh_av(Npeaks,Npeaks)) elseif(domax.eq.1) then allocate(cov_mh_av_max(Npeaks,Npeaks)) else - stop'ERROR in subroutine create_covariance_matrix_mh_av. Specify domax correctly!' + stop 'ERROR in subroutine create_covariance_matrix_mh_av. Specify domax correctly!' endif !-First, fill all elements of the covariance matrices with zero except the diagonal !-elements which contain the experimental mass resolution squared ! do k=1,np(Hneut) iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 jjj=0 do j=1, size(analyses) do jj=lbound(analyses(j)%peaks,dim=1),ubound(analyses(j)%peaks,dim=1) jjj=jjj+1 if(domax.eq.0) cov_mh_av(iii,jjj) = 0.0D0 if(domax.eq.1) cov_mh_av_max(iii,jjj) = 0.0D0 if(iii.eq.jjj) then if(analyses(i)%table%mhchisq.eq.1) then if(domax.eq.0) cov_mh_av(iii,jjj) = analyses(i)%peaks(ii)%dm**2 if(domax.eq.1) cov_mh_av_max(iii,jjj) = analyses(i)%peaks(ii)%dm**2 else if(domax.eq.0) cov_mh_av(iii,jjj) = vlarge**2 if(domax.eq.1) cov_mh_av_max(iii,jjj) = vlarge**2 endif endif enddo enddo enddo enddo !enddo !-Now, look for Higgs bosons shared by 2 peaks and fill the corresponding cov. matrix !-element with the theoretical uncertainty squared of this Higgs boson. do k=1,np(Hneut) iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 call get_average_mass_for_peak(analyses(i)%peaks(ii)%Higgs_comb, & & analyses(i)%peaks(ii), m_av_iii, dm_av_iii) ! write(*,*) "Higgs comb = ",analyses(i)%peaks(ii)%Higgs_comb," average mass = ",m_av_iii, dm_av_iii jjj=0 do j=1, size(analyses) do jj=lbound(analyses(j)%peaks,dim=1),ubound(analyses(j)%peaks,dim=1) jjj=jjj+1 call get_average_mass_for_peak(analyses(j)%peaks(jj)%Higgs_comb, & & analyses(j)%peaks(jj), m_av_jjj, dm_av_jjj) if(int_in_array(k,analyses(i)%peaks(ii)%Higgs_comb).and.int_in_array(k, & & analyses(j)%peaks(jj)%Higgs_comb).and.domax.eq.0) then if(correlations_mh.or.(.not.correlations_mh.and.iii.eq.jjj)) then ! if(anticorrmh) then ! cov_mh_av(iii,jjj)=cov_mh_av(iii,jjj) + & !& sign(1.0D0,(m_av_iii-analyses(i)%peaks(ii)%mpeak)) * & !& sign(1.0D0,(m_av_jjj-analyses(j)%peaks(jj)%mpeak)) * & !& analyses(i)%peaks(ii)%Higgses(k)%mu/analyses(i)%peaks(ii)%total_mu * & !& analyses(j)%peaks(jj)%Higgses(k)%mu/analyses(j)%peaks(jj)%total_mu * & !& dm_av_iii * dm_av_jjj ! else cov_mh_av(iii,jjj)=cov_mh_av(iii,jjj) + & & analyses(i)%peaks(ii)%Higgses(k)%mu/analyses(i)%peaks(ii)%total_mu * & & analyses(j)%peaks(jj)%Higgses(k)%mu/analyses(j)%peaks(jj)%total_mu * & & dm_av_iii * dm_av_jjj ! endif endif elseif (domax.eq.1) then if(correlations_mh.or.(.not.correlations_mh.and.iii.eq.jjj)) then call get_average_mass_for_peak(ones, analyses(i)%peaks(ii), m_av_iii, dm_av_iii) call get_average_mass_for_peak(ones, analyses(j)%peaks(jj), m_av_jjj, dm_av_jjj) ! if(anticorrmh) then ! cov_mh_av_max(iii,jjj)=cov_mh_av_max(iii,jjj) + & !& sign(1.0D0,(m_av_iii-analyses(i)%peaks(ii)%mpeak)) * & !& sign(1.0D0,(m_av_jjj-analyses(j)%peaks(jj)%mpeak)) * & !& analyses(i)%peaks(ii)%Higgses(k)%mu/analyses(i)%peaks(ii)%total_mu * & !& analyses(j)%peaks(jj)%Higgses(k)%mu/analyses(j)%peaks(jj)%total_mu * & !& dm_av_iii * dm_av_jjj ! else cov_mh_av_max(iii,jjj)=cov_mh_av_max(iii,jjj) + & & analyses(i)%peaks(ii)%Higgses(k)%mu/analyses(i)%peaks(ii)%total_mu * & & analyses(j)%peaks(jj)%Higgses(k)%mu/analyses(j)%peaks(jj)%total_mu * & & dm_av_iii * dm_av_jjj ! endif endif endif enddo enddo enddo enddo enddo ! title = "mass averaged covariance matrix" !! if(domax.eq.1) call print_dble_matrix(cov_mh_av_max(1,:,:), title) !! title = "covariance matrix for signal strength mh2" ! call print_dble_matrix(cov_mh_av(:,:), title) !! title = "covariance matrix for signal strength mh3" !! call print_dble_matrix(cov_mh_av(3,:,:), title) end subroutine create_covariance_matrix_mh_av !------------------------------------------------------------------------------------ subroutine correct_mu_uncertainty_of_peak(peak, table) ! The mu uncertainty as given in the mutable contains also systematic uncertainties for ! the luminosity and signal rate. These uncertainties are highly correlated to other ! analyses. Therefore, we subtract them here to obtain the intrinsic mu uncertainty of ! this peak. The correlated uncertainties enter later via the covariance matrix. !------------------------------------------------------------------------------------ use usefulbits_hs, only : usescalefactor, output_level,symmetricerrors,& & absolute_errors, THU_included!, withcorrexpsyst implicit none type(mupeak), intent(inout) :: peak type(mutable), intent(in) :: table ! double precision, intent(in) :: dlumi ! Uncertainty of Luminosity (relative) integer :: j double precision :: dcsq, dmulow0sq, dmuup0sq, allsystsq, dmuaverage, dmuaverage0sq, mu dcsq = 0 do j=1, peak%Nc dcsq = dcsq + peak%channel_systSM(j)**2 enddo if(absolute_errors) then mu=peak%mu_original else mu=peak%mu endif ! if(.not.symmetricerrors) then if(THU_included) then ! if(withcorrexpsyst) then ! allsystsq = 0.0D0 ! do j=lbound(table%correxpsyst,dim=1),ubound(table%correxpsyst,dim=1) ! allsystsq = allsystsq + table%correxpsyst(j)**2 ! enddo ! dmulow0sq = (peak%dmulow)**2-(allsystsq + dcsq)*mu**2 ! dmuup0sq = (peak%dmuup)**2-(allsystsq + dcsq)*mu**2 ! else dmulow0sq = (peak%dmulow)**2-(table%dlumi*mu)**2-dcsq*mu**2 dmuup0sq = (peak%dmuup)**2-(table%dlumi*mu)**2-dcsq*mu**2 ! endif else !- In the case of future projections we usually use measurements !- without theoretical uncertainty included: dmulow0sq = (peak%dmulow)**2 dmuup0sq = (peak%dmuup)**2 endif if(usescalefactor) then dmulow0sq = peak%scale_mu**2*dmulow0sq dmuup0sq = peak%scale_mu**2*dmuup0sq endif if(.not.symmetricerrors) then peak%dmulow0sq = dmulow0sq peak%dmuup0sq = dmuup0sq else if(peak%dmulow0sq.lt.0.0d0.or.peak%dmuup0sq.lt.0.0d0) then write(*,*) "WARNING: squared intrinsic mu uncertainty is negative!" endif peak%dmulow0sq = (sqrt(abs(dmulow0sq))+sqrt(abs(dmuup0sq)))**2/4.0d0 peak%dmuup0sq = (sqrt(abs(dmulow0sq))+sqrt(abs(dmuup0sq)))**2/4.0d0 endif ! else ! dmuaverage = (peak%dmulow+peak%dmuup)/2. ! if(withcorrexpsyst) then ! allsystsq = 0.0D0 ! do j=lbound(table%correxpsyst,dim=1),ubound(table%correxpsyst,dim=1) ! allsystsq = allsystsq + table%correxpsyst(j)**2 ! enddo ! dmuaverage0sq = (dmuaverage)**2-(allsystsq + dcsq)*peak%mu**2 ! else ! dmuaverage0sq = (dmuaverage)**2-(table%dlumi*peak%mu)**2-dcsq*peak%mu**2 ! endif ! if(usescalefactor) then ! dmuaverage0sq = peak%scale_mu**2*dmuaverage0sq ! endif ! peak%dmulow0sq = dmuaverage0sq ! peak%dmuup0sq = dmuaverage0sq ! endif ! if(output_level.ne.0) then if(peak%dmulow0sq.lt.0.0D0) then write(*,*) "WARNING: Negative intrinsic (lower) error squared for observable ID = ",& peak%ID,", with value ",peak%dmulow0sq endif if(peak%dmuup0sq.lt.0.0D0) then write(*,*) "WARNING: Negative intrinsic (upper) error squared for observable ID = ",& peak%ID,", with value ",peak%dmuup0sq endif ! endif !! write(*,*) "Original / Corrected uncertainties (low): ",peak%dmulow, sqrt(dmulow0sq) !! write(*,*) "Original / Corrected uncertainties (up): ",peak%dmuup, sqrt(dmuup0sq) end subroutine correct_mu_uncertainty_of_peak !------------------------------------------------------------------------------------ subroutine create_covariance_matrix_mu(domax) !------------------------------------------------------------------------------------ use usefulbits_hs, only : withcorrexpsyst, absolute_errors, corrlist use expt_syst, only : get_expt_syst_corr_for_peaks implicit none integer, intent(in) :: domax ! if 1, then use predicted mu == 0 double precision :: dratesq, dmu0sq, s1, s2, mu_iii, mu_jjj, corrsyst, corrsystSM double precision :: obs1dmu0sq,obs2dmu0sq integer :: Npeaks integer :: i,ii,iii,j,jj,jjj,k character(LEN=50) :: title logical :: corr integer csqmax ! write(*,*) "Creating mu covariance matrix..." !---TRY TO EVALUATE THE MAX CHISQ WITHOUT CORRELATIONS---! if(domax.eq.1) then csqmax = 1 corr=correlations_mu elseif(domax.eq.2) then csqmax = 1 corr=.False. else csqmax = 0 corr=correlations_mu endif !--------------------------------------------------------! Npeaks = 0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) Npeaks = Npeaks + analyses(i)%Npeaks enddo allocate(cov(Npeaks,Npeaks)) iii=0 !--Loop twice over all peaks to construct matrix do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 if(absolute_errors) then mu_iii=analyses(i)%peaks(ii)%mu_original else mu_iii=analyses(i)%peaks(ii)%mu endif jjj=0 do j=1, size(analyses) do jj=lbound(analyses(j)%peaks,dim=1),ubound(analyses(j)%peaks,dim=1) jjj=jjj+1 if(absolute_errors) then mu_jjj=analyses(j)%peaks(jj)%mu_original else mu_jjj=analyses(j)%peaks(jj)%mu endif if(usescalefactor) then s1 = analyses(i)%peaks(ii)%scale_mu s2 = analyses(j)%peaks(jj)%scale_mu else s1 = 1.0D0 s2 = 1.0D0 endif cov(iii,jjj)=0.0D0 if(corr.or.(.not.corr.and.iii.eq.jjj)) then call get_rate_uncertainties_sq_peaks(dratesq,analyses(i)%peaks(ii),& & analyses(j)%peaks(jj),analyses(i)%table%collider, analyses(i)%table%energy,& & analyses(j)%table%collider, analyses(j)%table%energy) ! write(*,*) "... done with getting rate uncertainties..." if(anticorrmu) then !-----Treat luminosity uncertainty as correlated systematic error if same collaboration: if(analyses(i)%table%collaboration.eq.analyses(j)%table%collaboration) then cov(iii,jjj)=cov(iii,jjj)+(s1*analyses(i)%table%dlumi*s2*analyses(j)%table%dlumi)& & *(mu_iii*mu_jjj) endif corrsyst=0.0D0 !------Include correlated experimental systematic uncertainties (TS 2013-11-21) if(withcorrexpsyst) then ! write(*,*) "... getting exp syst corr... " if(iii.eq.jjj) then call get_expt_syst_corr_for_peaks(corrsystSM, analyses(i)%peaks(ii),& & mu_iii, analyses(j)%peaks(jj),mu_jjj, 0) cov(iii,jjj)=cov(iii,jjj) - corrsystSM endif call get_expt_syst_corr_for_peaks(corrsyst, analyses(i)%peaks(ii),& & mu_iii, analyses(j)%peaks(jj),mu_jjj, 1) cov(iii,jjj)=cov(iii,jjj) + corrsyst endif ! write(*,*) "... done!" !------ if(useSMweights) then cov(iii,jjj)=cov(iii,jjj)+ & & (dratesq)*(analyses(i)%peaks(ii)%mu*analyses(j)%peaks(jj)%mu) else cov(iii,jjj)=cov(iii,jjj)+ & & (dratesq)*(analyses(i)%peaks(ii)%total_mu*analyses(j)%peaks(jj)%total_mu) endif ! write(*,*) "... done with mode anticorrmu=True..." else ! anticorrmu=.False. !-----Treat luminosity uncertainty as correlated systematic error if same collaboration: if(analyses(i)%table%collaboration.eq.analyses(j)%table%collaboration) then cov(iii,jjj)=cov(iii,jjj)+(s1*analyses(i)%table%dlumi*s2*analyses(j)%table%dlumi)& & *abs(mu_iii*mu_jjj) endif if(useSMweights) then cov(iii,jjj)=cov(iii,jjj)+ & & (dratesq)*(analyses(i)%peaks(ii)%mu*analyses(j)%peaks(jj)%mu) else cov(iii,jjj)=cov(iii,jjj)+ & & (dratesq)*(analyses(i)%peaks(ii)%total_mu*analyses(j)%peaks(jj)%total_mu) endif ! write(*,*) "... done with mode anticorrmu=False..." endif endif !----Add the intrinsic (uncorrelated) uncertainty of this peak to the diagonal elements: if(iii.eq.jjj) then call get_dmu0sq_peak(dmu0sq,analyses(i)%peaks(ii),csqmax) cov(iii,jjj) = cov(iii,jjj) + dmu0sq endif !----NEW: Replace covariance matrix elements by official numbers if provided! do k= lbound(corrlist,dim=1),ubound(corrlist,dim=1) if((corrlist(k)%obsID1==analyses(i)%peaks(ii)%id.and.& & corrlist(k)%obsID2==analyses(j)%peaks(jj)%id).or.& & (corrlist(k)%obsID2==analyses(i)%peaks(ii)%id.and.& & corrlist(k)%obsID1==analyses(j)%peaks(jj)%id)) then call get_dmu0sq_peak(obs1dmu0sq,analyses(i)%peaks(ii),csqmax) call get_dmu0sq_peak(obs2dmu0sq,analyses(j)%peaks(jj),csqmax) cov(iii,jjj) = corrlist(k)%corr*sqrt(obs1dmu0sq)*sqrt(obs2dmu0sq) endif enddo ! write(*,*) iii,jjj, cov(iii,jjj) enddo enddo enddo enddo ! write(*,*) "... done!" !! write(*,*) "signal strength covariance matrix:" !! do iii=lbound(cov,dim=1),ubound(cov,dim=1) !! write(*,*) "(",iii,",",iii,") = ",cov(iii,iii) !! enddo end subroutine create_covariance_matrix_mu !------------------------------------------------------------------------------------ subroutine get_rate_uncertainties_sq_peaks_old(dratesq, peak1, peak2) ! Returns the sum of the squared theoretical uncertainties of the common ! production and decay rates of the two peak observables. !------------------------------------------------------------------------------------ use usefulbits_HS, only : mupeak, delta_rate, useSMweights type(mupeak), intent(in) :: peak1, peak2 double precision, intent(out) :: dratesq integer :: i,j,p1,d1,p2,d2 !id1,id2 double precision :: res res=0.0D0 do i=1,peak1%Nc do j=1,peak2%Nc p1 = peak1%channel_p_id(i) d1 = peak1%channel_d_id(i) p2 = peak2%channel_p_id(j) d2 = peak2%channel_d_id(j) ! id1 = peak1%channel_id(i) ! p1 = int((id1-modulo(id1,10))/dble(10)) ! d1 = modulo(id1,10) ! id2 = peak2%channel_id(j) ! p2 = int((id2-modulo(id2,10))/dble(10)) ! d2 = modulo(id2,10) ! if(p1.eq.p2) res=res+delta_rate%dCS(p1)**2*peak1%channel_w(i)*peak2%channel_w(j) ! if(d1.eq.d2) res=res+delta_rate%dBR(d1)**2*peak1%channel_w(i)*peak2%channel_w(j) if(p1.eq.p2) then if(useSMweights) then res=res+delta_rate%dCS(p1)**2*peak1%channel_w(i)*peak2%channel_w(j) else res=res+delta_rate%dCS(p1)**2*peak1%channel_w_model(i)*peak2%channel_w_model(j) endif endif if(d1.eq.d2) then if(useSMweights) then res=res+delta_rate%dBR(d1)**2*peak1%channel_w(i)*peak2%channel_w(j) else res=res+delta_rate%dBR(d1)**2*peak1%channel_w_model(i)*peak2%channel_w_model(j) endif endif enddo enddo dratesq=res end subroutine get_rate_uncertainties_sq_peaks_old !------------------------------------------------------------------------------------ subroutine get_rate_uncertainties_sq_peaks(dratesq, peak1, peak2, collider1, & energy1, collider2, energy2) ! Returns the sum of the squared theoretical uncertainties of the common ! production and decay rates of the two peak observables. !------------------------------------------------------------------------------------ use usefulbits_HS, only : mupeak, delta_rate, useSMweights use usefulbits, only : small type(mupeak), intent(in) :: peak1, peak2 character(LEN=*), intent(in) :: collider1, collider2 double precision, intent(in) :: energy1, energy2 double precision, intent(out) :: dratesq integer :: i,j,id1,p1,d1,id2,p2,d2 double precision :: res,drcov1,drcov2,drsign !, delta res=0.0D0 ! write(*,*) "... getting rate uncertainties..." ! delta=0.0D0 do i=1,peak1%Nc do j=1,peak2%Nc p1 = peak1%channel_p_id(i) d1 = peak1%channel_d_id(i) p2 = peak2%channel_p_id(j) d2 = peak2%channel_d_id(j) ! write(*,*) p1, p2, d1, d2 ! id1 = peak1%channel_id(i) ! p1 = int((id1-modulo(id1,10))/dble(10)) ! d1 = modulo(id1,10) ! id2 = peak2%channel_id(j) ! p2 = int((id2-modulo(id2,10))/dble(10)) ! d2 = modulo(id2,10) ! if(p1.eq.p2) res=res+delta_rate%dCS(p1)**2*peak1%channel_w(i)*peak2%channel_w(j) ! if(d1.eq.d2) res=res+delta_rate%dBR(d1)**2*peak1%channel_w(i)*peak2%channel_w(j) if((p1.gt.0).and.(p2.gt.0)) then if(collider1.ne.'ILC'.and.collider2.ne.'ILC') then if(delta_rate%CScov_ok.and.delta_rate%usecov) then !-- (TS 29/03/2017) Select the correct covariance matrix for the XS: if(abs(energy1-13.0d0).lt.small) then drcov1=delta_rate%CS13cov(p1,p2) else drcov1=delta_rate%CScov(p1,p2) endif drsign = sign(1.0d0,drcov1) if(abs(energy2-13.0d0).lt.small) then drcov2=delta_rate%CS13cov(p1,p2) drsign = sign(1.0d0,drcov2) ! Only overwrite sign when second peak is 13 TeV observable else drcov2=delta_rate%CScov(p1,p2) endif ! write(*,*) "done with getting the covariance matrix elements..." !-- if(useSMweights) then ! res=res+delta_rate%CScov(p1,p2)*peak1%channel_w(i)*peak2%channel_w(j) res=res+drsign*sqrt(abs(drcov1*drcov2))*peak1%channel_w(i)*peak2%channel_w(j) else ! res=res+delta_rate%CScov(p1,p2)*peak1%channel_w_model(i)*peak2%channel_w_model(j) res=res+drsign*sqrt(abs(drcov1*drcov2))*peak1%channel_w_model(i)*peak2%channel_w_model(j) endif else if(p1.eq.p2) then if(useSMweights) then res=res+delta_rate%dCS(p1)**2*peak1%channel_w(i)*peak2%channel_w(j) else res=res+delta_rate%dCS(p1)**2*peak1%channel_w_model(i)*peak2%channel_w_model(j) endif endif endif else if(collider1.eq.'ILC'.and.collider2.eq.'ILC') then if(p1.eq.p2) then if(useSMweights) then res=res+delta_rate%dCS_ILC(p1)**2*peak1%channel_w(i)*peak2%channel_w(j) else res=res+delta_rate%dCS_ILC(p1)**2*peak1%channel_w_model(i)*peak2%channel_w_model(j) endif endif endif endif ! if(collider1.ne.'ILC'.and.collider2.ne.'ILC') then ! delta=delta_rate%dCS(p1) ! else !---Set the theoretical uncertainty of production mode to zero if collider==ILC ! delta=0.0D0 ! endif ! if(useSMweights) then ! res=res+delta**2*peak1%channel_w(i)*peak2%channel_w(j) ! else ! res=res+delta**2*peak1%channel_w_model(i)*peak2%channel_w_model(j) ! endif ! endif ! write(*,*) "...getting decay rate uncertainties..." if((d1.gt.0).and.(d2.gt.0)) then if(delta_rate%BRcov_ok.and.delta_rate%usecov) then if(useSMweights) then res=res+delta_rate%BRcov(d1,d2)*peak1%channel_w(i)*peak2%channel_w(j) else res=res+delta_rate%BRcov(d1,d2)*peak1%channel_w_model(i)*peak2%channel_w_model(j) endif else if(d1.eq.d2) then if(useSMweights) then res=res+delta_rate%dBR(d1)**2*peak1%channel_w(i)*peak2%channel_w(j) else res=res+delta_rate%dBR(d1)**2*peak1%channel_w_model(i)*peak2%channel_w_model(j) endif endif endif endif ! write(*,*) "...done!" enddo enddo dratesq=res end subroutine get_rate_uncertainties_sq_peaks !------------------------------------------------------------------------------------ subroutine get_cov_mu(matrix) !------------------------------------------------------------------------------------ implicit none double precision, dimension(:,:), intent(out) :: matrix if(allocated(cov)) then if(size(cov,dim=1).eq.size(matrix,dim=1).and.size(cov,dim=2).eq.size(matrix,dim=2)) then ! allocate(matrix(size(cov,dim=1),size(cov,dim=2))) matrix = cov else write(*,*) "WARNING in subroutine get_cov_mu: different dimensions." endif else write(*,*) "WARNING in subroutine get_cov_mu: cov not allocated." endif end subroutine get_cov_mu !------------------------------------------------------------------------------------ subroutine get_cov_mh(Hindex,matrix) !------------------------------------------------------------------------------------ implicit none double precision, dimension(:,:), intent(out) :: matrix integer, intent(in) :: Hindex if(allocated(cov_mhneut)) then if(size(cov_mhneut,dim=2).eq.size(matrix,dim=1)& & .and.size(cov_mhneut,dim=3).eq.size(matrix,dim=2)) then if(Hindex.ge.lbound(cov_mhneut,dim=1).and.Hindex.le.ubound(cov_mhneut,dim=1)) then matrix = cov_mhneut(Hindex,:,:) else write(*,*) "WARNING in subroutine get_cov_mh: Hindex not in range." endif else write(*,*) "WARNING in subroutine get_cov_mh: different dimensions." endif else write(*,*) "WARNING in subroutine get_cov_mh: cov not allocated." endif end subroutine get_cov_mh !------------------------------------------------------------------------------------ subroutine print_cov_mu_to_file use usefulbits, only : file_id_common3 implicit none character(LEN=20):: formatstring open(file_id_common3, file='cov_mu.txt', form='formatted') write(formatstring,'(A1,I2,A7)') '(',size(cov,dim=2),'F20.10)' do i=lbound(cov,dim=1),ubound(cov,dim=1) write(file_id_common3, formatstring) cov(i,:) enddo close(file_id_common3) end subroutine print_cov_mu_to_file !------------------------------------------------------------------------------------ subroutine print_corr_mu_to_file use usefulbits, only : file_id_common3 implicit none character(LEN=20):: formatstring open(file_id_common3, file='corr_mu.txt', form='formatted') write(formatstring,'(A1,I2,A7)') '(',size(cov,dim=2),'F20.10)' do i=lbound(cov,dim=1),ubound(cov,dim=1) ! TS fix 14/08/2013: Took square root of this! write(file_id_common3, formatstring) (cov(i,j)/sqrt(cov(i,i)*cov(j,j)), & & j=lbound(cov,dim=2),ubound(cov,dim=2)) enddo close(file_id_common3) end subroutine print_corr_mu_to_file !------------------------------------------------------------------------------------ subroutine print_inverse_cov_mu_to_file use usefulbits, only : file_id_common3 implicit none character(LEN=20):: formatstring double precision, allocatable :: invcov(:,:) allocate(invcov(size(cov,dim=1),size(cov,dim=2))) call invmatrix(cov,invcov) open(file_id_common3, file='inverse_cov_mu.txt', form='formatted') write(formatstring,'(A1,I2,A7)') '(',size(invcov,dim=2),'F20.10)' do i=lbound(invcov,dim=1),ubound(invcov,dim=1) write(file_id_common3, formatstring) invcov(i,:) enddo close(file_id_common3) open(file_id_common3, file='mu_vector.txt', form='formatted') do i=lbound(mu_vector,dim=1),ubound(mu_vector,dim=1) write(file_id_common3, '(1F20.10)') mu_vector(i) enddo close(file_id_common3) end subroutine print_inverse_cov_mu_to_file !------------------------------------------------------------------------------------ subroutine print_inverse_cov_mh_to_file(Hindex) use usefulbits, only : file_id_common3 implicit none character(LEN=20):: formatstring, filename integer, intent(in) :: Hindex double precision, allocatable :: invcov(:,:) allocate(invcov(size(cov_mhneut,dim=2),size(cov_mhneut,dim=3))) if(useaveragemass) then call invmatrix(cov_mh_av(:,:),invcov) open(file_id_common3, file='inverse_cov_mh_average.txt', form='formatted') write(formatstring,'(A1,I2,A7)') '(',size(invcov,dim=2),'F20.10)' do i=lbound(invcov,dim=1),ubound(invcov,dim=1) write(file_id_common3, formatstring) invcov(i,:) enddo close(file_id_common3) else call invmatrix(cov_mhneut(Hindex,:,:),invcov) write(filename,'(A14,I1,A4)') 'inverse_cov_mh',Hindex,'.txt' open(file_id_common3, file=trim(adjustl(filename)), form='formatted') write(formatstring,'(A1,I2,A7)') '(',size(invcov,dim=2),'F20.10)' do i=lbound(invcov,dim=1),ubound(invcov,dim=1) write(file_id_common3, formatstring) invcov(i,:) enddo close(file_id_common3) endif end subroutine print_inverse_cov_mh_to_file !------------------------------------------------------------------------------------ subroutine print_cov_mh_to_file(Hindex) use usefulbits, only : file_id_common3 implicit none character(LEN=20):: formatstring, filename integer, intent(in) :: Hindex if(useaveragemass) then write(filename,'(A10)') 'cov_mh.txt' open(file_id_common3, file=trim(adjustl(filename)), form='formatted') write(formatstring,'(A1,I2,A7)') '(',size(cov_mh_av,dim=2),'F20.10)' do i=lbound(cov_mh_av,dim=1),ubound(cov_mh_av,dim=1) write(file_id_common3, formatstring) cov_mh_av(i,:) enddo close(file_id_common3) else write(filename,'(A6,I1,A4)') 'cov_mh',Hindex,'.txt' open(file_id_common3, file=trim(adjustl(filename)), form='formatted') write(formatstring,'(A1,I2,A7)') '(',size(cov_mhneut,dim=3),'F20.10)' do i=lbound(cov_mhneut,dim=2),ubound(cov_mhneut,dim=2) write(file_id_common3, formatstring) cov_mhneut(Hindex,i,:) enddo close(file_id_common3) endif end subroutine print_cov_mh_to_file !------------------------------------------------------------------------------------ subroutine print_peakinformation !------------------------------------------------------------------------------------ ! use usefulbits_HS, only : peaklist implicit none do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) write(*,*) write(*,*)'#*************************************************************************#' write(*,'(A,I3,A,I3,A)') ' # Analysis ',i, & & ' Peak ',j,' #' write(*,*)'#*************************************************************************#' write(*,'(A25,1I10)') 'ID =', analyses(i)%id write(*,'(A25,4X,A3)') 'Collaboration =', analyses(i)%table%collaboration write(*,'(A25,1F10.2)') 'Energy =', analyses(i)%table%energy write(*,'(A25,4X,A100)') 'Reference =', analyses(i)%table%label write(*,'(A25,4X,A100)') 'Description =', analyses(i)%table%desc write(*,'(A25,1F10.3)') 'mass resolution =',analyses(i)%table%deltam write(*,'(A25,1F10.3)') 'peak mass =',analyses(i)%peaks(j)%mpeak write(*,'(A25,1F10.4)') 'peak mu =',analyses(i)%peaks(j)%mu write(*,'(A25,2F10.4)') 'cyan band(low,high) =',analyses(i)%peaks(j)%dmulow, & & analyses(i)%peaks(j)%dmuup ! write(*,'(A25,2F10.4)') 'dmu0 (low,high) =',analyses(i)%peaks(j)%dmulow0, & !& analyses(i)%peaks(j)%dmuup0 write(*,'(A25,4X,$)') 'Higgs combination =' do k=lbound(analyses(i)%peaks(j)%Higgs_comb,dim=1), & & ubound(analyses(i)%peaks(j)%Higgs_comb,dim=1) write(*,'(1I3,$)') analyses(i)%peaks(j)%Higgs_comb(k) enddo write(*,*) write(*,'(A25,7X,1I3)') 'Dominant Higgs =',analyses(i)%peaks(j)%domH write(*,'(A25,1F10.4)'), 'Total pred. mu =',analyses(i)%peaks(j)%total_mu write(*,'(A25,1F15.9)'), 'Chisq for mu =',analyses(i)%peaks(j)%chisq_mu write(*,'(A25,1F15.9)'), 'Chisq for mh =',analyses(i)%peaks(j)%chisq_mh write(*,'(A25,1F15.9)'), 'Chisq (total) =',analyses(i)%peaks(j)%chisq_tot write(*,'(A25,1F15.9)'), 'Chisq (max) =',analyses(i)%peaks(j)%chisq_max write(*,*)'#------------------------ Channel information ----------------------------#' write(*,*) ' p,d-ID prod. decay mu weight syst.err. ' write(*,*)'#-------------------------------------------------------------------------#' do k=1, analyses(i)%peaks(j)%Nc write(*,'(2I5,5X,2A,3F15.6)') analyses(i)%peaks(j)%channel_p_id(k),& & analyses(i)%peaks(j)%channel_d_id(k),& & analyses(i)%table%channel_description(k,:),& & analyses(i)%peaks(j)%channel_mu(k),analyses(i)%peaks(j)%channel_w_model(k),& & analyses(i)%peaks(j)%channel_syst(k) enddo write(*,*)'#-------------------------------------------------------------------------#' enddo enddo end subroutine print_peakinformation !------------------------------------------------------------------------------------ subroutine print_peakinformation_essentials !------------------------------------------------------------------------------------ !x use usefulbits_HS, only : peaklist implicit none do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) write(*,*) write(*,*)'#*************************************************************************#' write(*,'(A,I3,A,I3,A)') ' # Analysis ',i, & & ' Peak ',j,' #' write(*,*)'#*************************************************************************#' write(*,'(A25,1I10)') 'ID =', analyses(i)%id write(*,'(A25,7X,A3)') 'Collaboration =', analyses(i)%table%collaboration write(*,'(A25,4X,F6.2)') 'cms energy =', analyses(i)%table%energy write(*,'(A25,4X,A100)') 'Reference =', analyses(i)%table%label write(*,'(A25,4X,A100)') 'Description =', analyses(i)%table%desc write(*,'(A25,1F10.2)') 'mass resolution =',analyses(i)%table%deltam write(*,'(A25,1F10.2)') 'peak mass =',analyses(i)%peaks(j)%mpeak write(*,'(A25,1F10.4)') 'peak mu =',analyses(i)%peaks(j)%mu write(*,'(A25,2F10.4)') 'cyan band(low,high) =',analyses(i)%peaks(j)%dmulow, & & analyses(i)%peaks(j)%dmuup write(*,*)'#------------------------ Channel information ----------------------------#' write(*,*)' p,d-ID prod. decay efficiency' write(*,*)'#-------------------------------------------------------------------------#' do k=1, analyses(i)%peaks(j)%Nc write(*,'(2I5,5X,2A,1F15.6)') analyses(i)%peaks(j)%channel_p_id(k), & & analyses(i)%peaks(j)%channel_d_id(k),& & analyses(i)%table%channel_description(k,:),analyses(i)%table%channel_eff(k) enddo write(*,*)'#-------------------------------------------------------------------------#' enddo enddo end subroutine print_peakinformation_essentials !------------------------------------------------------------------------------------ subroutine print_peaks_to_file !------------------------------------------------------------------------------------ use usefulbits, only : file_id_common3 use usefulbits_hs, only : StrCompress implicit none character(LEN=100) :: formatspec integer :: kk kk=0 formatspec='(I3,7X,I10,1X,F6.2,1X,4F8.4,1X,A3,1X,F6.2,1X,F6.2,1X,I3,1X,A,5X,A)' open(file_id_common3,file="peak_information.txt") write(file_id_common3,*) "#HiggsSignals-"//trim(adjustl(HSvers))// & & " with experimental dataset '"//trim(adjustl(Exptdir))//"'" write(file_id_common3,*) "#Number Analysis-ID mh_obs mu_obs dmu_low dmu_high ", & & "dmh_exp collaboration energy luminosity description reference" write(file_id_common3,*) "#" do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) kk=kk+1 write(file_id_common3,formatspec)kk,analyses(i)%id,analyses(i)%peaks(j)%mpeak, & & analyses(i)%peaks(j)%mu, analyses(i)%peaks(j)%dmulow,analyses(i)%peaks(j)%dmuup, & & analyses(i)%table%deltam,analyses(i)%table%collaboration, analyses(i)%table%energy, & & analyses(i)%table%lumi, analyses(i)%table%mhchisq, & & trim(strcompress(analyses(i)%table%desc)), analyses(i)%table%label enddo enddo close(file_id_common3) end subroutine print_peaks_to_file !------------------------------------------------------------------------------------ subroutine print_peaks_to_LaTeX !------------------------------------------------------------------------------------ use usefulbits, only : file_id_common3 use usefulbits_hs, only : StrCompress implicit none character(LEN=100) :: formatspec integer :: kk, N, ii, id, p double precision :: weights(5) = (/ 0.0D0, 0.0D0,0.0D0,0.0D0,0.0D0 /) kk=0 open(file_id_common3,file="peak_information.tex") write(file_id_common3,*) "\begin{tabular}{lcrrrrr}" write(file_id_common3,*) "\hline" write(file_id_common3,*) "Analysis & Signal strength & \multicolumn{5}{c}{Signal contamination [in \%]} \\" write(file_id_common3,*) "& & ggH & VBF & WH & ZH & $t\bar{t}H$ \\" write(file_id_common3,*) "\hline" do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) kk=kk+1 N = analyses(i)%peaks(j)%Nc weights = (/ 0.0D0, 0.0D0,0.0D0,0.0D0,0.0D0 /) do ii=1,N ! id = analyses(i)%peaks(j)%channel_id(ii) ! p = int((id-modulo(id,10))/dble(10)) p = analyses(i)%peaks(j)%channel_p_id(ii) if(p.le.5) then weights(p) = analyses(i)%peaks(j)%channel_w_model(ii) else write(*,*) "Warning: print_peaks_to_LaTeX only outputs information for the five main production channels!" endif enddo ! write(formatspec,"(A,I1,A,I1,A)") '(A3,1X,A,A,A,A,A,F6.2,A,F6.2,A,F6.2,A,F6.1,A,F6.1,A,F6.1,A,F6.1,A,F6.1,A,',N,'I3)' write(formatspec,"(A,I1,A,I1,A)") '(A3,1X,A,A,A,A,A,F6.2,A,F6.2,A,F6.2,A,F6.1,A,F6.1,A,F6.1,A,F6.1,A,F6.1,A)' write(file_id_common3,formatspec) analyses(i)%table%collaboration, & & "$",trim(strcompress(analyses(i)%table%desc)), "$~\cite{", & & trim(strcompress(analyses(i)%table%label)),"} & $", & & analyses(i)%peaks(j)%mu, "\substack{+",analyses(i)%peaks(j)%dmuup,"\\ -",& & abs(analyses(i)%peaks(j)%dmulow),"}$ & $",100*weights(1),"$ & $",100*weights(2),& & "$ & $",100*weights(3),"$ & $",100*weights(4),"$ & $",100*weights(5),"$\\" enddo enddo write(file_id_common3,*) "\hline" write(file_id_common3,*) "\end{tabular}" end subroutine print_peaks_to_LaTeX !------------------------------------------------------------------------------------ subroutine print_peaks_signal_rates_to_file !------------------------------------------------------------------------------------ use usefulbits, only : file_id_common3 use usefulbits_hs, only : HSres implicit none character(LEN=100) :: formatspec,formatspec2 integer :: kk double precision :: mh_pull, mu_pull, dmu kk=0 formatspec='(I3,7X,I10,1X,4F8.2,1X,6F10.4)' formatspec2='(I3,7X,I10,1X,2F8.2,1X,A7,1X,A7,1X,A7,1X,5F10.4)' open(file_id_common3,file="peak_massesandrates.txt") write(file_id_common3,*) "#HiggsSignals-"//trim(adjustl(HSvers))// & & " with experimental dataset '"//trim(adjustl(Exptdir))//"'" write(file_id_common3,*) "#pull = (predicted - observed)/(gaussian uncertainty)" write(file_id_common3,*) "#Number Analysis-ID mh_obs dmh_exp mh_pred dmh_theo mh_pull",& & " mu_obs dmu_low dmu_high mu_pred mu_pull" write(file_id_common3,*) "#" do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) kk=kk+1 if(analyses(i)%peaks(j)%domH.ne.0) then mh_pull = (analyses(i)%peaks(j)%Higgses(analyses(i)%peaks(j)%domH)%m - & & analyses(i)%peaks(j)%mpeak)/ & & sqrt(analyses(i)%table%deltam**2+ & & analyses(i)%peaks(j)%Higgses(analyses(i)%peaks(j)%domH)%dm**2) endif call get_dmu_peak(dmu,analyses(i)%peaks(j)) mu_pull = (analyses(i)%peaks(j)%total_mu - analyses(i)%peaks(j)%mu)/dmu if(analyses(i)%peaks(j)%domH.ne.0) then write(file_id_common3,formatspec)kk,analyses(i)%id,analyses(i)%peaks(j)%mpeak, & & analyses(i)%table%deltam, analyses(i)%peaks(j)%Higgses(analyses(i)%peaks(j)%domH)%m, & & analyses(i)%peaks(j)%Higgses(analyses(i)%peaks(j)%domH)%dm, mh_pull, & & analyses(i)%peaks(j)%mu, analyses(i)%peaks(j)%dmulow,analyses(i)%peaks(j)%dmuup, & & analyses(i)%peaks(j)%total_mu, mu_pull else write(file_id_common3,formatspec2)kk,analyses(i)%id,analyses(i)%peaks(j)%mpeak, & & analyses(i)%table%deltam, 'NAN','NAN','NAN', & & analyses(i)%peaks(j)%mu, analyses(i)%peaks(j)%dmulow,analyses(i)%peaks(j)%dmuup, & & analyses(i)%peaks(j)%total_mu, mu_pull endif enddo enddo close(file_id_common3) end subroutine print_peaks_signal_rates_to_file !-------------------------------------------------------------------- subroutine get_peakchi2(obsID, csqmu, csqmh, csqmax, csqtot) !-------------------------------------------------------------------- implicit none integer, intent(in) :: obsID double precision, intent(out) :: csqmu, csqmh, csqmax, csqtot integer :: i, j do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) if(obsID.eq.analyses(i)%peaks(j)%id) then csqmu = analyses(i)%peaks(j)%chisq_mu csqmh = analyses(i)%peaks(j)%chisq_mh csqmax = analyses(i)%peaks(j)%chisq_max csqtot = analyses(i)%peaks(j)%chisq_tot endif enddo enddo end subroutine get_peakchi2 !------------------------------------------------------------------------------------ subroutine get_masschi2_from_separation(csq) !------------------------------------------------------------------------------------ implicit none double precision, intent(out) :: csq integer :: i, ii, iii ! write(*,*) "Calling get_masschi2_from_separation." csq =0.0D0 iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 if(analyses(i)%table%mhchisq.eq.1) then csq = csq + csq_mass_separation_weighted( & & analyses(i)%peaks(ii)%Higgs_comb, analyses(i)%peaks(ii)) ! write(*,*) 'analyses(',i,')%peaks(',ii,')%Higgs_comb = ',analyses(i)%peaks(ii)%Higgs_comb endif enddo enddo ! write(*,*) 'csq_sep =', csq end subroutine get_masschi2_from_separation !------------------------------------------------------------------------------------ subroutine add_peaks_to_HSresults(r) !------------------------------------------------------------------------------------ ! use usefulbits_hs, only : HSresults, peaklist implicit none type(HSresults), intent(out) :: r integer :: i,j, iii if(allocated(r%obsID)) deallocate(r%obsID) if(allocated(r%mupred)) deallocate(r%mupred) if(allocated(r%domH)) deallocate(r%domH) if(allocated(r%nH)) deallocate(r%nH) !-The number of peaks should maybe be saved in a global usefulbits_HS variable in order ! to avoid multiple loops over the peaklist. iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 enddo enddo allocate(r%mupred(iii), r%domH(iii), r%nH(iii), r%obsID(iii)) iii=0 do i=lbound(analyses,dim=1),ubound(analyses,dim=1) do j=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 r%mupred(iii)=analyses(i)%peaks(j)%total_mu r%domH(iii)=analyses(i)%peaks(j)%domH r%nH(iii)=analyses(i)%peaks(j)%NHiggs_comb r%obsID(iii)=analyses(i)%peaks(j)%id enddo enddo ! write(*,*) "End of subroutine add_peaks_to_HSresults." end subroutine add_peaks_to_HSresults !------------------------------------------------------------------------------------ subroutine get_dmu0sq_peak(dmu0sq,peak,domax) !------------------------------------------------------------------------------------ use usefulbits_HS, only : mupeak, symmetricerrors, absolute_errors implicit none integer, intent(in) :: domax ! if 1, then use predicted mu == 0 double precision, intent(out) :: dmu0sq double precision :: pred_mu, mu type(mupeak), intent(in) :: peak ! TESTING: ! if(absolute_errors) then ! mu=peak%mu_original ! else mu=peak%mu ! endif if(domax.eq.1) then pred_mu = 0.0D0 else pred_mu = peak%total_mu endif if(.not.symmetricerrors) then if(pred_mu.le.mu) then dmu0sq = peak%dmulow0sq else if(pred_mu.gt.mu) then dmu0sq = peak%dmuup0sq endif else if(peak%dmulow0sq.lt.0.0d0.or.peak%dmuup0sq.lt.0.0d0) then write(*,*) "WARNING: squared intrinsic mu uncertainty is negative!" dmu0sq= (sqrt(abs(peak%dmulow0sq))+sqrt(abs(peak%dmuup0sq)))**2/4. else dmu0sq = (sqrt(peak%dmulow0sq)+sqrt(peak%dmuup0sq))**2/4. endif endif !! write(*,*) 'DEBUG: ',peak%dmulow0sq, peak%dmuup0sq, (sqrt(peak%dmulow0sq)+sqrt(peak%dmuup0sq))**2/4. end subroutine get_dmu0sq_peak !------------------------------------------------------------------------------------ subroutine get_dmu_peak(dmu,peak) !------------------------------------------------------------------------------------ use usefulbits_HS, only : mupeak implicit none double precision, intent(out) :: dmu double precision :: pred_mu type(mupeak), intent(in) :: peak pred_mu = peak%total_mu if(pred_mu.le.peak%mu) then dmu = peak%dmulow else if(pred_mu.gt.peak%mu) then dmu = peak%dmuup endif end subroutine get_dmu_peak !------------------------------------------------------------------------------------ subroutine calc_pc_chisq(pc_chisq,peak,mhchisqflag,Higgses,Higgs_dom,indices_in,iterstep) ! This subroutine calculates the chisq value for a given Higgs combination assigned ! to one peak. ! Parameters: ! ! pc_chisq: Return value (double precision) ! peak: Peak observable the Higgs bosons are assigned to (type mupeak) ! Higgses: neutral Higgs bosons considered for the assignment (type neutHiggs(:)) ! Hdom: dominantly contribution Higgs boson (int) ! indices_in: Higgs boson combination the chi squared value is evaluated for (int(:)) ! iterstep: Iteration-step of Higgs-to-peak assignment !------------------------------------------------------------------------------------ implicit none type(mupeak), intent(in) :: peak type(neutHiggs), dimension(:), intent(in) :: Higgses(:) ! integer, allocatable, intent(out) :: indices_best(:) ! integer, intent(in), optional :: Nindices_in integer, dimension(:), intent(in) :: indices_in(:) integer, intent(in) :: mhchisqflag, iterstep integer, intent(out) :: Higgs_dom double precision, intent(out) :: pc_chisq !--Internal parameters: double precision :: mutot,dmu,csq0,csq_mh_tot,csq_tot,csq_tot_tmp,csq_mh_tmp,mumax double precision :: deltam integer :: nH double precision :: m, dm call check_pdf(pdf) nH=size(Higgses) !--Calculate the maximal chisq value for this peak csq0 = csq_mu(0.0D0,peak%mu,peak%dmuup,peak%dmulow) mumax = -1.0D6 mutot = 0.0D0 csq_mh_tot=0.0D0 Higgs_dom=0 ! Calculate mutot and find dominant Higgs do i=lbound(indices_in,dim=1),ubound(indices_in,dim=1) if(indices_in(i).ne.0) then mutot = mutot + Higgses(indices_in(i))%mu if(Higgses(indices_in(i))%mu.gt.mumax) then mumax = Higgses(indices_in(i))%mu Higgs_dom = indices_in(i) endif endif enddo if(allocated(cov_mhneut_max).and.iterstep.eq.1) then !-In the first iterated step, use a Higgs mass covariance matrix, where all Higgs bosons !-are assumed to be assigned. ! write(*,*) "Warning!! called csq_mh_with_max_corr!" csq_mh_tot = csq_mh_with_max_corr(indices_in, peak%internalnumber) elseif(allocated(cov_mhneut).and.iterstep.gt.1) then !-In the second (and succeeding) iterated steps, use a the Higgs mass covariance matrix !-based on the the previous Higgs-to-peaks assignment. ! write(*,*) "Warning!! called csq_mh_with_corr!" csq_mh_tot = csq_mh_with_corr(indices_in, peak%internalnumber) else if(useaveragemass) then call get_average_mass_for_peak(indices_in, peak, m, dm) if(mhchisqflag.eq.1) then deltam = peak%dm csq_mh_tot = csq_mh(m, peak%mpeak, dm, peak%dm) else csq_mh_tot = 0.0D0 endif else do i=lbound(indices_in,dim=1),ubound(indices_in,dim=1) if(indices_in(i).ne.0) then if(mhchisqflag.eq.1) then deltam = peak%dm csq_mh_tmp = csq_mh(Higgses(indices_in(i))%m, peak%mpeak, & & Higgses(indices_in(i))%dm,deltam) else csq_mh_tmp = 0.0D0 endif csq_mh_tot = csq_mh_tot + csq_mh_tmp endif enddo endif endif if(allocated(cov)) then csq_tot = csq_mh_tot + csq_mu_with_corr(mutot, peak%internalnumber) else csq_tot = csq_mh_tot + csq_mu(mutot, peak%mu, peak%dmuup, peak%dmulow) endif pc_chisq = csq_tot end subroutine calc_pc_chisq !--------------------------------------------------------------------------- function csq_mh_with_max_corr(indices_in, peaknumber) !--------------------------------------------------------------------------- integer, dimension(:), intent(in) :: indices_in(:) integer, intent(in) :: peaknumber double precision :: csq_mh_with_max_corr double precision, allocatable :: csq_mh_per_Higgs(:) integer :: i, ii, iii, k, nH, N, Hindex double precision, allocatable :: v(:,:), invcov(:,:), v2(:) nH = size(cov_mhneut,dim=1) N = size(cov_mhneut,dim=2) allocate(v(nH,N), v2(N), csq_mh_per_Higgs(nH)) do k=1,nH iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 v(k,iii) = analyses(i)%peaks(ii)%Higgses(k)%m - analyses(i)%peaks(ii)%mpeak if(iii.eq.peaknumber) v(k,iii) = 0.0D0 ! Will be filled later... enddo enddo enddo do k=1,nH iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 if(iii.eq.peaknumber) then Hindex=indices_in(k) if(Hindex.ne.0) then v(Hindex,iii) = analyses(i)%peaks(ii)%Higgses(k)%m - analyses(i)%peaks(ii)%mpeak endif endif enddo enddo enddo do k=1,nH !-n.b.: this loops now over Hindex call invmatrix(cov_mhneut_max(k,:,:),invcov) call matmult(invcov,v(k,:),v2,N,1) csq_mh_per_Higgs(k) = v(k,peaknumber)*v2(peaknumber) enddo csq_mh_with_max_corr = sum(csq_mh_per_Higgs) deallocate(v,v2,csq_mh_per_Higgs) end function csq_mh_with_max_corr !--------------------------------------------------------------------------- function csq_mh_with_corr(indices_in, peaknumber) !--------------------------------------------------------------------------- integer, dimension(:), intent(in) :: indices_in(:) integer, intent(in) :: peaknumber double precision :: csq_mh_with_corr double precision, allocatable :: csq_mh_per_Higgs(:) integer :: i, ii, iii, k, nH, N, Hindex double precision, allocatable :: v(:,:), invcov(:,:), v2(:) nH = size(cov_mhneut,dim=1) N = size(cov_mhneut,dim=2) allocate(v(nH,N), v2(N), csq_mh_per_Higgs(nH)) !-First, fill the vectors with zeros: do k=1,nH do i=1,N v(k,i) = 0.0D0 enddo enddo do k=1,nH iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 Hindex = analyses(i)%peaks(ii)%Higgs_comb(k) if(iii.eq.peaknumber) Hindex=indices_in(k) if(Hindex.ne.0) then v(Hindex,iii) = analyses(i)%peaks(ii)%Higgses(Hindex)%m - & & analyses(i)%peaks(ii)%mpeak endif enddo enddo enddo do k=1,nH !-n.b.: this loops now over Hindex call invmatrix(cov_mhneut(k,:,:),invcov) call matmult(invcov,v(k,:),v2,N,1) csq_mh_per_Higgs(k) = v(k,peaknumber)*v2(peaknumber) enddo csq_mh_with_corr = sum(csq_mh_per_Higgs) deallocate(v,v2,csq_mh_per_Higgs) end function csq_mh_with_corr !------------------------------------------------------------------------------------ function csq_mu_with_corr(mu, peaknumber) !------------------------------------------------------------------------------------ ! use usefulbits_hs, only : peaklist, cov use numerics, only : invmatrix, matmult integer, intent(in) :: peaknumber double precision, intent(in) :: mu integer :: i, ii, iii, N double precision, allocatable :: v(:), vmat(:,:), invcov(:,:), v2(:) double precision :: csq_mu_with_corr if(allocated(cov)) deallocate(cov) call create_covariance_matrix_mu(0) N = size(cov,dim=1) allocate(v(N), vmat(N,1),invcov(N,N), v2(N)) !-First construct the vector (mupred - muobs)_iii iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 v(iii) = analyses(i)%peaks(ii)%total_mu - analyses(i)%peaks(ii)%mu if(iii.eq.peaknumber) v(iii) = mu - analyses(i)%peaks(ii)%mu vmat(iii,1) = v(iii) enddo enddo call invmatrix(cov,invcov) call matmult(invcov,vmat,v2,N,1) csq_mu_with_corr = v(peaknumber)*v2(peaknumber) deallocate(v,vmat,invcov,v2) end function csq_mu_with_corr !------------------------------------------------------------------------------------ subroutine check_pdf(pdf) !------------------------------------------------------------------------------------ implicit none integer, intent(inout) :: pdf if(.not.((pdf.eq.1).or.(pdf.eq.2).or.(pdf.eq.3))) then write(*,*) 'WARNING: pdf not properly specified. Will be set to pdf=2 (gaussian-shape)' pdf=2 endif end subroutine check_pdf !------------------------------------------------------------------------------------ function csq_mu(x, x0, dx_up, dx_low) !- x: model predicted value !- x0: observed value !- dx_up: difference between observed and upper 1sigma band (always positive) !- dx_low: difference between observed and lower 1sigma band (always positive) !------------------------------------------------------------------------------------ use usefulbits_hs, only : symmetricerrors implicit none double precision, intent(in) :: x, x0, dx_up, dx_low double precision :: csq_mu, dx if(.not.symmetricerrors) then if(x.ge.x0) then dx = dx_up else dx = dx_low endif else dx = (abs(dx_up)+abs(dx_low))/2. endif csq_mu=chisq(x, x0, dx) end function csq_mu !------------------------------------------------------------------------------------ function csq_mh(x,x0,dx1,dx2) !------------------------------------------------------------------------------------ implicit none double precision, intent(in) :: x, x0, dx1, dx2 double precision :: csq_mh, dx if(pdf.eq.1) then ! box pdf dx = dx1 + dx2 ! Add exp. and th. uncertainties linearly if(x.ge.(x0-dx).and.x.le.(x0+dx)) then csq_mh = 0.0D0 else csq_mh = 100000.0D0 !Large number endif else if(pdf.eq.2) then ! gaussian pdf dx = sqrt(dx1**2+dx2**2) ! Add uncertainties in quadrature csq_mh = chisq(x,x0,dx) !---------------------------- Have to verify boxgaussian... else if(pdf.eq.3) then ! box+gaussian pdf if(x.ge.(x0-dx1).and.x.le.(x0+dx1)) then csq_mh = 0.0D0 else if(x.ge.(x0+dx1)) then csq_mh = chisq(x,x0+dx1,dx2) else if(x.le.(x0-dx1)) then csq_mh = chisq(x,x0-dx1,dx2) endif endif end function csq_mh !------------------------------------------------------------------------------------ function csq_mass_separation_weighted(indices_in, peak) !--------------------------------------------------------------------------- use usefulbits, only : vsmall implicit none integer, dimension(:), intent(in) :: indices_in(:) type(mupeak), intent(in) :: peak double precision :: csq_mass_separation_weighted double precision :: mutotal,csq,csq_mh_tmp, m, dm integer :: i,k,NHiggs !------------------------------------------------------------------------------------ NHiggs = 0 mutotal = 0.0D0 do k=lbound(indices_in,dim=1),ubound(indices_in,dim=1) i = indices_in(k) if(i.ne.0) then mutotal = mutotal + peak%Higgses(i)%mu NHiggs=NHiggs+1 endif enddo call get_average_mass_for_peak(indices_in, peak, m, dm) csq = 0.0D0 if(abs(mutotal).gt.vsmall.and.NHiggs.gt.1) then do k=lbound(indices_in,dim=1),ubound(indices_in,dim=1) i = indices_in(k) csq_mh_tmp = 0.0D0 if(i.ne.0) then if(pdf.eq.1) then ! box pdf if(peak%Higgses(i)%m.ge.(m-peak%Higgses(i)%dm-peak%dm).and. & & peak%Higgses(i)%m.le.(m+peak%Higgses(i)%dm+peak%dm)) then csq_mh_tmp = 0.0D0 else csq_mh_tmp = 100000.0D0 !Large number endif else if(pdf.eq.2) then csq_mh_tmp = chisq(peak%Higgses(i)%m,m,sqrt(peak%dm**2+peak%Higgses(i)%dm**2)) ! write(*,*) "m, m_av, dm = ",peak%Higgses(i)%m,m,sqrt(peak%dm**2+peak%Higgses(i)%dm**2) ! write(*,*) "i, csq_mh_tmp = ", i , csq_mh_tmp else if(pdf.eq.3) then if(peak%Higgses(i)%m.ge.(m-peak%Higgses(i)%dm).and. & & peak%Higgses(i)%m.le.(m+peak%Higgses(i)%dm)) then csq_mh_tmp = 0.0D0 else if(peak%Higgses(i)%m.gt.m+peak%Higgses(i)%dm) then csq_mh_tmp = chisq(peak%Higgses(i)%m,m+peak%Higgses(i)%dm,peak%dm) else if(peak%Higgses(i)%m.lt.m-peak%Higgses(i)%dm) then csq_mh_tmp = chisq(peak%Higgses(i)%m,m-peak%Higgses(i)%dm,peak%dm) endif else stop "Error: Unknown pdf!" endif csq = csq + abs(peak%Higgses(i)%mu/mutotal)*csq_mh_tmp endif enddo endif csq_mass_separation_weighted = csq end function csq_mass_separation_weighted !------------------------------------------------------------------------------------ function chisq(x,x0,dx) !------------------------------------------------------------------------------------ implicit none double precision, intent(in) :: x,x0,dx double precision :: chisq if(dx.ne.0) then chisq=(x-x0)**2/dx**2 else write(*,*) 'WARNING, dx = 0' chisq=100000. endif end function chisq !------------------------------------------------------------------------------------ subroutine get_ncomb(ncomb, indices_truncated, indices_best) !------------------------------------------------------------------------------------ implicit none integer, dimension(:), intent(in) :: indices_best(:) integer, allocatable, intent(out) :: indices_truncated(:) integer, intent(out) :: ncomb integer :: i,j ncomb=0 do i=lbound(indices_best,dim=1),ubound(indices_best,dim=1) if(indices_best(i).ne.0) ncomb=ncomb+1 enddo allocate(indices_truncated(ncomb)) j=1 do i=lbound(indices_best,dim=1),ubound(indices_best,dim=1) if(indices_best(i).ne.0) then indices_truncated(j)=indices_best(i) j=j+1 endif enddo end subroutine get_ncomb !------------------------------------------------------------------------------------ subroutine get_weights_at_peak( peak, mutab ) ! This subroutines fills the channels weights array of the peak object with the ! Standard Model weights obtained at the peaks position. !------------------------------------------------------------------------------------ use usefulbits, only : div, small ! use theory_XS_SM_functions use usefulbits_HS, only : mutable type(mupeak), intent(inout) :: peak type(mutable), intent(in) :: mutab integer :: i, id, p, d double precision :: SMrate, mass double precision :: SMCS_lhc7_gg_H,SMCS_lhc7_bb_H,SMCS_lhc7_vbf_H,SMCS_lhc7_HW, & & SMCS_lhc7_HZ, SMCS_lhc7_ttH, SMCS_lhc8_gg_H,SMCS_lhc8_bb_H,SMCS_lhc8_vbf_H, & & SMCS_lhc8_HW, SMCS_lhc8_HZ, SMCS_lhc8_ttH, SMCS_lhc13_gg_H,SMCS_lhc13_bb_H, & & SMCS_lhc13_vbf_H, SMCS_lhc13_HW, SMCS_lhc13_HZ, SMCS_lhc13_ttH, SMCS_tev_gg_H, & & SMCS_tev_bb_H, SMCS_tev_vbf_H, SMCS_tev_HW, SMCS_tev_HZ, SMCS_tev_ttH, & & SMBR_Hgamgam,SMBR_HWW,SMBR_HZZ, SMBR_Htautau, SMBR_Hbb,SMBR_HZgam,SMBR_Hcc, & & SMBR_Hmumu,SMBR_Hgg ! Check experiment and energy flag to choose the relevant dataset mass = peak%mpeak do i=1,mutab%Nc p = mutab%channel_p_id(i) d = mutab%channel_d_id(i) ! ! id = mutab%channel_id(i) ! p = int((id-modulo(id,10))/dble(10)) ! d = modulo(id,10) !--Do the production rate for the relevant experiment and cms-energy if(mutab%collider.eq.'LHC') then if(abs(mutab%energy-7.0D0).le.small) then if(p.eq.1) then SMrate=SMCS_lhc7_gg_H(mass)+SMCS_lhc7_bb_H(mass) else if(p.eq.2) then SMrate=SMCS_lhc7_vbf_H(mass) else if(p.eq.3) then SMrate=SMCS_lhc7_HW(mass) else if(p.eq.4) then SMrate=SMCS_lhc7_HZ(mass) else if(p.eq.5) then SMrate=SMCS_lhc7_ttH(mass) endif else if(abs(mutab%energy-8.0D0).le.small) then if(p.eq.1) then SMrate=SMCS_lhc8_gg_H(mass)+SMCS_lhc8_bb_H(mass) else if(p.eq.2) then SMrate=SMCS_lhc8_vbf_H(mass) else if(p.eq.3) then SMrate=SMCS_lhc8_HW(mass) else if(p.eq.4) then SMrate=SMCS_lhc8_HZ(mass) else if(p.eq.5) then SMrate=SMCS_lhc8_ttH(mass) endif else if(abs(mutab%energy-13.0D0).le.small) then if(p.eq.1) then SMrate=SMCS_lhc13_gg_H(mass)+SMCS_lhc13_bb_H(mass) else if(p.eq.2) then SMrate=SMCS_lhc13_vbf_H(mass) else if(p.eq.3) then SMrate=SMCS_lhc13_HW(mass) else if(p.eq.4) then SMrate=SMCS_lhc13_HZ(mass) else if(p.eq.5) then SMrate=SMCS_lhc13_ttH(mass) endif endif else if(mutab%collider.eq.'TEV') then if(p.eq.1) then SMrate=SMCS_tev_gg_H(mass)+SMCS_tev_bb_H(mass) else if(p.eq.2) then SMrate=SMCS_tev_vbf_H(mass) else if(p.eq.3) then SMrate=SMCS_tev_HW(mass) else if(p.eq.4) then SMrate=SMCS_tev_HZ(mass) else if(p.eq.5) then SMrate=SMCS_tev_ttH(mass) endif endif !--Multiply now by the decay rate if(d.eq.1) then SMrate=SMrate*SMBR_Hgamgam(mass) else if(d.eq.2) then SMrate=SMrate*SMBR_HWW(mass) else if(d.eq.3) then SMrate=SMrate*SMBR_HZZ(mass) else if(d.eq.4) then SMrate=SMrate*SMBR_Htautau(mass) else if(d.eq.5) then SMrate=SMrate*SMBR_Hbb(mass) else if(d.eq.6) then SMrate=SMrate*SMBR_HZgam(mass) else if(d.eq.7) then SMrate=SMrate*SMBR_Hcc(mass) else if(d.eq.8) then SMrate=SMrate*SMBR_Hmumu(mass) else if(d.eq.9) then SMrate=SMrate*SMBR_Hgg(mass) endif peak%channel_w(i)=peak%channel_eff(i)*SMrate enddo SMrate=sum(peak%channel_w(:)) do i=1,mutab%Nc peak%channel_w(i)=div(peak%channel_w(i),SMrate,0.0D0,1.0D9) enddo end subroutine get_weights_at_peak !--------------------------------------------------------------------------- subroutine get_average_mass(indices_in, peaknumber, m, dm) !--------------------------------------------------------------------------- integer, dimension(:), intent(in) :: indices_in(:) integer, intent(in) :: peaknumber double precision, intent(out) :: m, dm integer :: i, ii, iii, k, nH, N, Hindex double precision :: num1, num2, denom nH = size(indices_in,dim=1) num1 = 0.0D0 num2 = 0.0D0 denom = 0.0D0 iii=0 do i=1, size(analyses) do ii=lbound(analyses(i)%peaks,dim=1),ubound(analyses(i)%peaks,dim=1) iii=iii+1 if(iii.eq.peaknumber) then call get_average_mass_for_peak(indices_in, analyses(i)%peaks(ii), m, dm) endif enddo enddo if(denom.ne.0.0D0) then m = num1 / denom dm = num2 / denom else m = 0.0D0 dm = 0.0D0 endif end subroutine get_average_mass !--------------------------------------------------------------------------- subroutine get_average_mass_for_peak(indices_in, peak, m, dm) !--------------------------------------------------------------------------- integer, dimension(:), intent(in) :: indices_in(:) type(mupeak), intent(in) :: peak double precision, intent(out) :: m, dm integer :: i, ii, iii, k, nH, N, Hindex double precision :: num1, num2, denom nH = size(indices_in,dim=1) num1 = 0.0D0 num2 = 0.0D0 denom = 0.0D0 do k=1,nH Hindex=indices_in(k) if(Hindex.ne.0) then num1 = num1 + peak%Higgses(Hindex)%mu * & & peak%Higgses(Hindex)%m num2 = num2 + peak%Higgses(Hindex)%mu * & & peak%Higgses(Hindex)%dm denom = denom + peak%Higgses(Hindex)%mu endif enddo if(denom.ne.0.0D0) then m = num1 / denom dm = num2 / denom else m = 0.0D0 dm = 0.0D0 endif end subroutine get_average_mass_for_peak !------------------------------------------------------------------------------------ end module pc_chisq !------------------------------------------------------------------------------------ \ No newline at end of file Index: trunk/webversion/install_webversion_hepforge.bat =================================================================== --- trunk/webversion/install_webversion_hepforge.bat (revision 593) +++ trunk/webversion/install_webversion_hepforge.bat (revision 594) @@ -1,127 +1,127 @@ #!/bin/bash # installs fortran, perl and html file for HiggsBounds webversion on HepForge # NOTE: MUST FOLLOW INSTRUCTIONS ON updateingHBpackage.html FIRST!!!! # -first argument is the version number # -second argument optional, if set to "short", then will not recompile # and install the fortran (useful while developing and testing webpages and cgi scripts) # E.g. # ./install_webversion_for_laptop.bat 2.0.0 short vers=$1 if [[ $vers == "" ]] then echo 'Need to specify version number as argument' exit fi -projectfolder="/hepforge/home/higgsbounds/" +projectfolder="/hepforge/projects/higgsbounds/" startfolder=$projectfolder"HBWebsiteSRC/HB-"$vers"/webversion" #first check I'm running this from the correct folder: currentfolder=$PWD if [[ $startfolder != $currentfolder ]] then echo 'pwd is not' $startfolder # exit startfolder=$currentfolder fi # unless $2 is 'short', will pack up HiggsBounds, cpoy it over and install it # with appropriate settings for website if [[ $2 == "short" ]] then echo 'option "short" specified: Not recompiling HiggsBounds' else #---------------------------------------- #install fortran programs for website: #first unpack package: cd $projectfolder"/HBWebsiteSRC/HB-"$vers cp $projectfolder"/downloads/HiggsBounds-"$vers".tar.gz" . gunzip -c HiggsBounds-"$vers".tar.gz | tar xvf - cp -r HiggsBounds-"$vers" HiggsBounds rm -r HiggsBounds-"$vers" cd $projectfolder"/HBWebsiteSRC/HB-"$vers"/HiggsBounds/" cp configure configure_myorig sed -e "s/F90FLAGS = -fbounds-check/F90FLAGS = -fbounds-check -DWEBVERSION/g" configure_myorig > configure ./configure make HBweb mv HiggsBounds $projectfolder"HBWebsiteExe" mv extract_SM_results_for_web $projectfolder"HBWebsiteExe" #cd ../ #rm -r HiggsBounds-f77 cd $startfolder #---------------------------------------- fi # creates the file HiggsBounds_debug.html by uncommenting a section in HiggsBounds.html and then # specifying debugmode=T in each form on the page sed -e "s///g" \ -e "s///-->/g" \ -e 's///g' index.html > index_debug.html # creates the file downloads_detailed.html by uncommenting a section in downloads.html and then sed -e "s///g" \ -e 's/downloads_detailed.html">show history/downloads.html">hide history/g' downloads.html > downloads_detailed.html # list of cgi files that need to be copied across cgifiles="callHiggsBounds.cgi \ HB_BRSM.cgi \ GetinputfromFH.pm \ HiggsBounds_input.cgi \ DrawTables.pm \ Examples.pm \ Gettestdata.pm" # html files that need to be copied htmlfiles="downloads.html \ downloads_detailed.html \ HBstyle.css \ privacypolicy.html \ index_debug.html \ index.html" # # other files that need to be copied includefiles="HiggsBounds-logo-small.jpg" extrafiles="sample_fhucc_mhmax.txt \ sample_fhucc_cpx.txt \ minipaper.tex \ minipaper.bib \ minipaper.bbl \ minipaper.pdf" for f in $cgifiles ; do # sudo -u higgsbounds cp "$f" $projectfolder"public_html/cgi-bin/"$f cp "$f" $projectfolder"public_html/cgi-bin/"$f done for f in $htmlfiles ; do # sudo -u higgsbounds cp "$f" $projectfolder"public_html/"$f cp "$f" $projectfolder"public_html/"$f done for f in $includefiles ; do # sudo -u higgsbounds cp "$f" $projectfolder"public_html/include/"$f cp "$f" $projectfolder"public_html/include/"$f done for f in $extrafiles ; do # sudo -u higgsbounds cp "$f" $projectfolder"public_html/extra/"$f cp "$f" $projectfolder"public_html/extra/"$f done rm index_debug.html rm downloads_detailed.html echo 'All done!' Index: trunk/webversion/downloads.html =================================================================== --- trunk/webversion/downloads.html (revision 593) +++ trunk/webversion/downloads.html (revision 594) @@ -1,483 +1,483 @@ HiggsBounds and HiggsSignals

HiggsBounds

Downloads

You can download the latest beta version of HiggsBounds-5 here (HiggsBounds-5.3.0beta.tar.gz). Important changes in the input framework for HiggsBounds-5 are documented here (draft version). The last pre-13-TeV-LHC HiggsBounds version (4.3.1) is found here: HiggsBounds-4.3.1.tar.gz . HiggsBounds is using Fortran 90/2003. As always, please contact us if you have any problems with the installation.        ( show history )

Further information can be found in the following references:

In particular, consult the latest version of the HiggsBounds 4.x.x manual. We are currently working on an updated HiggsBounds 5 manual!

If you download the code, we recommend that you sign up to the HiggsBounds-announce mailing list, in order to be informed when new releases are available.

If you have any questions, comments, bug reports or feature requests please let us know. Contact Tim.

Referencing HiggsBounds

If you use HiggsBounds, please cite the references listed above.

HiggsBounds incorporates many results from experimental searches and SM calculations. To make it quicker for users to access these references, we provide a list as a .bib file and a .bbl file. (This example .tex file cites each of these sources once, creating this .pdf file).

Quick start guide

  1. unpack the .tar.gz file
  2. cd to the HiggsBounds directory
  3. ./configure
  4. make
  5. run the program HiggsBounds using the command-line options
     
     ./HiggsBounds whichanalyses whichinput nHzero nHplus prefix 
       
    For example,
     ./HiggsBounds LandH effC 3 1 'example_data/mhmodplus/mhmod+_'
       
    will run HiggsBounds
    • using LEP, Tevatron and LHC data (whichanalyses=LandH)
    • with input in the 'effective coupling' format (whichinput=effC)
    • for a model containing three neutral Higgs (nHzero=3)
    • and one singly, positively charged Higgs (nHplus=1)
    • using the example input files (supplied in the HiggsBounds package):
       
         example_data/mhmodplus/mhmod+_MH_GammaTot.dat
         example_data/mhmodplus/mhmod+_MHall_uncertainties.dat
         example_data/mhmodplus/mhmod+_MHplus_GammaTot.dat
         example_data/mhmodplus/mhmod+_effC.dat
         example_data/mhmodplus/mhmod+_BR_H_NP.dat
         example_data/mhmodplus/mhmod+_BR_t.dat
         example_data/mhmodplus/mhmod+_BR_Hplus.dat
         example_data/mhmodplus/mhmod+_LEP_HpHm_CS_ratios.dat
         example_data/mhmodplus/mhmod+_additional.dat 
    The results are stored in
     
           example_data/mhmodplus/mhmod+_HiggsBounds_results.dat
      
  6. The HiggsBounds package also contains simple example programs showing the use of the HiggsBounds subroutines, including programs demonstrating the use of HiggsBounds in conjunction with FeynHiggs.

The LEP exclusion chi-squared extension

For the model-independent LEP Higgs searches the full information on CLs and CLsb have been made available to the HiggsBounds team, such that we can derive a chi-squared measure (assuming the Gaussian limit) for the LEP exclusion. For more information, see the HiggsBounds 4.x.x manual.

In order to enable the LEP chi-squared extension, please download csboutput_trans_binary.tar.gz, which contains the necessary experimental tables, and follow the descriptions in the HiggsBounds manual.

Note that the LEP chi-squared extension is only supported for the usage of HiggsBounds via the Fortran subroutines/library.

HiggsSignals

Downloads

You can download the beta version of HiggsSignals-2 here (HiggsSignals-2.2.2beta.tar.gz). HiggsSignals is using Fortran 90/2003. HiggsSignals-2 needs to be linked to the HiggsBounds version 5 library. The latest pre-13-TeV-LHC HiggsSignals version (1.4.0) can be found here: HiggsSignals-1.4.0.tar.gz . As always, please contact us if you have any problems with the installation.        ( show history )

The program is documented in:

We are currently working on an updated HiggsSignals 2 manual!

Please consult the latest version of the HiggsSignals 1.x.x manual. Further information on the program and related issues can be found in

Announcements about HiggsSignals will also be given to the HiggsBounds-announce mailing list.

If you have any questions, comments, bug reports or feature requests please let us know. Contact Tim.

Referencing HiggsSignals

If you use HiggsSignals, please cite the HiggsSignals as well as HiggsBounds references listed above. Furthermore, please do not forget to include citations to the experimental measurements, which are used as observables in your project.

Quick start guide

  1. unpack the .tar.gz file
  2. cd to the HiggsSignals directory
  3. please check/edit configure for the correct link to the HiggsBounds library and compiler settings.
  4. you can now directly run the bash script ./run_tests.bat. (Note: The script uses gnuplot to create results from test runs.)
  5. We provide various example programs, where many features are demonstrated. Also, they show how to use HiggsSignals together with FeynHiggs and HiggsBounds.

back to HiggsBounds/HiggsSignals homepage Index: trunk/HLHE-LHC/HL-LHC_CMS_mu-values.txt =================================================================== --- trunk/HLHE-LHC/HL-LHC_CMS_mu-values.txt (revision 593) +++ trunk/HLHE-LHC/HL-LHC_CMS_mu-values.txt (revision 594) @@ -1,48 +1,48 @@ -7.1 1.9 6.0 0.1 3.3 -4.2 1.9 3.2 0.0 2.1 -6.6 2.1 5.4 1.6 2.7 -4.0 2.1 2.7 0.7 1.8 -6.6 1.2 6.2 0.9 1.5 +7.1 1.9 5.8 1.0 3.3 +4.2 1.9 3.1 0.9 2.1 +6.6 2.1 5.4 1.7 2.7 +4.0 2.1 2.8 0.7 1.8 +6.6 1.2 6.2 1.0 1.5 3.7 1.2 3.1 0.9 1.2 -8.1 2.6 6.7 1.6 3.5 -5.5 2.6 3.9 0.5 2.9 -33.8 20.6 2.1 2.9 25.4 -21.1 20.5 2.7 0.8 4.1 -16.6 13.4 5.5 0.1 7.9 -13.8 13.3 3.2 0.3 2.0 -22.1 5.2 8.3 0.5 19.9 +8.1 2.6 6.6 1.7 3.5 +5.5 2.6 3.9 0.7 2.9 +34.0 20.6 23.5 3.2 10.0 +24.7 20.6 12.2 1.5 2.6 +16.6 13.4 5.5 1.9 8.0 +13.8 13.4 3.2 0.6 2.0 +22.3 5.2 8.3 1.3 19.9 12.8 5.2 4.2 0.3 10.9 -15.1 11.7 9.0 2.1 1.8 -13.4 11.8 6.0 0.8 1.3 -8.5 6.3 5.1 1.6 2.0 +15.2 11.7 9.1 2.4 1.8 +13.4 11.7 6.0 0.8 1.3 +8.6 6.3 5.2 1.8 2.0 7.3 6.3 3.1 1.1 1.6 -5.4 3.8 2.9 1.6 2.0 +5.5 3.8 2.9 1.5 2.0 4.4 3.8 1.7 0.4 1.3 -57.4 53.2 18.5 0.4 11.0 -54.1 53.1 9.9 1.0 2.6 -14.5 13.6 3.3 0.1 3.7 -13.9 13.6 2.0 0.1 1.7 -47.9 46.6 5.7 1.4 7.4 -47.8 47.4 4.1 0.9 3.9 -15.7 12.9 6.2 0.9 6.5 +57.5 53.2 18.7 4.5 11.3 +54.0 53.2 9.8 1.0 2.6 +14.5 13.6 3.2 1.4 3.7 +13.9 13.6 2.0 0.2 1.7 +48.0 46.5 6.2 2.8 7.8 +47.8 46.5 4.1 0.8 3.8 +15.8 12.9 5.9 2.2 6.5 13.8 12.9 3.1 1.5 3.1 -16.1 5.6 5.5 10.1 9.8 +16.3 5.6 4.7 10.8 9.8 9.4 5.6 2.3 5.1 5.1 -23.8 23.1 5.2 0.2 2.7 -23.3 23.1 3.2 0.3 1.3 -86.4 78.1 32.9 7.3 15.3 -78.6 76.3 16.0 1.1 9.8 -20.6 17.2 10.2 1.6 3.4 +23.9 23.1 5.2 1.5 2.9 +23.3 23.1 3.2 0.4 1.2 +82.5 75.7 27.0 7.6 16.4 +78.6 75.7 15.9 1.3 9.9 +20.7 17.2 10.3 2.4 3.5 18.4 17.2 5.6 1.7 3.0 -9.6 2.1 7.7 3.0 3.5 +9.7 4.2 7.9 3.1 2.3 6.5 4.2 3.9 2.6 1.9 -12.4 7.7 8.7 0.1 3.9 -9.4 7.7 4.4 0.1 2.7 -26.4 23.7 10.1 2.9 4.1 -24.6 23.8 5.0 2.0 2.7 -13.8 4.2 8.1 4.4 9.1 -8.9 4.2 4.1 3.4 5.6 -10.4 2.8 8.4 3.6 3.9 -6.8 2.8 4.2 3.5 2.7 -16.7 8.7 3.4 3.3 13.1 -14.7 8.7 4.9 2.1 10.6 \ No newline at end of file +12.5 7.7 8.8 1.0 3.9 +9.4 7.7 4.4 0.2 2.7 +26.9 23.6 10.9 2.5 4.2 +24.6 23.6 5.1 1.8 3.1 +13.8 4.2 8.2 4.5 9.1 +9.7 4.2 4.2 3.0 6.9 +18.2 2.8 8.7 15.2 3.9 +11.6 2.8 4.3 10.0 2.7 +18.6 8.7 9.1 3.5 13.1 +14.9 8.7 4.8 2.1 10.9 \ No newline at end of file Index: trunk/HLHE-LHC/HL-LHC_CMS_correlation_S1.txt =================================================================== --- trunk/HLHE-LHC/HL-LHC_CMS_correlation_S1.txt (revision 593) +++ trunk/HLHE-LHC/HL-LHC_CMS_correlation_S1.txt (revision 594) @@ -1,24 +1,24 @@ -1.00 0.65 0.70 0.62 -0.01 0.26 -0.16 0.01 -0.01 0.03 -0.00 0.06 0.01 0.02 -0.01 0.01 0.03 0.13 0.02 0.09 -0.00 0.02 -0.00 0.02 -0.65 1.00 0.68 0.56 -0.01 0.25 0.01 -0.00 -0.04 0.00 -0.02 0.02 0.05 0.01 -0.01 0.02 -0.06 0.13 0.03 0.02 0.05 0.01 0.00 0.01 -0.70 0.68 1.00 0.60 -0.01 0.27 0.01 -0.05 -0.05 0.01 -0.02 0.02 0.00 0.02 -0.01 0.01 -0.02 0.17 0.02 0.02 -0.01 0.03 -0.00 0.02 -0.62 0.56 0.60 1.00 -0.01 0.23 0.11 0.06 0.02 -0.01 0.02 0.07 0.02 0.03 -0.01 0.06 0.06 0.12 0.01 0.04 -0.00 0.02 -0.00 0.02 --0.01 -0.01 -0.01 -0.01 1.00 -0.01 -0.00 -0.00 -0.01 -0.02 -0.00 -0.01 -0.00 -0.01 -0.02 -0.00 0.00 -0.00 -0.01 -0.01 -0.00 -0.01 -0.01 -0.01 -0.26 0.25 0.27 0.23 -0.01 1.00 0.01 -0.01 -0.01 0.01 -0.37 0.02 0.00 0.01 -0.01 0.01 0.01 0.06 0.01 0.01 -0.00 0.01 0.00 0.01 --0.16 0.01 0.01 0.11 -0.00 0.01 1.00 0.05 0.06 0.09 0.01 0.04 0.01 0.02 -0.00 0.03 0.02 0.01 -0.00 0.01 0.01 0.00 -0.00 0.00 -0.01 -0.00 -0.05 0.06 -0.00 -0.01 0.05 1.00 0.17 0.15 0.06 0.05 0.04 0.02 -0.01 0.03 0.12 0.01 0.00 0.01 0.05 0.00 0.00 0.00 --0.01 -0.04 -0.05 0.02 -0.01 -0.01 0.06 0.17 1.00 0.25 0.04 0.05 0.01 0.11 -0.01 0.03 -0.01 0.07 -0.00 0.02 0.01 0.02 -0.00 0.01 -0.03 0.00 0.01 -0.01 -0.02 0.01 0.09 0.15 0.25 1.00 0.04 0.09 0.02 0.07 -0.02 0.05 0.01 0.04 -0.01 0.04 0.02 0.03 -0.00 0.02 --0.00 -0.02 -0.02 0.02 -0.00 -0.37 0.01 0.06 0.04 0.04 1.00 0.02 0.01 0.01 -0.00 0.01 0.03 0.00 -0.00 0.00 0.00 0.00 -0.00 0.00 -0.06 0.02 0.02 0.07 -0.01 0.02 0.04 0.05 0.05 0.09 0.02 1.00 0.01 0.03 -0.01 -0.28 0.03 0.02 -0.01 -0.03 -0.00 0.00 -0.01 0.00 -0.01 0.05 0.00 0.02 -0.00 0.00 0.01 0.04 0.01 0.02 0.01 0.01 1.00 0.01 -0.00 0.01 -0.64 0.00 -0.00 0.00 -0.00 0.00 -0.00 0.00 -0.02 0.01 0.02 0.03 -0.01 0.01 0.02 0.02 0.11 0.07 0.01 0.03 0.01 1.00 -0.01 0.02 0.00 0.05 -0.01 0.01 0.00 0.01 -0.00 0.01 --0.01 -0.01 -0.01 -0.01 -0.02 -0.01 -0.00 -0.01 -0.01 -0.02 -0.00 -0.01 -0.00 -0.01 1.00 -0.01 -0.00 0.01 -0.02 -0.01 -0.00 -0.01 0.02 -0.00 -0.01 0.02 0.01 0.06 -0.00 0.01 0.03 0.03 0.03 0.05 0.01 -0.28 0.01 0.02 -0.01 1.00 0.03 0.01 -0.04 -0.03 0.00 0.01 0.00 0.01 -0.03 -0.06 -0.02 0.06 0.00 0.01 0.02 0.12 -0.01 0.01 0.03 0.03 -0.64 0.00 -0.00 0.03 1.00 0.00 -0.01 0.01 -0.06 0.00 0.00 0.00 -0.13 0.13 0.17 0.12 -0.00 0.06 0.01 0.01 0.07 0.04 0.00 0.02 0.00 0.05 0.01 0.01 0.00 1.00 -0.18 0.01 0.00 0.01 -0.00 0.01 -0.02 0.03 0.02 0.01 -0.01 0.01 -0.00 0.00 -0.00 -0.01 -0.00 -0.01 -0.00 -0.01 -0.02 -0.04 -0.01 -0.18 1.00 -0.00 0.00 -0.00 0.01 -0.00 -0.09 0.02 0.02 0.04 -0.01 0.01 0.01 0.01 0.02 0.04 0.00 -0.03 0.00 0.01 -0.01 -0.03 0.01 0.01 -0.00 1.00 0.27 0.46 0.60 0.34 --0.00 0.05 -0.01 -0.00 -0.00 -0.00 0.01 0.05 0.01 0.02 0.00 -0.00 -0.00 0.00 -0.00 0.00 -0.06 0.00 0.00 0.27 1.00 0.19 0.31 0.16 -0.02 0.01 0.03 0.02 -0.01 0.01 0.00 0.00 0.02 0.03 0.00 0.00 0.00 0.01 -0.01 0.01 0.00 0.01 -0.00 0.46 0.19 1.00 0.53 0.27 --0.00 0.00 -0.00 -0.00 -0.01 0.00 -0.00 0.00 -0.00 -0.00 -0.00 -0.01 -0.00 -0.00 0.02 0.00 0.00 -0.00 0.01 0.60 0.31 0.53 1.00 0.40 -0.02 0.01 0.02 0.02 -0.01 0.01 0.00 0.00 0.01 0.02 0.00 0.00 0.00 0.01 -0.00 0.01 0.00 0.01 -0.00 0.34 0.16 0.27 0.40 1.00 \ No newline at end of file +1.00 0.65 0.70 0.62 -0.01 0.26 -0.16 0.01 -0.01 0.04 0.00 0.06 0.01 0.02 -0.01 0.02 0.03 0.13 0.02 0.08 0.00 0.02 0.00 0.02 +0.65 1.00 0.68 0.56 -0.01 0.25 0.01 0.00 -0.03 0.01 -0.02 0.02 0.05 0.01 -0.01 0.02 -0.06 0.13 0.03 0.02 0.05 0.01 0.00 0.01 +0.70 0.68 1.00 0.60 -0.01 0.27 0.01 -0.05 -0.05 0.01 -0.02 0.02 0.00 0.02 -0.01 0.01 -0.02 0.17 0.02 0.02 -0.01 0.03 0.00 0.02 +0.62 0.56 0.60 1.00 -0.01 0.23 0.12 0.05 0.02 0.00 0.02 0.07 0.02 0.02 -0.01 0.06 0.06 0.11 0.02 0.04 0.00 0.02 0.00 0.02 +-0.01 -0.01 -0.01 -0.01 1.00 -0.01 -0.01 0.00 -0.01 -0.02 0.00 -0.01 0.00 -0.01 -0.02 0.00 0.00 0.00 -0.01 -0.01 0.00 -0.01 -0.02 -0.01 +0.26 0.25 0.27 0.23 -0.01 1.00 0.01 -0.01 -0.01 0.01 -0.37 0.02 0.00 0.01 0.00 0.01 0.01 0.06 0.01 0.01 0.00 0.01 0.00 0.01 +-0.16 0.01 0.01 0.12 -0.01 0.01 1.00 0.05 0.06 0.09 0.01 0.04 0.01 0.02 0.00 0.03 0.02 0.01 0.00 0.01 0.00 0.01 0.00 0.00 +0.01 0.00 -0.05 0.05 0.00 -0.01 0.05 1.00 0.17 0.15 0.06 0.05 0.04 0.02 0.00 0.03 0.12 0.01 0.00 0.01 0.05 0.00 0.00 0.00 +-0.01 -0.03 -0.05 0.02 -0.01 -0.01 0.06 0.17 1.00 0.25 0.04 0.05 0.01 0.11 -0.01 0.03 -0.01 0.07 0.00 0.02 0.01 0.02 0.00 0.01 +0.04 0.01 0.01 0.00 -0.02 0.01 0.09 0.15 0.25 1.00 0.04 0.09 0.02 0.07 -0.01 0.05 0.01 0.04 0.00 0.04 0.02 0.03 0.00 0.03 +0.00 -0.02 -0.02 0.02 0.00 -0.37 0.01 0.06 0.04 0.04 1.00 0.02 0.01 0.01 0.00 0.01 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 +0.06 0.02 0.02 0.07 -0.01 0.02 0.04 0.05 0.05 0.09 0.02 1.00 0.01 0.03 0.00 -0.28 0.03 0.02 -0.01 -0.03 0.00 0.00 -0.01 0.00 +0.01 0.05 0.00 0.02 0.00 0.00 0.01 0.04 0.01 0.02 0.01 0.01 1.00 0.01 0.00 0.01 -0.64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 +0.02 0.01 0.02 0.02 -0.01 0.01 0.02 0.02 0.11 0.07 0.01 0.03 0.01 1.00 -0.01 0.02 0.00 0.05 -0.01 0.01 0.00 0.01 0.00 0.01 +-0.01 -0.01 -0.01 -0.01 -0.02 0.00 0.00 0.00 -0.01 -0.01 0.00 0.00 0.00 -0.01 1.00 -0.01 0.00 0.01 -0.02 0.00 0.00 0.00 0.01 0.00 +0.02 0.02 0.01 0.06 0.00 0.01 0.03 0.03 0.03 0.05 0.01 -0.28 0.01 0.02 -0.01 1.00 0.03 0.01 -0.04 -0.03 0.00 0.01 0.00 0.01 +0.03 -0.06 -0.02 0.06 0.00 0.01 0.02 0.12 -0.01 0.01 0.03 0.03 -0.64 0.00 0.00 0.03 1.00 0.00 -0.01 0.01 -0.06 0.00 0.00 0.00 +0.13 0.13 0.17 0.11 0.00 0.06 0.01 0.01 0.07 0.04 0.00 0.02 0.00 0.05 0.01 0.01 0.00 1.00 -0.18 0.01 0.00 0.01 0.00 0.01 +0.02 0.03 0.02 0.02 -0.01 0.01 0.00 0.00 0.00 0.00 0.00 -0.01 0.00 -0.01 -0.02 -0.04 -0.01 -0.18 1.00 0.00 0.00 0.00 0.01 0.00 +0.08 0.02 0.02 0.04 -0.01 0.01 0.01 0.01 0.02 0.04 0.00 -0.03 0.00 0.01 0.00 -0.03 0.01 0.01 0.00 1.00 0.30 0.50 0.41 0.38 +0.00 0.05 -0.01 0.00 0.00 0.00 0.00 0.05 0.01 0.02 0.00 0.00 0.00 0.00 0.00 0.00 -0.06 0.00 0.00 0.30 1.00 0.23 0.22 0.19 +0.02 0.01 0.03 0.02 -0.01 0.01 0.01 0.00 0.02 0.03 0.00 0.00 0.00 0.01 0.00 0.01 0.00 0.01 0.00 0.50 0.23 1.00 0.37 0.31 +0.00 0.00 0.00 0.00 -0.02 0.00 0.00 0.00 0.00 0.00 0.00 -0.01 0.00 0.00 0.01 0.00 0.00 0.00 0.01 0.41 0.22 0.37 1.00 0.28 +0.02 0.01 0.02 0.02 -0.01 0.01 0.00 0.00 0.01 0.03 0.00 0.00 0.00 0.01 0.00 0.01 0.00 0.01 0.00 0.38 0.19 0.31 0.28 1.00 \ No newline at end of file Index: trunk/HLHE-LHC/HL-LHC_CMS_correlation_S2.txt =================================================================== --- trunk/HLHE-LHC/HL-LHC_CMS_correlation_S2.txt (revision 593) +++ trunk/HLHE-LHC/HL-LHC_CMS_correlation_S2.txt (revision 594) @@ -1,24 +1,24 @@ -1.00 0.48 0.54 0.46 -0.01 0.14 -0.18 0.02 -0.01 0.02 0.01 -0.00 0.01 0.02 -0.00 -0.03 0.03 0.06 0.02 0.08 -0.00 0.02 0.00 0.01 -0.48 1.00 0.52 0.38 -0.01 0.13 0.00 -0.11 -0.03 0.00 -0.01 0.01 0.01 0.01 -0.00 0.01 -0.09 0.06 0.02 0.01 0.05 0.01 0.00 0.01 -0.54 0.52 1.00 0.42 -0.01 0.15 -0.00 -0.02 -0.09 -0.01 -0.01 0.01 -0.00 0.00 -0.00 0.00 -0.01 0.10 0.02 0.01 -0.00 0.02 0.00 0.01 -0.46 0.38 0.42 1.00 -0.01 0.12 0.12 0.05 0.02 -0.16 0.02 0.06 0.01 0.02 -0.00 0.05 0.05 0.05 0.02 0.04 0.00 0.02 0.01 0.01 --0.01 -0.01 -0.01 -0.01 1.00 -0.00 -0.00 -0.00 -0.01 -0.01 -0.00 -0.00 -0.00 -0.00 -0.02 -0.00 -0.00 -0.00 -0.01 -0.01 -0.00 -0.01 -0.01 -0.00 -0.14 0.13 0.15 0.12 -0.00 1.00 0.00 -0.00 -0.01 0.00 -0.53 0.01 0.00 0.01 -0.00 0.00 0.01 0.02 0.00 0.01 -0.00 0.01 0.00 0.00 --0.18 0.00 -0.00 0.12 -0.00 0.00 1.00 0.05 0.06 0.08 0.01 0.03 0.00 0.01 -0.00 0.02 0.02 0.01 0.00 0.01 0.01 0.01 -0.00 0.00 -0.02 -0.11 -0.02 0.05 -0.00 -0.00 0.05 1.00 0.07 0.07 0.03 0.02 0.00 0.01 -0.00 0.02 0.06 0.00 0.00 0.01 0.01 0.00 0.00 0.00 --0.01 -0.03 -0.09 0.02 -0.01 -0.01 0.06 0.07 1.00 0.10 0.01 0.02 0.00 0.05 -0.00 0.01 -0.00 0.04 0.00 0.01 0.00 0.01 -0.00 0.01 -0.02 0.00 -0.01 -0.16 -0.01 0.00 0.08 0.07 0.10 1.00 0.02 0.04 0.01 0.03 0.00 0.02 0.01 0.01 0.00 0.02 0.01 0.02 -0.00 0.01 -0.01 -0.01 -0.01 0.02 -0.00 -0.53 0.01 0.03 0.01 0.02 1.00 0.01 0.00 0.00 -0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 -0.00 0.00 --0.00 0.01 0.01 0.06 -0.00 0.01 0.03 0.02 0.02 0.04 0.01 1.00 0.00 0.01 -0.00 -0.33 0.01 0.01 -0.00 -0.05 0.00 0.00 -0.00 0.00 -0.01 0.01 -0.00 0.01 -0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 1.00 0.00 0.00 0.00 -0.68 0.00 -0.00 0.00 -0.01 0.00 0.00 0.00 -0.02 0.01 0.00 0.02 -0.00 0.01 0.01 0.01 0.05 0.03 0.00 0.01 0.00 1.00 -0.00 0.01 0.00 -0.01 -0.00 0.01 0.00 0.01 0.00 0.00 --0.00 -0.00 -0.00 -0.00 -0.02 -0.00 -0.00 -0.00 -0.00 0.00 -0.00 -0.00 0.00 -0.00 1.00 -0.00 -0.00 0.00 0.01 -0.00 -0.00 -0.00 0.01 -0.00 --0.03 0.01 0.00 0.05 -0.00 0.00 0.02 0.02 0.01 0.02 0.00 -0.33 0.00 0.01 -0.00 1.00 0.01 0.00 -0.01 -0.06 0.00 0.00 0.00 0.00 -0.03 -0.09 -0.01 0.05 -0.00 0.01 0.02 0.06 -0.00 0.01 0.01 0.01 -0.68 0.00 -0.00 0.01 1.00 0.00 -0.00 0.01 -0.09 0.01 0.00 0.00 -0.06 0.06 0.10 0.05 -0.00 0.02 0.01 0.00 0.04 0.01 0.00 0.01 0.00 -0.01 0.00 0.00 0.00 1.00 -0.07 0.00 0.00 0.00 -0.00 0.00 -0.02 0.02 0.02 0.02 -0.01 0.00 0.00 0.00 0.00 0.00 0.00 -0.00 -0.00 -0.00 0.01 -0.01 -0.00 -0.07 1.00 0.00 0.00 0.00 0.01 0.00 -0.08 0.01 0.01 0.04 -0.01 0.01 0.01 0.01 0.01 0.02 0.00 -0.05 0.00 0.01 -0.00 -0.06 0.01 0.00 0.00 1.00 0.08 0.20 0.27 0.11 --0.00 0.05 -0.00 0.00 -0.00 -0.00 0.01 0.01 0.00 0.01 0.00 0.00 -0.01 0.00 -0.00 0.00 -0.09 0.00 0.00 0.08 1.00 0.01 0.09 0.02 -0.02 0.01 0.02 0.02 -0.01 0.01 0.01 0.00 0.01 0.02 0.00 0.00 0.00 0.01 -0.00 0.00 0.01 0.00 0.00 0.20 0.01 1.00 0.27 -0.07 -0.00 0.00 0.00 0.01 -0.01 0.00 -0.00 0.00 -0.00 -0.00 -0.00 -0.00 0.00 0.00 0.01 0.00 0.00 -0.00 0.01 0.27 0.09 0.27 1.00 0.15 -0.01 0.01 0.01 0.01 -0.00 0.00 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.00 -0.00 0.00 0.00 0.00 0.00 0.11 0.02 -0.07 0.15 1.00 \ No newline at end of file +1.00 0.48 0.54 0.46 -0.01 0.14 -0.18 0.02 -0.01 0.02 0.01 0.00 0.01 0.02 0.00 -0.03 0.03 0.06 0.02 0.08 0.00 0.02 0.00 0.01 +0.48 1.00 0.52 0.37 -0.01 0.13 0.00 -0.11 -0.03 0.00 -0.01 0.01 0.01 0.01 -0.01 0.01 -0.09 0.06 0.02 0.01 0.05 0.01 0.00 0.01 +0.54 0.52 1.00 0.42 -0.01 0.15 -0.01 -0.02 -0.09 -0.01 -0.01 0.01 0.00 0.00 0.00 0.00 -0.01 0.10 0.02 0.01 0.00 0.02 0.00 0.01 +0.46 0.37 0.42 1.00 -0.01 0.11 0.12 0.05 0.02 -0.16 0.02 0.05 0.01 0.02 0.00 0.05 0.05 0.05 0.02 0.03 0.00 0.01 0.00 0.01 +-0.01 -0.01 -0.01 -0.01 1.00 0.00 0.00 0.00 0.00 -0.01 0.00 0.00 0.00 0.00 -0.02 0.00 0.00 0.00 -0.01 -0.01 0.00 -0.01 -0.01 0.00 +0.14 0.13 0.15 0.11 0.00 1.00 0.00 0.00 -0.01 0.00 -0.53 0.01 0.00 0.00 0.00 0.00 0.01 0.02 0.00 0.01 0.00 0.01 0.00 0.00 +-0.18 0.00 -0.01 0.12 0.00 0.00 1.00 0.05 0.06 0.08 0.01 0.03 0.00 0.01 0.00 0.02 0.02 0.01 0.00 0.01 0.01 0.00 0.00 0.00 +0.02 -0.11 -0.02 0.05 0.00 0.00 0.05 1.00 0.07 0.07 0.03 0.02 0.00 0.01 0.00 0.02 0.06 0.00 0.00 0.01 0.01 0.00 0.00 0.00 +-0.01 -0.03 -0.09 0.02 0.00 -0.01 0.06 0.07 1.00 0.10 0.01 0.02 0.00 0.05 0.00 0.01 0.00 0.04 0.00 0.01 0.00 0.01 0.00 0.01 +0.02 0.00 -0.01 -0.16 -0.01 0.00 0.08 0.07 0.10 1.00 0.02 0.04 0.01 0.03 0.00 0.02 0.01 0.01 0.00 0.02 0.01 0.02 0.00 0.01 +0.01 -0.01 -0.01 0.02 0.00 -0.53 0.01 0.03 0.01 0.02 1.00 0.01 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 +0.00 0.01 0.01 0.05 0.00 0.01 0.03 0.02 0.02 0.04 0.01 1.00 0.00 0.01 0.00 -0.33 0.01 0.00 0.00 -0.05 0.00 0.00 0.00 0.00 +0.01 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 1.00 0.00 0.00 0.00 -0.68 0.00 0.00 0.00 -0.01 0.00 0.00 0.00 +0.02 0.01 0.00 0.02 0.00 0.00 0.01 0.01 0.05 0.03 0.00 0.01 0.00 1.00 0.00 0.01 0.00 -0.01 0.00 0.01 0.00 0.01 0.00 0.00 +0.00 -0.01 0.00 0.00 -0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 +-0.03 0.01 0.00 0.05 0.00 0.00 0.02 0.02 0.01 0.02 0.00 -0.33 0.00 0.01 0.00 1.00 0.01 0.00 -0.01 -0.06 0.00 0.00 0.00 0.00 +0.03 -0.09 -0.01 0.05 0.00 0.01 0.02 0.06 0.00 0.01 0.01 0.01 -0.68 0.00 0.00 0.01 1.00 0.00 -0.01 0.01 -0.10 0.01 0.00 0.00 +0.06 0.06 0.10 0.05 0.00 0.02 0.01 0.00 0.04 0.01 0.00 0.00 0.00 -0.01 0.00 0.00 0.00 1.00 -0.08 0.00 0.00 0.00 0.00 0.00 +0.02 0.02 0.02 0.02 -0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 -0.01 -0.01 -0.08 1.00 0.00 0.00 0.00 0.01 0.00 +0.08 0.01 0.01 0.03 -0.01 0.01 0.01 0.01 0.01 0.02 0.00 -0.05 0.00 0.01 0.00 -0.06 0.01 0.00 0.00 1.00 0.08 0.18 0.16 0.11 +0.00 0.05 0.00 0.00 0.00 0.00 0.01 0.01 0.00 0.01 0.00 0.00 -0.01 0.00 0.00 0.00 -0.10 0.00 0.00 0.08 1.00 -0.01 0.05 0.02 +0.02 0.01 0.02 0.01 -0.01 0.01 0.00 0.00 0.01 0.02 0.00 0.00 0.00 0.01 0.00 0.00 0.01 0.00 0.00 0.18 -0.01 1.00 0.14 -0.07 +0.00 0.00 0.00 0.00 -0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.16 0.05 0.14 1.00 0.09 +0.01 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.02 -0.07 0.09 1.00 \ No newline at end of file Index: trunk/HLHE-LHC/LHC3000_S2/CMS3000_mutautauttH_S2.txt =================================================================== --- trunk/HLHE-LHC/LHC3000_S2/CMS3000_mutautauttH_S2.txt (revision 593) +++ trunk/HLHE-LHC/LHC3000_S2/CMS3000_mutautauttH_S2.txt (revision 594) @@ -1,14 +1,14 @@ # Projection to LHC 3000fb-1. # https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018 47 47 1 HL/HE-LHC_YR2018 LHC, CMS, CMS ttH,H->tautau 13 3000 0.01 1 0 10.0 125.0 125.0 1.0 1 125.0 5.4 1.0 -125 0.853 1.0 1.147 +125 0.851 1.0 1.149 Index: trunk/HLHE-LHC/LHC3000_S2/CMS.corr =================================================================== --- trunk/HLHE-LHC/LHC3000_S2/CMS.corr (revision 593) +++ trunk/HLHE-LHC/LHC3000_S2/CMS.corr (revision 594) @@ -1,300 +1,300 @@ 1 1 1.0 3 1 0.48 3 3 1.0 5 1 0.54 5 3 0.52 5 5 1.0 7 1 0.46 -7 3 0.38 +7 3 0.37 7 5 0.42 7 7 1.0 9 1 -0.01 9 3 -0.01 9 5 -0.01 9 7 -0.01 9 9 1.0 11 1 0.14 11 3 0.13 11 5 0.15 -11 7 0.12 -11 9 -0.0 +11 7 0.11 +11 9 0.0 11 11 1.0 13 1 -0.18 13 3 0.0 -13 5 -0.0 +13 5 -0.01 13 7 0.12 -13 9 -0.0 +13 9 0.0 13 11 0.0 13 13 1.0 15 1 0.02 15 3 -0.11 15 5 -0.02 15 7 0.05 -15 9 -0.0 -15 11 -0.0 +15 9 0.0 +15 11 0.0 15 13 0.05 15 15 1.0 17 1 -0.01 17 3 -0.03 17 5 -0.09 17 7 0.02 -17 9 -0.01 +17 9 0.0 17 11 -0.01 17 13 0.06 17 15 0.07 17 17 1.0 19 1 0.02 19 3 0.0 19 5 -0.01 19 7 -0.16 19 9 -0.01 19 11 0.0 19 13 0.08 19 15 0.07 19 17 0.1 19 19 1.0 21 1 0.01 21 3 -0.01 21 5 -0.01 21 7 0.02 -21 9 -0.0 +21 9 0.0 21 11 -0.53 21 13 0.01 21 15 0.03 21 17 0.01 21 19 0.02 21 21 1.0 -23 1 -0.0 +23 1 0.0 23 3 0.01 23 5 0.01 -23 7 0.06 -23 9 -0.0 +23 7 0.05 +23 9 0.0 23 11 0.01 23 13 0.03 23 15 0.02 23 17 0.02 23 19 0.04 23 21 0.01 23 23 1.0 25 1 0.01 25 3 0.01 -25 5 -0.0 +25 5 0.0 25 7 0.01 -25 9 -0.0 +25 9 0.0 25 11 0.0 25 13 0.0 25 15 0.0 25 17 0.0 25 19 0.01 25 21 0.0 25 23 0.0 25 25 1.0 27 1 0.02 27 3 0.01 27 5 0.0 27 7 0.02 -27 9 -0.0 -27 11 0.01 +27 9 0.0 +27 11 0.0 27 13 0.01 27 15 0.01 27 17 0.05 27 19 0.03 27 21 0.0 27 23 0.01 27 25 0.0 27 27 1.0 -29 1 -0.0 -29 3 -0.0 -29 5 -0.0 -29 7 -0.0 +29 1 0.0 +29 3 -0.01 +29 5 0.0 +29 7 0.0 29 9 -0.02 -29 11 -0.0 -29 13 -0.0 -29 15 -0.0 -29 17 -0.0 +29 11 0.0 +29 13 0.0 +29 15 0.0 +29 17 0.0 29 19 0.0 -29 21 -0.0 -29 23 -0.0 +29 21 0.0 +29 23 0.0 29 25 0.0 -29 27 -0.0 +29 27 0.0 29 29 1.0 31 1 -0.03 31 3 0.01 31 5 0.0 31 7 0.05 -31 9 -0.0 +31 9 0.0 31 11 0.0 31 13 0.02 31 15 0.02 31 17 0.01 31 19 0.02 31 21 0.0 31 23 -0.33 31 25 0.0 31 27 0.01 -31 29 -0.0 +31 29 0.0 31 31 1.0 33 1 0.03 33 3 -0.09 33 5 -0.01 33 7 0.05 -33 9 -0.0 +33 9 0.0 33 11 0.01 33 13 0.02 33 15 0.06 -33 17 -0.0 +33 17 0.0 33 19 0.01 33 21 0.01 33 23 0.01 33 25 -0.68 33 27 0.0 -33 29 -0.0 +33 29 0.0 33 31 0.01 33 33 1.0 35 1 0.06 35 3 0.06 35 5 0.1 35 7 0.05 -35 9 -0.0 +35 9 0.0 35 11 0.02 35 13 0.01 35 15 0.0 35 17 0.04 35 19 0.01 35 21 0.0 -35 23 0.01 +35 23 0.0 35 25 0.0 35 27 -0.01 35 29 0.0 35 31 0.0 35 33 0.0 35 35 1.0 37 1 0.02 37 3 0.02 37 5 0.02 37 7 0.02 37 9 -0.01 37 11 0.0 37 13 0.0 37 15 0.0 37 17 0.0 37 19 0.0 37 21 0.0 -37 23 -0.0 -37 25 -0.0 -37 27 -0.0 +37 23 0.0 +37 25 0.0 +37 27 0.0 37 29 0.01 37 31 -0.01 -37 33 -0.0 -37 35 -0.07 +37 33 -0.01 +37 35 -0.08 37 37 1.0 39 1 0.08 39 3 0.01 39 5 0.01 -39 7 0.04 +39 7 0.03 39 9 -0.01 39 11 0.01 39 13 0.01 39 15 0.01 39 17 0.01 39 19 0.02 39 21 0.0 39 23 -0.05 39 25 0.0 39 27 0.01 -39 29 -0.0 +39 29 0.0 39 31 -0.06 39 33 0.01 39 35 0.0 39 37 0.0 39 39 1.0 -41 1 -0.0 +41 1 0.0 41 3 0.05 -41 5 -0.0 +41 5 0.0 41 7 0.0 -41 9 -0.0 -41 11 -0.0 +41 9 0.0 +41 11 0.0 41 13 0.01 41 15 0.01 41 17 0.0 41 19 0.01 41 21 0.0 41 23 0.0 41 25 -0.01 41 27 0.0 -41 29 -0.0 +41 29 0.0 41 31 0.0 -41 33 -0.09 +41 33 -0.1 41 35 0.0 41 37 0.0 41 39 0.08 41 41 1.0 43 1 0.02 43 3 0.01 43 5 0.02 -43 7 0.02 +43 7 0.01 43 9 -0.01 43 11 0.01 -43 13 0.01 +43 13 0.0 43 15 0.0 43 17 0.01 43 19 0.02 43 21 0.0 43 23 0.0 43 25 0.0 43 27 0.01 -43 29 -0.0 +43 29 0.0 43 31 0.0 43 33 0.01 43 35 0.0 43 37 0.0 -43 39 0.2 -43 41 0.01 +43 39 0.18 +43 41 -0.01 43 43 1.0 45 1 0.0 45 3 0.0 45 5 0.0 -45 7 0.01 +45 7 0.0 45 9 -0.01 45 11 0.0 -45 13 -0.0 +45 13 0.0 45 15 0.0 -45 17 -0.0 -45 19 -0.0 -45 21 -0.0 -45 23 -0.0 +45 17 0.0 +45 19 0.0 +45 21 0.0 +45 23 0.0 45 25 0.0 45 27 0.0 -45 29 0.01 +45 29 0.0 45 31 0.0 45 33 0.0 -45 35 -0.0 +45 35 0.0 45 37 0.01 -45 39 0.27 -45 41 0.09 -45 43 0.27 +45 39 0.16 +45 41 0.05 +45 43 0.14 45 45 1.0 47 1 0.01 47 3 0.01 47 5 0.01 47 7 0.01 -47 9 -0.0 +47 9 0.0 47 11 0.0 47 13 0.0 47 15 0.0 47 17 0.01 47 19 0.01 47 21 0.0 47 23 0.0 47 25 0.0 47 27 0.0 -47 29 -0.0 +47 29 0.0 47 31 0.0 47 33 0.0 47 35 0.0 47 37 0.0 47 39 0.11 47 41 0.02 47 43 -0.07 -47 45 0.15 +47 45 0.09 47 47 1.0 Index: trunk/HLHE-LHC/LHC3000_S2/ATLAS.corr =================================================================== --- trunk/HLHE-LHC/LHC3000_S2/ATLAS.corr (revision 593) +++ trunk/HLHE-LHC/LHC3000_S2/ATLAS.corr (revision 594) @@ -1,300 +1,361 @@ -101 101 1.0 -103 101 0.48 -103 103 1.0 -105 101 0.54 -105 103 0.52 -105 105 1.0 -107 101 0.46 -107 103 0.38 -107 105 0.42 -107 107 1.0 -109 101 -0.01 -109 103 -0.01 -109 105 -0.01 -109 107 -0.01 -109 109 1.0 -111 101 0.14 -111 103 0.13 -111 105 0.15 -111 107 0.12 -111 109 -0.0 -111 111 1.0 -113 101 -0.18 -113 103 0.0 -113 105 -0.0 -113 107 0.12 -113 109 -0.0 -113 111 0.0 -113 113 1.0 -115 101 0.02 -115 103 -0.11 -115 105 -0.02 -115 107 0.05 -115 109 -0.0 -115 111 -0.0 -115 113 0.05 -115 115 1.0 -117 101 -0.01 -117 103 -0.03 -117 105 -0.09 -117 107 0.02 -117 109 -0.01 -117 111 -0.01 -117 113 0.06 -117 115 0.07 -117 117 1.0 -119 101 0.02 -119 103 0.0 -119 105 -0.01 -119 107 -0.16 -119 109 -0.01 -119 111 0.0 -119 113 0.08 -119 115 0.07 -119 117 0.1 -119 119 1.0 -121 101 0.01 -121 103 -0.01 -121 105 -0.01 -121 107 0.02 -121 109 -0.0 -121 111 -0.53 -121 113 0.01 -121 115 0.03 -121 117 0.01 -121 119 0.02 -121 121 1.0 -123 101 -0.0 -123 103 0.01 -123 105 0.01 -123 107 0.06 -123 109 -0.0 -123 111 0.01 -123 113 0.03 -123 115 0.02 -123 117 0.02 -123 119 0.04 -123 121 0.01 -123 123 1.0 -125 101 0.01 -125 103 0.01 -125 105 -0.0 -125 107 0.01 -125 109 -0.0 -125 111 0.0 -125 113 0.0 -125 115 0.0 -125 117 0.0 -125 119 0.01 -125 121 0.0 -125 123 0.0 -125 125 1.0 -127 101 0.02 -127 103 0.01 -127 105 0.0 -127 107 0.02 -127 109 -0.0 -127 111 0.01 -127 113 0.01 -127 115 0.01 -127 117 0.05 -127 119 0.03 -127 121 0.0 -127 123 0.01 -127 125 0.0 -127 127 1.0 -129 101 -0.0 -129 103 -0.0 -129 105 -0.0 -129 107 -0.0 -129 109 -0.02 -129 111 -0.0 -129 113 -0.0 -129 115 -0.0 -129 117 -0.0 -129 119 0.0 -129 121 -0.0 -129 123 -0.0 -129 125 0.0 -129 127 -0.0 -129 129 1.0 -131 101 -0.03 -131 103 0.01 -131 105 0.0 -131 107 0.05 -131 109 -0.0 -131 111 0.0 -131 113 0.02 -131 115 0.02 -131 117 0.01 -131 119 0.02 -131 121 0.0 -131 123 -0.33 -131 125 0.0 -131 127 0.01 -131 129 -0.0 -131 131 1.0 -133 101 0.03 -133 103 -0.09 -133 105 -0.01 -133 107 0.05 -133 109 -0.0 -133 111 0.01 -133 113 0.02 -133 115 0.06 -133 117 -0.0 -133 119 0.01 -133 121 0.01 -133 123 0.01 -133 125 -0.68 -133 127 0.0 -133 129 -0.0 -133 131 0.01 -133 133 1.0 -135 101 0.06 -135 103 0.06 -135 105 0.1 -135 107 0.05 -135 109 -0.0 -135 111 0.02 -135 113 0.01 -135 115 0.0 -135 117 0.04 -135 119 0.01 -135 121 0.0 -135 123 0.01 -135 125 0.0 -135 127 -0.01 -135 129 0.0 -135 131 0.0 -135 133 0.0 -135 135 1.0 -137 101 0.02 -137 103 0.02 -137 105 0.02 -137 107 0.02 -137 109 -0.01 -137 111 0.0 -137 113 0.0 -137 115 0.0 -137 117 0.0 -137 119 0.0 -137 121 0.0 -137 123 -0.0 -137 125 -0.0 -137 127 -0.0 -137 129 0.01 -137 131 -0.01 -137 133 -0.0 -137 135 -0.07 -137 137 1.0 -139 101 0.08 -139 103 0.01 -139 105 0.01 -139 107 0.04 -139 109 -0.01 -139 111 0.01 -139 113 0.01 -139 115 0.01 -139 117 0.01 -139 119 0.02 -139 121 0.0 -139 123 -0.05 -139 125 0.0 -139 127 0.01 -139 129 -0.0 -139 131 -0.06 -139 133 0.01 -139 135 0.0 -139 137 0.0 -139 139 1.0 -141 101 -0.0 -141 103 0.05 -141 105 -0.0 -141 107 0.0 -141 109 -0.0 -141 111 -0.0 -141 113 0.01 -141 115 0.01 -141 117 0.0 -141 119 0.01 -141 121 0.0 -141 123 0.0 -141 125 -0.01 -141 127 0.0 -141 129 -0.0 -141 131 0.0 -141 133 -0.09 -141 135 0.0 -141 137 0.0 -141 139 0.08 -141 141 1.0 -143 101 0.02 -143 103 0.01 -143 105 0.02 -143 107 0.02 -143 109 -0.01 -143 111 0.01 -143 113 0.01 -143 115 0.0 -143 117 0.01 -143 119 0.02 -143 121 0.0 -143 123 0.0 -143 125 0.0 -143 127 0.01 -143 129 -0.0 -143 131 0.0 -143 133 0.01 -143 135 0.0 -143 137 0.0 -143 139 0.2 -143 141 0.01 -143 143 1.0 -145 101 0.0 -145 103 0.0 -145 105 0.0 -145 107 0.01 -145 109 -0.01 -145 111 0.0 -145 113 -0.0 -145 115 0.0 -145 117 -0.0 -145 119 -0.0 -145 121 -0.0 -145 123 -0.0 -145 125 0.0 -145 127 0.0 -145 129 0.01 -145 131 0.0 -145 133 0.0 -145 135 -0.0 -145 137 0.01 -145 139 0.27 -145 141 0.09 -145 143 0.27 -145 145 1.0 -147 101 0.01 -147 103 0.01 -147 105 0.01 -147 107 0.01 -147 109 -0.0 -147 111 0.0 -147 113 0.0 -147 115 0.0 -147 117 0.01 -147 119 0.01 -147 121 0.0 -147 123 0.0 -147 125 0.0 -147 127 0.0 -147 129 -0.0 -147 131 0.0 -147 133 0.0 -147 135 0.0 -147 137 0.0 -147 139 0.11 -147 141 0.02 -147 143 -0.07 -147 145 0.15 -147 147 1.0 +101 101 1.0 +101 102 -0.004832604 +101 103 -0.002803971 +101 104 -0.004633366 +101 105 -0.004548165 +101 106 0.02433213 +101 107 0.01246237 +101 108 -0.00380564 +101 110 -0.0068078 +101 111 -0.009310477 +101 112 0.0005055036 +101 113 0.03240145 +101 114 0.0006815214 +101 115 -0.0008499567 +101 117 -0.004918058 +101 118 -0.001482767 +101 121 -0.004441488 +101 122 0.001252526 +101 123 0.09059295 +102 101 -0.004832604 +102 102 1.0 +102 103 0.007161938 +102 104 0.01041387 +102 105 -0.009097492 +102 106 0.008776294 +102 107 0.003682813 +102 108 0.04027478 +102 110 0.04875244 +102 111 0.03429404 +102 112 0.002523248 +102 113 0.002852681 +102 114 0.002009713 +102 115 -0.008079002 +102 117 -0.01066631 +102 118 0.002703405 +102 121 0.0586053 +102 122 0.003231718 +102 123 0.009077749 +103 101 -0.002803971 +103 102 0.007161938 +103 103 1.0 +103 104 -0.1417768 +103 105 0.005320067 +103 106 0.002189845 +103 107 0.001265737 +103 108 0.01836739 +103 110 0.06565679 +103 111 0.07498384 +103 112 0.0256072 +103 113 0.006364413 +103 114 -0.0003021461 +103 115 0.01459071 +103 117 0.000750708 +103 118 0.02000126 +103 121 0.06601627 +103 122 -0.0009576219 +103 123 0.03257265 +104 101 -0.004633366 +104 102 0.01041387 +104 103 -0.1417768 +104 104 1.0 +104 105 0.004835856 +104 106 0.002873554 +104 107 0.001415512 +104 108 0.02291484 +104 110 0.08001896 +104 111 0.07572175 +104 112 0.02202326 +104 113 -0.004214016 +104 114 -0.0007817692 +104 115 0.01390086 +104 117 0.002533093 +104 118 0.01202945 +104 121 0.07529049 +104 122 -0.001970837 +104 123 -0.002511055 +105 101 -0.004548165 +105 102 -0.009097492 +105 103 0.005320067 +105 104 0.004835856 +105 105 1.0 +105 106 -0.0003191513 +105 107 0.01071372 +105 108 -0.004469634 +105 110 -0.3056655 +105 111 0.02345161 +105 112 -0.005750019 +105 113 0.005564062 +105 114 0.001038193 +105 115 0.09785717 +105 117 0.0111538 +105 118 0.00369743 +105 121 -0.09285844 +105 122 0.0003791556 +105 123 0.01566299 +106 101 0.02433213 +106 102 0.008776294 +106 103 0.002189845 +106 104 0.002873554 +106 105 -0.0003191513 +106 106 1.0 +106 107 -0.6109278 +106 108 0.001582504 +106 110 0.003457251 +106 111 0.008449217 +106 112 0.004366804 +106 113 0.01512584 +106 114 0.003241657 +106 115 0.001798334 +106 117 0.00884806 +106 118 0.0007654437 +106 121 2.548929e-05 +106 122 0.005310443 +106 123 0.006836 +107 101 0.01246237 +107 102 0.003682813 +107 103 0.001265737 +107 104 0.001415512 +107 105 0.01071372 +107 106 -0.6109278 +107 107 1.0 +107 108 0.001109492 +107 110 0.01974447 +107 111 0.003031592 +107 112 -0.0001825083 +107 113 -0.00481861 +107 114 -0.0003704465 +107 115 -0.001635859 +107 117 0.005839817 +107 118 0.0005375356 +107 121 0.005948386 +107 122 0.0007295759 +107 123 -0.007872857 +108 101 -0.00380564 +108 102 0.04027478 +108 103 0.01836739 +108 104 0.02291484 +108 105 -0.004469634 +108 106 0.001582504 +108 107 0.001109492 +108 108 1.0 +108 110 0.06869973 +108 111 0.07798655 +108 112 -0.1009884 +108 113 0.06672274 +108 114 0.002604241 +108 115 -0.1243091 +108 117 0.2324231 +108 118 0.05406664 +108 121 -0.01610266 +108 122 -0.001939467 +108 123 0.03247444 +110 101 -0.0068078 +110 102 0.04875244 +110 103 0.06565679 +110 104 0.08001896 +110 105 -0.3056655 +110 106 0.003457251 +110 107 0.01974447 +110 108 0.06869973 +110 110 1.0 +110 111 0.1832194 +110 112 0.08026821 +110 113 0.001199148 +110 114 -0.003137698 +110 115 0.09099377 +110 117 0.136811 +110 118 -0.01777022 +110 121 0.1674384 +110 122 -0.004838763 +110 123 -0.03289596 +111 101 -0.009310477 +111 102 0.03429404 +111 103 0.07498384 +111 104 0.07572175 +111 105 0.02345161 +111 106 0.008449217 +111 107 0.003031592 +111 108 0.07798655 +111 110 0.1832194 +111 111 1.0 +111 112 0.02735106 +111 113 0.003271022 +111 114 -0.003427507 +111 115 0.03386288 +111 117 0.1983815 +111 118 -0.0007723307 +111 121 0.02625603 +111 122 -0.006563303 +111 123 0.147163 +112 101 0.0005055036 +112 102 0.002523248 +112 103 0.0256072 +112 104 0.02202326 +112 105 -0.005750019 +112 106 0.004366804 +112 107 -0.0001825083 +112 108 -0.1009884 +112 110 0.08026821 +112 111 0.02735106 +112 112 1.0 +112 113 -0.03154101 +112 114 0.002745154 +112 115 -0.02143962 +112 117 -0.008375772 +112 118 -0.762644 +112 121 0.01896736 +112 122 0.01809214 +112 123 -0.01149677 +113 101 0.03240145 +113 102 0.002852681 +113 103 0.006364413 +113 104 -0.004214016 +113 105 0.005564062 +113 106 0.01512584 +113 107 -0.00481861 +113 108 0.06672274 +113 110 0.001199148 +113 111 0.003271022 +113 112 -0.03154101 +113 113 1.0 +113 114 8.693475e-06 +113 115 0.01424851 +113 117 -9.48403e-05 +113 118 -0.07845232 +113 121 0.0009512882 +113 122 0.0001753764 +113 123 0.1019149 +114 101 0.0006815214 +114 102 0.002009713 +114 103 -0.0003021461 +114 104 -0.0007817692 +114 105 0.001038193 +114 106 0.003241657 +114 107 -0.0003704465 +114 108 0.002604241 +114 110 -0.003137698 +114 111 -0.003427507 +114 112 0.002745154 +114 113 8.693475e-06 +114 114 1.0 +114 115 0.001194184 +114 117 0.002614129 +114 118 -0.000489925 +114 121 0.0007499685 +114 122 0.1699638 +114 123 -0.001717584 +115 101 -0.0008499567 +115 102 -0.008079002 +115 103 0.01459071 +115 104 0.01390086 +115 105 0.09785717 +115 106 0.001798334 +115 107 -0.001635859 +115 108 -0.1243091 +115 110 0.09099377 +115 111 0.03386288 +115 112 -0.02143962 +115 113 0.01424851 +115 114 0.001194184 +115 115 1.0 +115 117 0.00250248 +115 118 0.02656304 +115 121 0.1490015 +115 122 0.002292177 +115 123 -0.006795653 +117 101 -0.004918058 +117 102 -0.01066631 +117 103 0.000750708 +117 104 0.002533093 +117 105 0.0111538 +117 106 0.00884806 +117 107 0.005839817 +117 108 0.2324231 +117 110 0.136811 +117 111 0.1983815 +117 112 -0.008375772 +117 113 -9.48403e-05 +117 114 0.002614129 +117 115 0.00250248 +117 117 1.0 +117 118 0.003810494 +117 121 -0.01700982 +117 122 0.003306209 +117 123 0.001677572 +118 101 -0.001482767 +118 102 0.002703405 +118 103 0.02000126 +118 104 0.01202945 +118 105 0.00369743 +118 106 0.0007654437 +118 107 0.0005375356 +118 108 0.05406664 +118 110 -0.01777022 +118 111 -0.0007723307 +118 112 -0.762644 +118 113 -0.07845232 +118 114 -0.000489925 +118 115 0.02656304 +118 117 0.003810494 +118 118 1.0 +118 121 0.0004432005 +118 122 -0.001730187 +118 123 -0.001378632 +121 101 -0.004441488 +121 102 0.0586053 +121 103 0.06601627 +121 104 0.07529049 +121 105 -0.09285844 +121 106 2.548929e-05 +121 107 0.005948386 +121 108 -0.01610266 +121 110 0.1674384 +121 111 0.02625603 +121 112 0.01896736 +121 113 0.0009512882 +121 114 0.0007499685 +121 115 0.1490015 +121 117 -0.01700982 +121 118 0.0004432005 +121 121 1.0 +121 122 0.0008514268 +121 123 0.1159781 +122 101 0.001252526 +122 102 0.003231718 +122 103 -0.0009576219 +122 104 -0.001970837 +122 105 0.0003791556 +122 106 0.005310443 +122 107 0.0007295759 +122 108 -0.001939467 +122 110 -0.004838763 +122 111 -0.006563303 +122 112 0.01809214 +122 113 0.0001753764 +122 114 0.1699638 +122 115 0.002292177 +122 117 0.003306209 +122 118 -0.001730187 +122 121 0.0008514268 +122 122 1.0 +122 123 -0.002805978 +123 101 0.09059295 +123 102 0.009077749 +123 103 0.03257265 +123 104 -0.002511055 +123 105 0.01566299 +123 106 0.006836 +123 107 -0.007872857 +123 108 0.03247444 +123 110 -0.03289596 +123 111 0.147163 +123 112 -0.01149677 +123 113 0.1019149 +123 114 -0.001717584 +123 115 -0.006795653 +123 117 0.001677572 +123 118 -0.001378632 +123 121 0.1159781 +123 122 -0.002805978 +123 123 1.0 Index: trunk/HLHE-LHC/LHC3000_S2/CMS3000_mumumuVBF_S2.txt =================================================================== --- trunk/HLHE-LHC/LHC3000_S2/CMS3000_mumumuVBF_S2.txt (revision 593) +++ trunk/HLHE-LHC/LHC3000_S2/CMS3000_mumumuVBF_S2.txt (revision 594) @@ -1,14 +1,14 @@ # Projection to LHC 3000fb-1. # https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018 21 21 1 HL/HE-LHC_YR2018 LHC, CMS, CMS VBF,H->mumu 13 3000 0.01 1 0 10.0 125.0 125.0 1.0 1 125.0 2.8 1.0 -125 0.459 1.0 1.541 +125 0.46 1.0 1.54 Index: trunk/HLHE-LHC/LHC3000_S2/CMS3000_mubbttH_S2.txt =================================================================== --- trunk/HLHE-LHC/LHC3000_S2/CMS3000_mubbttH_S2.txt (revision 593) +++ trunk/HLHE-LHC/LHC3000_S2/CMS3000_mubbttH_S2.txt (revision 594) @@ -1,14 +1,14 @@ # Projection to LHC 3000fb-1. # https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018 45 45 1 HL/HE-LHC_YR2018 LHC, CMS, CMS ttH,H->bb 13 3000 0.01 1 0 10.0 125.0 125.0 1.0 1 125.0 5.5 1.0 -125 0.932 1.0 1.068 +125 0.884 1.0 1.116 Index: trunk/HLHE-LHC/LHC3000_S2/CMS3000_mubbggH_S2.txt =================================================================== --- trunk/HLHE-LHC/LHC3000_S2/CMS3000_mubbggH_S2.txt (revision 593) +++ trunk/HLHE-LHC/LHC3000_S2/CMS3000_mubbggH_S2.txt (revision 594) @@ -1,14 +1,14 @@ # Projection to LHC 3000fb-1. # https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018 9 9 1 HL/HE-LHC_YR2018 LHC, CMS, CMS ggH,H->bb 13 3000 0.01 1 0 10.0 125.0 125.0 1.0 1 125.0 1.5 1.0 -125 0.789 1.0 1.211 +125 0.753 1.0 1.247 Index: trunk/HLHE-LHC/LHC3000_S2/CMS3000_muWWttH_S2.txt =================================================================== --- trunk/HLHE-LHC/LHC3000_S2/CMS3000_muWWttH_S2.txt (revision 593) +++ trunk/HLHE-LHC/LHC3000_S2/CMS3000_muWWttH_S2.txt (revision 594) @@ -1,14 +1,14 @@ # Projection to LHC 3000fb-1. # https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018 43 43 1 HL/HE-LHC_YR2018 LHC, CMS, CMS ttH,H->WW 13 3000 0.01 1 0 10.0 125.0 125.0 1.0 1 125.0 5.2 1.0 -125 0.911 1.0 1.089 +125 0.903 1.0 1.097 Index: trunk/HLHE-LHC/create_obs.py =================================================================== --- trunk/HLHE-LHC/create_obs.py (revision 593) +++ trunk/HLHE-LHC/create_obs.py (revision 594) @@ -1,208 +1,208 @@ # Script to generate HL-LHC and HE-LHC projection observables for HiggsSignals. # Data taken from # https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018 # (TS, Sept. 13, 2018) import numpy as np -scenario = "S1" -# scenario = "S2" +# scenario = "S1" +scenario = "S2" HLLHC = True -HELHC = True +HELHC = False mu_dict = {"mugagaggH_S1": ["ggH","gaga","S1",0],\ "mugagaggH_S2": ["ggH","gaga","S2",1],\ "muZZggH_S1": ["ggH","ZZ","S1",2],\ "muZZggH_S2": ["ggH","ZZ","S2",3],\ "muWWggH_S1": ["ggH","WW","S1",4],\ "muWWggH_S2": ["ggH","WW","S2",5],\ "mutautauggH_S1": ["ggH","tautau","S1",6],\ "mutautauggH_S2": ["ggH","tautau","S2",7],\ "mubbggH_S1": ["ggH","bb","S1",8],\ "mubbggH_S2": ["ggH","bb","S2",9],\ "mumumuggH_S1": ["ggH","mumu","S1",10],\ "mumumuggH_S2": ["ggH","mumu","S2",11],\ "mugagaVBF_S1": ["VBF","gaga","S1",12],\ "mugagaVBF_S2": ["VBF","gaga","S2",13],\ "muZZVBF_S1": ["VBF","ZZ","S1",14],\ "muZZVBF_S2": ["VBF","ZZ","S2",15],\ "muWWVBF_S1": ["VBF","WW","S1",16],\ "muWWVBF_S2": ["VBF","WW","S2",17],\ "mutautauVBF_S1": ["VBF","tautau","S1",18],\ "mutautauVBF_S2": ["VBF","tautau","S2",19],\ "mumumuVBF_S1": ["VBF","mumu","S1",20],\ "mumumuVBF_S2": ["VBF","mumu","S2",21],\ "mugagaWH_S1": ["WH","gaga","S1",22],\ "mugagaWH_S2": ["WH","gaga","S2",23],\ "muZZWH_S1": ["WH","ZZ","S1",24],\ "muZZWH_S2": ["WH","ZZ","S2",25],\ "muWWWH_S1": ["WH","WW","S1",26],\ "muWWWH_S2": ["WH","WW","S2",27],\ "mubbWH_S1": ["WH","bb","S1",28],\ "mubbWH_S2": ["WH","bb","S2",29],\ "mugagaZH_S1": ["ZH","gaga","S1",30],\ "mugagaZH_S2": ["ZH","gaga","S2",31],\ "muZZZH_S1": ["ZH","ZZ","S1",32],\ "muZZZH_S2": ["ZH","ZZ","S2",33],\ "muWWZH_S1": ["ZH","WW","S1",34],\ "muWWZH_S2": ["ZH","WW","S2",35],\ "mubbZH_S1": ["ZH","bb","S1",36],\ "mubbZH_S2": ["ZH","bb","S2",37],\ "mugagattH_S1": ["ttH","gaga","S1",38],\ "mugagattH_S2": ["ttH","gaga","S2",39],\ "muZZttH_S1": ["ttH","ZZ","S1",40],\ "muZZttH_S2": ["ttH","ZZ","S2",41],\ "muWWttH_S1": ["ttH","WW","S1",42],\ "muWWttH_S2": ["ttH","WW","S2",43],\ "mubbttH_S1": ["ttH","bb","S1",44],\ "mubbttH_S2": ["ttH","bb","S2",45],\ "mutautauttH_S1": ["ttH","tautau","S1",46],\ "mutautauttH_S2": ["ttH","tautau","S2",47]} prod_dict = {"ggH" : "1", "VBF" : "2", "WH" : "3", "ZH" : "4", "ttH" : "5"} decay_dict = {"gaga" : "1", "WW" : "2", "ZZ" : "3", "tautau" : "4", "bb" : "5", "mumu" : "8"} # mu data ordered as (Total Stat SigTh BkgTh Expt) # n.b.: both Scenarios S1 and S2 alternate in these arrays. Take the index according to the above dictionary! mu_data = np.loadtxt("HL-LHC_CMS_mu-values.txt") mu_dataT = zip(*mu_data) corr_data = [] if scenario == "S1": corr_data = np.loadtxt("HL-LHC_CMS_correlation_S1.txt") elif scenario == "S2": corr_data = np.loadtxt("HL-LHC_CMS_correlation_S2.txt") else: print "unknown scenario!" # print mu_dict.keys() # print "Quantity Stat_err SigTh_err BkgTh_err Expt_err (in %)" print "Quoted total error, Gaussian comb. from parts, relative deviation (in %), channel" for key, item in mu_dict.iteritems(): CMSid = item[3] ATLASid = 100+item[3] if item[2]==scenario: # print key, mu_dataT[1][item[3]],mu_dataT[2][item[3]],mu_dataT[3][item[3]],mu_dataT[4][item[3]] # print item[0], item[1] error = 0.01 * mu_dataT[0][item[3]] # convert from %; take total error for now. totalerror_from_parts = 0.01* np.sqrt(mu_dataT[1][item[3]]**2.+mu_dataT[2][item[3]]**2.+mu_dataT[3][item[3]]**2.+mu_dataT[4][item[3]]**2.) print " ",error," ", round(totalerror_from_parts,3)," ", round((error-totalerror_from_parts)/error*100.,2),"% ",key # CREATE CMS observable file - obsfile = open("LHC3000_"+scenario+"/CMS3000_"+key+".txt","w") + obsfile = open("doubledCMS3000_"+scenario+"/CMS3000_"+key+".txt","w") obsfile.write("# Projection to LHC 3000fb-1.\n") obsfile.write("# https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018\n") obsfile.write(str(CMSid)+" "+str(CMSid)+" 1\n") obsfile.write("HL/HE-LHC_YR2018\n") obsfile.write("LHC, CMS, CMS\n") obsfile.write(item[0]+",H->"+item[1]+"\n") obsfile.write("13 3000 0.01\n") obsfile.write("1 0\n") obsfile.write("10.0\n") obsfile.write("125.0 125.0 1.0\n") obsfile.write("1 125.0\n") obsfile.write(prod_dict[item[0]]+"."+decay_dict[item[1]]+"\n") obsfile.write("1.0\n") obsfile.write("125 "+str(1.0-error)+" 1.0 "+str(1.0+error)+"\n") obsfile.close() # CREATE ATLAS observable file - obsfile = open("LHC3000_"+scenario+"/ATL3000_"+key+".txt","w") + obsfile = open("doubledCMS3000_"+scenario+"/ATL3000_"+key+".txt","w") obsfile.write("# Projection to LHC 3000fb-1.\n") obsfile.write("# https://twiki.cern.ch/twiki/bin/view/LHCPhysics/GuidelinesCouplingProjections2018\n") obsfile.write(str(ATLASid)+" "+str(ATLASid)+" 1\n") obsfile.write("HL/HE-LHC_YR2018\n") obsfile.write("LHC, ATL, ATL\n") obsfile.write(item[0]+",H->"+item[1]+"\n") obsfile.write("13 3000 0.01\n") obsfile.write("1 0\n") obsfile.write("10.0\n") obsfile.write("125.0 125.0 1.0\n") obsfile.write("1 125.0\n") obsfile.write(prod_dict[item[0]]+"."+decay_dict[item[1]]+"\n") obsfile.write("1.0\n") obsfile.write("125 "+str(1.0-error)+" 1.0 "+str(1.0+error)+"\n") obsfile.close() # Create covariance matrix -corrfileCMS = open("LHC3000_"+scenario+"/CMS.corr","w") -corrfileATLAS = open("LHC3000_"+scenario+"/ATLAS.corr","w") +corrfileCMS = open("doubledCMS3000_"+scenario+"/CMS.corr","w") +corrfileATLAS = open("doubledCMS3000_"+scenario+"/ATLAS.corr","w") for i in range(corr_data.shape[0]): for j in range(i+1): # i and j loop through the correlation matrix in the correct order. if scenario=="S1": id_i = 2*i id_j = 2*j elif scenario=="S2": id_i = 2*i+1 id_j = 2*j+1 else: print "unknown scenario!" CMSid_i = id_i ATLASid_i = 100+id_i CMSid_j = id_j ATLASid_j = 100+id_j key_i ="" key_j ="" for key, item in mu_dict.iteritems(): if item[3]==id_i: key_i = key if item[3]==id_j: key_j = key # theo_error_i = np.sqrt(mu_dataT[2][id_i]**2.+mu_dataT[3][id_i]**2.) # theo_error_j = np.sqrt(mu_dataT[2][id_j]**2.+mu_dataT[3][id_j]**2.) # stat_error_i = mu_dataT[1][id_i] # stat_error_j = mu_dataT[1][id_j] # expsyst_error_i = mu_dataT[4][id_i] # expsyst_error_j = mu_dataT[4][id_j] # tot_error_i = np.sqrt(theo_error_i**2. + stat_error_i**2. + expsyst_error_i**2) # tot_error_j = np.sqrt(theo_error_j**2. + stat_error_j**2. + expsyst_error_j**2) # Assume only theoretical and systematic errors are correlated, to equal parts (!) # cov = dmu dmu * corr # cov_ij = tot_error_i * tot_error_j * corr_data[i][j] # cov_ij_onlytheo_fullycorr = theo_error_i * theo_error_j # cov_ij_onlysyst_fullycorr = np.sqrt(expsyst_error_i**2.+theo_error_i**2.) * \ # np.sqrt(expsyst_error_j**2.+theo_error_j**2.) # cov_ij_all_fullycorr = tot_error_i * tot_error_j # # fraction_syst_over_tot = cov_ij_onlysyst_fullycorr/cov_ij_all_fullycorr # fraction_theo_over_tot = cov_ij_onlytheo_fullycorr/cov_ij_all_fullycorr # fraction_theo_over_syst = cov_ij_onlytheo_fullycorr/cov_ij_onlysyst_fullycorr # fraction_theo_over_totalsyst_i =0. # fraction_theo_over_totalsyst_j =0. # # if i != j: # fraction_theo_over_totalsyst_i = theo_error_i/(np.sqrt(theo_error_i**2+expsyst_error_i**2.)) # fraction_theo_over_totalsyst_j = theo_error_j/(np.sqrt(theo_error_j**2+expsyst_error_j**2.)) # else: # fraction_theo_over_totalsyst_i = theo_error_i/tot_error_i # fraction_theo_over_totalsyst_j = theo_error_j/tot_error_j # # print i,j, id_i, id_j, key_i, key_j, corr_data[i][j] # print fraction_theo_over_totalsyst_i, fraction_theo_over_totalsyst_j # print corr_data[i][j], fraction_syst_over_tot, fraction_theo_over_tot, fraction_theo_over_syst corrfileCMS.write(str(CMSid_i)+" "+str(CMSid_j)+" "+str(corr_data[i][j])+"\n") # corr_CMSATL_ij = fraction_theo_over_totalsyst_i*fraction_theo_over_totalsyst_j*corr_data[i][j] # corrfile.write(str(CMSid_i)+" "+str(ATLASid_j)+" "+str(corr_CMSATL_ij)+"\n") # corrfile.write(str(ATLASid_i)+" "+str(CMSid_j)+" "+str(corr_CMSATL_ij)+"\n") corrfileATLAS.write(str(ATLASid_i)+" "+str(ATLASid_j)+" "+str(corr_data[i][j])+"\n") \ No newline at end of file