Beispiel #1
0
        private double[] CalculateFullSuppressionFactors(
            BottomiumVector qgpSuppressionFactors
            )
        {
            BottomiumCascade cascade = new BottomiumCascade(DimuonDecaysFrompp);

            BottomiumVector ppDimuonDecays = cascade.GetNormalizedProtonProtonDimuonDecays();
            double          ppResult1S     = ppDimuonDecays[BottomiumState.Y1S];
            double          ppResult2S     = ppDimuonDecays[BottomiumState.Y2S];
            double          ppResult3S     = ppDimuonDecays[BottomiumState.Y3S];

            BottomiumVector heavyIonDimuonDecays
                = cascade.CalculateDimuonDecays(qgpSuppressionFactors);
            double heavyIonResult1S = heavyIonDimuonDecays[BottomiumState.Y1S];
            double heavyIonResult2S = heavyIonDimuonDecays[BottomiumState.Y2S];
            double heavyIonResult3S = heavyIonDimuonDecays[BottomiumState.Y3S];

            return(new double[] {
                heavyIonResult1S / ppResult1S,
                heavyIonResult2S / ppResult2S,
                heavyIonResult3S / ppResult3S,
                (heavyIonResult2S / heavyIonResult1S) / (ppResult2S / ppResult1S),
                (heavyIonResult3S / heavyIonResult1S) / (ppResult3S / ppResult1S)
            });
        }
Beispiel #2
0
        private static void AssertCorrectProtonProtonDimuonDecays(
            BottomiumVector ppDimuonDecays
            )
        {
            BottomiumVector expected = BottomiumCascade.GetNormalizedProtonProtonDimuonDecays();

            foreach (BottomiumState state in Enum.GetValues(typeof(BottomiumState)))
            {
                AssertHelper.AssertApproximatelyEqual(expected[state], ppDimuonDecays[state]);
            }
        }
Beispiel #3
0
 private static void AssertCorrectY1SFeedDownFractions(
     BottomiumVector feedDownFractions
     )
 {
     AssertHelper.AssertApproximatelyEqual(0.34302571070019483, feedDownFractions[BottomiumState.Y1S]);
     AssertHelper.AssertApproximatelyEqual(0.271, feedDownFractions[BottomiumState.x1P]);
     AssertHelper.AssertApproximatelyEqual(0.19033036269430051, feedDownFractions[BottomiumState.Y2S]);
     AssertHelper.AssertApproximatelyEqual(0.105, feedDownFractions[BottomiumState.x2P]);
     AssertHelper.AssertApproximatelyEqual(0.030643926605504589, feedDownFractions[BottomiumState.Y3S]);
     AssertHelper.AssertApproximatelyEqual(0.06, feedDownFractions[BottomiumState.x3P]);
 }
Beispiel #4
0
 private static void AssertCorrectInitialQQPopulations(
     BottomiumVector initialQQPopulations
     )
 {
     AssertHelper.AssertApproximatelyEqual(13.831681883072372, initialQQPopulations[BottomiumState.Y1S]);
     AssertHelper.AssertApproximatelyEqual(43.694709398023143, initialQQPopulations[BottomiumState.x1P]);
     AssertHelper.AssertApproximatelyEqual(17.730737923019692, initialQQPopulations[BottomiumState.Y2S]);
     AssertHelper.AssertApproximatelyEqual(45.626563577477185, initialQQPopulations[BottomiumState.x2P]);
     AssertHelper.AssertApproximatelyEqual(10.893164282464252, initialQQPopulations[BottomiumState.Y3S]);
     AssertHelper.AssertApproximatelyEqual(7.6588791939455159E+99, initialQQPopulations[BottomiumState.x3P]);
 }
Beispiel #5
0
        public void FeedDownCascadeReproducesProtonProtonDimuonDecays()
        {
            BottomiumVector qgpSuppressionFactors = new BottomiumVector();

            foreach (BottomiumState state in Enum.GetValues(typeof(BottomiumState)))
            {
                qgpSuppressionFactors[state] = 1;
            }

            BottomiumVector ppDimuonDecays
                = BottomiumCascade.CalculateDimuonDecays(qgpSuppressionFactors);

            AssertCorrectProtonProtonDimuonDecays(ppDimuonDecays);
        }
Beispiel #6
0
        public void CalculateY1SFeedDownFractions()
        {
            BottomiumVector feedDownFractions = BottomiumCascade.CalculateY1SFeedDownFractions();

            AssertCorrectY1SFeedDownFractions(feedDownFractions);
        }
Beispiel #7
0
        public void CalculateInitialQQPopulations()
        {
            BottomiumVector initialQQPopulations = BottomiumCascade.CalculateInitialQQPopulations();

            AssertCorrectInitialQQPopulations(initialQQPopulations);
        }