Skip to content

Commit

Permalink
Merge pull request #46 from tegonzalo/main
Browse files Browse the repository at this point in the history
Last changes from my fork
  • Loading branch information
tegonzalo authored Apr 29, 2024
2 parents 60459b0 + 2822785 commit e2cb831
Showing 1 changed file with 47 additions and 47 deletions.
94 changes: 47 additions & 47 deletions src/Experiments.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -153,21 +153,19 @@ DM_Detector_Ionization_ER XENON100_S2_ER()

DM_Detector_Ionization_ER XENON1T_S2_ER()
{
// Source: arXiv:1907.11485
std::string target_name = "Xe";
double exposure = 80755.2 * kg * day;
std::vector<unsigned long int> observed_event_bins = {8, 7, 2, 1};
double muPE = 33.0;
double sigPE = 7.0;
std::vector<unsigned int> S2_bin_ranges = {150, 200, 250, 300, 350};
std::string trigger_efficiency = PROJECT_DIR "data/XENON1Te/XENON1T_TotalEfficiency.txt";

DM_Detector_Ionization_ER detector("XENON1T_S2", exposure, target_name);
detector.Use_PE_Bins(muPE, sigPE, S2_bin_ranges);
detector.Set_Observed_Events(observed_event_bins);
detector.Import_Trigger_Efficiency_PE(trigger_efficiency);

return detector;
// Source: arXiv:1907.11485
std::string target_name = "Xe";
double exposure = 0.7 * 21900 * kg * day;
unsigned int ne_threshold = 5;
std::vector<unsigned long int> observed_event_bins = {5, 5, 4, 2, 1, 0};
std::vector<double> efficiencies = {0., 2.59712/21.9, 9.76999/21.9, 13.5103/21.9, 15.5974/21.9, 16.9158/21.9};

DM_Detector_Ionization_ER detector("XENON1T_S2", exposure, target_name);
detector.Use_Electron_Bins(ne_threshold, 6);
detector.Set_Observed_Events(observed_event_bins);
detector.Set_Bin_Efficiencies(efficiencies);

return detector;
}

DM_Detector_Ionization_ER DarkSide50_S2_ER()
Expand All @@ -191,12 +189,14 @@ DM_Detector_Ionization_ER DarkSide50_S2_ER_2023()
std::string target_name = "Ar";
double exposure = 12306 * kg * day;
unsigned int ne_threshold = 4;
// Digitised from Figure 1 (x Ne x 0.25 x exposure)
std::vector<unsigned long int> observed_event_bins = {298, 372, 456, 488, 583, 775, 965, 1053, 1182, 1644, 1723, 1992, \
2408, 2397, 2735, 3139, 3366};
// Digitised from Figure 1 (rebinned to bins of size 1)
std::vector<unsigned long int> observed_event_bins = {284, 324, 292, 285, 287, 360};
std::vector<double> bkg_event_bins = {271.314, 284.115, 301.652, 318.913, 342.763, 369.199};

DM_Detector_Ionization_ER detector("DarkSide-50_S2_2023", exposure, target_name);
detector.Use_Electron_Bins(ne_threshold, 17);
detector.Use_Electron_Bins(ne_threshold, 6);
detector.Set_Observed_Events(observed_event_bins);
detector.Set_Expected_Background(bkg_event_bins);

return detector;
}
Expand All @@ -205,17 +205,16 @@ DM_Detector_Ionization_ER PandaX_4T_S2_ER()
{
// Source: arXiv:2308.01540
std::string target_name = "Xe";
double exposure = 550 * kg * year;
double exposure = 0.55 * tonne * year;
double flat_efficiency = 0.14;
std::vector<unsigned long int> observed_event_bins = {34, 14, 13, 7, 11, 12, 14};
std::vector<double> bkg_event_bins = {57.5609, 25.1404, 23.1201, 20.1953, 17.5385, 16.9677, 13.702};

// Here we assume that the PE response matches indentically to number of electrons
double ne_threshold = 4;

DM_Detector_Ionization_ER detector("PandaX-4T_S2", exposure, target_name);
detector.Use_Electron_Bins(ne_threshold, 7);
detector.Set_Flat_Efficiency(flat_efficiency);
detector.Set_Observed_Events(observed_event_bins);
detector.Set_Expected_Background(bkg_event_bins);

return detector;
}
Expand Down Expand Up @@ -384,21 +383,19 @@ DM_Detector_Ionization_Migdal XENON100_S2_Migdal()

DM_Detector_Ionization_Migdal XENON1T_S2_Migdal()
{
// Source: arXiv:1907.11485, arXiv:1907.12771
std::string target_name = "Xe";
double exposure = 80755.2 * kg * day;
std::vector<unsigned long int> observed_event_bins = {8, 7, 2, 1};
double muPE = 33.0;
double sigPE = 7.0;
std::vector<unsigned int> S2_bin_ranges = {150, 200, 250, 300, 350};
std::string trigger_efficiency = PROJECT_DIR "data/XENON1Te/XENON1T_TotalEfficiency.txt";

DM_Detector_Ionization_Migdal detector("XENON1T_S2", exposure, target_name);
detector.Use_PE_Bins(muPE, sigPE, S2_bin_ranges);
detector.Set_Observed_Events(observed_event_bins);
detector.Import_Trigger_Efficiency_PE(trigger_efficiency);

return detector;
// Source: arXiv:1907.11485, arXiv:1907.12771
std::string target_name = "Xe";
double exposure = 0.7 * 21900 * kg * day;
unsigned int ne_threshold = 5;
std::vector<unsigned long int> observed_event_bins = {5, 5, 4, 2, 1, 0};
std::vector<double> efficiencies = {0., 2.59712/21.9, 9.76999/21.9, 13.5103/21.9, 15.5974/21.9, 16.9158/21.9};

DM_Detector_Ionization_Migdal detector("XENON1T_S2", exposure, target_name);
detector.Use_Electron_Bins(ne_threshold, 6);
detector.Set_Observed_Events(observed_event_bins);
detector.Set_Bin_Efficiencies(efficiencies);

return detector;
}

DM_Detector_Ionization_Migdal DarkSide50_S2_Migdal()
Expand All @@ -420,13 +417,17 @@ DM_Detector_Ionization_Migdal DarkSide50_S2_Migdal()
DM_Detector_Ionization_Migdal DarkSide50_S2_Migdal_2023()
{
// Source: arXiv:2207.11967
std::string target_name = "Ar";
double exposure = 6786.0 * kg * day;
unsigned int ne_threshold = 4;
std::vector<unsigned long int> observed_event_bins = {74, 74, 76, 70, 73, 86, 96, 96, 99, 126, 123, 133, 151, 141, 152, 165, 168};
std::string target_name = "Ar";
double exposure = 12306 * kg * day;
unsigned int ne_threshold = 4;
// Digitised from Figure 1 (rebinned to bins of size 1)
std::vector<unsigned long int> observed_event_bins = {284, 324, 292, 285, 287, 360};
std::vector<double> bkg_event_bins = {271.314, 284.115, 301.652, 318.913, 342.763, 369.199};

DM_Detector_Ionization_Migdal detector("DarkSide-50_S2_2023", exposure, target_name);
detector.Use_Electron_Bins(ne_threshold, 17);
detector.Use_Electron_Bins(ne_threshold, 6);
detector.Set_Observed_Events(observed_event_bins);
detector.Set_Expected_Background(bkg_event_bins);

return detector;
}
Expand All @@ -435,17 +436,16 @@ DM_Detector_Ionization_Migdal PandaX_4T_S2_Migdal()
{
// Source: arXiv:2308.01540
std::string target_name = "Xe";
double exposure = 550 * kg * year;
double exposure = 0.55 * tonne * year;
double flat_efficiency = 0.14;
std::vector<unsigned long int> observed_event_bins = {34, 14, 13, 7, 11, 12, 14};
std::vector<double> bkg_event_bins = {57.5609, 25.1404, 23.1201, 20.1953, 17.5385, 16.9677, 13.702};

// Here we assume that the PE response matches indentically to number of electrons
double ne_threshold = 4;

DM_Detector_Ionization_Migdal detector("PandaX-4T_S2", exposure, target_name);
detector.Use_Electron_Bins(ne_threshold, 7);
detector.Set_Flat_Efficiency(flat_efficiency);
detector.Set_Observed_Events(observed_event_bins);
detector.Set_Expected_Background(bkg_event_bins);

return detector;
}
Expand Down

0 comments on commit e2cb831

Please sign in to comment.