From 77f6eefe902b9ddb5486c82a5a74cd646e4fc542 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 22 May 2024 08:49:29 +0200 Subject: [PATCH 01/64] Renaming example directories --- examples/{full-ray-tracing => 01.full-ray-tracing}/helioscope.rml | 0 examples/{full-ray-tracing => 01.full-ray-tracing}/summary.rml | 0 examples/{optics => 02.optics}/opticsBench.rml | 0 examples/{optics => 02.optics}/opticsBenchTrueW1.rml | 0 examples/{optics => 02.optics}/opticsPlots.rml | 0 examples/{optics => 02.optics}/opticsPlotsAllTransm.rml | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename examples/{full-ray-tracing => 01.full-ray-tracing}/helioscope.rml (100%) rename examples/{full-ray-tracing => 01.full-ray-tracing}/summary.rml (100%) rename examples/{optics => 02.optics}/opticsBench.rml (100%) rename examples/{optics => 02.optics}/opticsBenchTrueW1.rml (100%) rename examples/{optics => 02.optics}/opticsPlots.rml (100%) rename examples/{optics => 02.optics}/opticsPlotsAllTransm.rml (100%) diff --git a/examples/full-ray-tracing/helioscope.rml b/examples/01.full-ray-tracing/helioscope.rml similarity index 100% rename from examples/full-ray-tracing/helioscope.rml rename to examples/01.full-ray-tracing/helioscope.rml diff --git a/examples/full-ray-tracing/summary.rml b/examples/01.full-ray-tracing/summary.rml similarity index 100% rename from examples/full-ray-tracing/summary.rml rename to examples/01.full-ray-tracing/summary.rml diff --git a/examples/optics/opticsBench.rml b/examples/02.optics/opticsBench.rml similarity index 100% rename from examples/optics/opticsBench.rml rename to examples/02.optics/opticsBench.rml diff --git a/examples/optics/opticsBenchTrueW1.rml b/examples/02.optics/opticsBenchTrueW1.rml similarity index 100% rename from examples/optics/opticsBenchTrueW1.rml rename to examples/02.optics/opticsBenchTrueW1.rml diff --git a/examples/optics/opticsPlots.rml b/examples/02.optics/opticsPlots.rml similarity index 100% rename from examples/optics/opticsPlots.rml rename to examples/02.optics/opticsPlots.rml diff --git a/examples/optics/opticsPlotsAllTransm.rml b/examples/02.optics/opticsPlotsAllTransm.rml similarity index 100% rename from examples/optics/opticsPlotsAllTransm.rml rename to examples/02.optics/opticsPlotsAllTransm.rml From c4346c0bc93554bc84c40640d61586c1515bd11a Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 22 May 2024 08:51:06 +0200 Subject: [PATCH 02/64] TRestAxionSolarFlux::GetFluxAtEnergy method added --- inc/TRestAxionSolarFlux.h | 2 ++ src/TRestAxionSolarFlux.cxx | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/inc/TRestAxionSolarFlux.h b/inc/TRestAxionSolarFlux.h index 73bcc00d..c5dea225 100644 --- a/inc/TRestAxionSolarFlux.h +++ b/inc/TRestAxionSolarFlux.h @@ -74,6 +74,8 @@ class TRestAxionSolarFlux : public TRestMetadata { /// It returns an energy integrated spectrum in cm-2 s-1 keV-1 virtual TH1F* GetEnergySpectrum(Double_t m = 0) = 0; + Double_t GetFluxAtEnergy( Double_t energy, Double_t m = 0 ); + virtual TCanvas* DrawSolarFlux(); virtual void ExportTables(Bool_t ascii = false) { diff --git a/src/TRestAxionSolarFlux.cxx b/src/TRestAxionSolarFlux.cxx index a2e0ccd6..34df5acd 100644 --- a/src/TRestAxionSolarFlux.cxx +++ b/src/TRestAxionSolarFlux.cxx @@ -186,6 +186,15 @@ TCanvas* TRestAxionSolarFlux::DrawFluxFile(string fname, Double_t binSize) { return fCanvas; } +/////////////////////////////////////////////// +/// \brief It returns a flux in cm-2 s-1 keV-1 at the energy given by argument +/// +Double_t TRestAxionSolarFlux::GetFluxAtEnergy( Double_t energy, Double_t m ) +{ + TH1F* h = GetEnergySpectrum(m); + return h->GetBinContent( h->FindBin(energy) ); +} + /////////////////////////////////////////////// /// \brief It draws the contents of a .flux file. This method just receives the /// From fdb04ab1b811779edc373621abfae0290cf41080 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 22 May 2024 08:51:43 +0200 Subject: [PATCH 03/64] TRestAxionMagneticField fixing compilation warning --- src/TRestAxionMagneticField.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TRestAxionMagneticField.cxx b/src/TRestAxionMagneticField.cxx index 4f15d0f4..f16fc252 100644 --- a/src/TRestAxionMagneticField.cxx +++ b/src/TRestAxionMagneticField.cxx @@ -759,7 +759,7 @@ TCanvas* TRestAxionMagneticField::DrawTracks(TVector3 vanishingPoint, Int_t divi position = MoveToPlane(position, direction, TVector3(0, 0, 1), TVector3(0, 0, finalPositionZ)); gr->SetPoint(1, finalPositionZ, position.Y()); - gr->SetLineWidth(1.5); + gr->SetLineWidth(2); gr->Draw("L"); grB->SetLineColor(38 + n); n++; From b96cb168e772eb3c4a1e80053c11192edbb8cfbe Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 22 May 2024 21:28:05 +0200 Subject: [PATCH 04/64] TRestAxionBufferGas. Removing clearing from initialization --- inc/TRestAxionBufferGas.h | 1 + src/TRestAxionBufferGas.cxx | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/inc/TRestAxionBufferGas.h b/inc/TRestAxionBufferGas.h index 54df656c..e300783f 100644 --- a/inc/TRestAxionBufferGas.h +++ b/inc/TRestAxionBufferGas.h @@ -29,6 +29,7 @@ class TRestAxionBufferGas : public TRestMetadata { private: void Initialize(); + void Clear(); void InitFromConfigFile(); diff --git a/src/TRestAxionBufferGas.cxx b/src/TRestAxionBufferGas.cxx index 23acf354..825140c3 100644 --- a/src/TRestAxionBufferGas.cxx +++ b/src/TRestAxionBufferGas.cxx @@ -133,6 +133,10 @@ void TRestAxionBufferGas::Initialize() { SetSectionName(this->ClassName()); SetLibraryVersion(LIBRARY_VERSION); +} + +void TRestAxionBufferGas::Clear() +{ fBufferGasName.clear(); fBufferGasDensity.clear(); From 0b4b67f8c2ea69516c75e9925b0c6467a8dfe037 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 08:45:12 +0200 Subject: [PATCH 05/64] TRestAxionHelioscopeSignal class added --- inc/TRestAxionHelioscopeSignal.h | 94 +++++++++ src/TRestAxionHelioscopeSignal.cxx | 301 +++++++++++++++++++++++++++++ 2 files changed, 395 insertions(+) create mode 100644 inc/TRestAxionHelioscopeSignal.h create mode 100644 src/TRestAxionHelioscopeSignal.cxx diff --git a/inc/TRestAxionHelioscopeSignal.h b/inc/TRestAxionHelioscopeSignal.h new file mode 100644 index 00000000..fa6d0519 --- /dev/null +++ b/inc/TRestAxionHelioscopeSignal.h @@ -0,0 +1,94 @@ +/************************************************************************* + * This file is part of the REST software framework. * + * * + * Copyright (C) 2016 GIFNA/TREX (University of Zaragoza) * + * For more information see https://gifna.unizar.es/trex * + * * + * REST is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * REST is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have a copy of the GNU General Public License along with * + * REST in $REST_PATH/LICENSE. * + * If not, see https://www.gnu.org/licenses/. * + * For the list of contributors see $REST_PATH/CREDITS. * + *************************************************************************/ + +#ifndef REST_TRestAxionHelioscopeSignal +#define REST_TRestAxionHelioscopeSignal + +#include "TRestComponent.h" +#include +#include +#include + +/// It allows to build a signal model using a given helioscope configuration and solar axion flux component +class TRestAxionHelioscopeSignal : public TRestComponent { + private: + /// It defines the helioscope type (IAXO/AMELIE) + std::string fConversionType = "IAXO"; + + /// It defines the number of bores or TPCs (number of magnetic volumes) + Int_t fBores = 2; + + /// It defines the magnet aperture radius in standard REST units (mm) + Double_t fMagnetRadius = 350; + + /// It defines the magnet length in standard REST units (mm) + Double_t fMagnetLength = 10000; + + /// It defines the magnetic field strength in T + Double_t fMagnetStrength = 2; + + /// If optics is present we may add an efficiency for Ngamma calculation + Double_t fOpticsEfficiency = 1; + + /// If an x-ray window is present we may add an efficiency for Ngamma calculation + Double_t fWindowEfficiency = 1; + + /// It defines the gas mixture we use inside our magnetic field. Vacuum if it is nullptr + TRestAxionBufferGas *fGas = nullptr; + + /// It defines the solar flux we use inside our magnetic field. Must be defined. + TRestAxionSolarFlux *fFlux = nullptr; + + /// It provides access to axion-photon conversion probabilites calculations + TRestAxionField *fField = nullptr; + + + protected: + void InitFromConfigFile() override; + + void FillHistograms() override; + + public: + Double_t GetSignalRate(std::vector point, Double_t mass = 0); + + void PrintMetadata() override; + + void SetNumberOfBores( const Int_t &bores ) { fBores = bores; } + void SetMagnetRadius( const Double_t &radius ) { fMagnetRadius = radius; } + void SetMagnetLength( const Double_t &length ) { fMagnetLength = length; } + void SetMagnetStrength( const Double_t &strength ) { fMagnetStrength = strength; } + void SetType( const std::string &type ) { fConversionType = type; } + + Int_t GetNumberOfBores() const { return fBores; } + Double_t GetMagnetRadius() const { return fMagnetRadius; } + Double_t GetMagnetLength() const { return fMagnetLength; } + Double_t GetMagnetStrength() const { return fMagnetStrength; } + std::string GetType() const { return fConversionType; } + + void Initialize() override; + TRestAxionHelioscopeSignal(const char* cfgFileName, const std::string& name); + TRestAxionHelioscopeSignal(); + ~TRestAxionHelioscopeSignal(); + + ClassDefOverride(TRestAxionHelioscopeSignal, 1); +}; +#endif diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx new file mode 100644 index 00000000..b3a080ae --- /dev/null +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -0,0 +1,301 @@ +/************************************************************************* + * This file is part of the REST software framework. * + * * + * Copyright (C) 2016 GIFNA/TREX (University of Zaragoza) * + * For more information see https://gifna.unizar.es/trex * + * * + * REST is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * REST is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have a copy of the GNU General Public License along with * + * REST in $REST_PATH/LICENSE. * + * If not, see https://www.gnu.org/licenses/. * + * For the list of contributors see $REST_PATH/CREDITS. * + *************************************************************************/ + +///////////////////////////////////////////////////////////////////////// +/// This class describes an axion helioscope signal using different +/// aproximations, calculating an expected rate as a function of energy +/// (independent of position). +/// +/// \code +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// \endcode +/// +///---------------------------------------------------------------------- +/// +/// REST-for-Physics - Software for Rare Event Searches Toolkit +/// +/// History of developments: +/// +/// 2023-December: First implementation of TRestAxionHelioscopeSignal +/// Javier Galan +/// +/// \class TRestAxionHelioscopeSignal +/// \author: Javier Galan (javier.galan.lacarra@cern.ch) +/// +///
+/// +#include "TRestAxionHelioscopeSignal.h" + +#include + +#include "TKey.h" + +ClassImp(TRestAxionHelioscopeSignal); + +/////////////////////////////////////////////// +/// \brief Default constructor +/// +TRestAxionHelioscopeSignal::TRestAxionHelioscopeSignal() { Initialize(); } + +///////////////////////////////////////////// +/// \brief Constructor loading data from a config file +/// +/// If no configuration path is defined using TRestMetadata::SetConfigFilePath +/// the path to the config file must be specified using full path, absolute or +/// relative. +/// +/// The default behaviour is that the config file must be specified with +/// full path, absolute or relative. +/// +/// \param cfgFileName A const char* giving the path to an RML file. +/// \param name The name of the specific metadata. It will be used to find the +/// corresponding TRestAxionMagneticField section inside the RML. +/// +TRestAxionHelioscopeSignal::TRestAxionHelioscopeSignal(const char* cfgFileName, const std::string& name) + : TRestComponent(cfgFileName) { + Initialize(); + + LoadConfigFromFile(fConfigFileName, name); + + if (GetVerboseLevel() >= TRestStringOutput::REST_Verbose_Level::REST_Info) PrintMetadata(); + +} + +/////////////////////////////////////////////// +/// \brief Default destructor +/// +TRestAxionHelioscopeSignal::~TRestAxionHelioscopeSignal() { + if( fField ) delete fField; +} + +/////////////////////////////////////////////// +/// \brief It will initialize the data frame with the filelist and column names +/// (or observables) that have been defined by the user. +/// +void TRestAxionHelioscopeSignal::Initialize() { + TRestComponent::Initialize(); + + SetSectionName(this->ClassName()); + + if( fField == nullptr ) + fField = new TRestAxionField(); + + FillHistograms(); +} + +/////////////////////////////////////////////// +/// \brief It returns the intensity/rate (in seconds) corresponding to the +/// formula evaluated at the position of the parameter space given by point +/// and integrated to the parameter space cell volume. +/// +/// The size of the point vector must have the same dimension as the dimensions +/// of the variables of the distribution. +/// +Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, Double_t mass) { + + if (GetDimensions() != point.size()) { + RESTError << "Point should have same dimensions as number of variables!" << RESTendl; + return 0; + } + + if( GetDimensions() != 1 ) + { + RESTError << "Point should have only 1-dimension! Energy" << RESTendl; + return 0; + } + + Double_t flux = fFlux->GetFluxAtEnergy( point[0], mass ); // cm-2 s-1 keV-1 + + Double_t probability = 0; + if( fConversionType == "IAXO" ) + { + probability = fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability( mass ); + + // We assume all flux ends up inside the spot. No XY dependency of signal. + Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); + + flux *= fBores * apertureArea; + } + + Double_t signal = flux * probability; + + Double_t normFactor = 1; + /// There should be only 1-dimension. Rate is integrated to the particular bin size. + for (size_t n = 0; n < GetDimensions(); n++) { + normFactor *= (fRanges[n].Y() - fRanges[n].X()) / fNbins[n]; + } + + return normFactor * signal; // s-1 +} + +///////////////////////////////////////////// +/// \brief It will produce a histogram with the distribution using the formula +/// contributions. +/// +/// TODO: The histogram is filled just by evaluating the formula, but it would +/// be more realistic that we fill the histograms with a number N of entries +/// that mimic a MC generation scheme similar to TRestComponentDataSet. +/// +void TRestAxionHelioscopeSignal::FillHistograms() { + if ( !HasNodes() ) return; + fNodeDensity.clear(); + + RESTInfo << "Generating N-dim histogram for " << GetName() << RESTendl; + + int nIndex = 0; + for( const auto &node : fParameterizationNodes ) + { + TString hName = fParameter + "_" + DoubleToString(node); + + Int_t* bins = new Int_t[fNbins.size()]; + Double_t* xlow = new Double_t[fNbins.size()]; + Double_t* xhigh = new Double_t[fNbins.size()]; + + for (size_t n = 0; n < fNbins.size(); n++) { + bins[n] = fNbins[n]; + xlow[n] = fRanges[n].X(); + xhigh[n] = fRanges[n].Y(); + } + + THnD* hNd = new THnD(hName, hName, fNbins.size(), bins, xlow, xhigh); + + // Calculate the bin width in each dimension + std::vector binWidths; + for (size_t i = 0; i < fNbins.size(); ++i) { + double width = static_cast(xhigh[i] - xlow[i]) / bins[i]; + binWidths.push_back(width); + } + + // Nested loop to iterate over each bin and print its center + std::vector binIndices(fNbins.size(), 0); // Initialize bin indices to 0 in each dimension + + bool carry = false; + while (!carry) { + // Calculate the center of the current bin in each dimension + std::vector binCenter; + for (size_t i = 0; i < fNbins.size(); ++i) + binCenter.push_back(xlow[i] + (binIndices[i] + 0.5) * binWidths[i]); + + hNd->Fill(binCenter.data(), GetSignalRate(binCenter)); + + // Update bin indices for the next iteration + carry = true; + for (size_t i = 0; i < fNbins.size(); ++i) { + binIndices[i]++; + if (binIndices[i] < bins[i]) { + carry = false; + break; + } + binIndices[i] = 0; + } + } + + fNodeDensity.push_back(hNd); + fActiveNode = nIndex; + nIndex++; + } +} + +///////////////////////////////////////////// +/// \brief Prints on screen the information about the metadata members of TRestAxionSolarFlux +/// +void TRestAxionHelioscopeSignal::PrintMetadata() { + TRestComponent::PrintMetadata(); + + RESTMetadata << "Magnet bores : " << fBores << RESTendl; + RESTMetadata << "Magnet radius : " << fMagnetRadius * units("cm") << " cm" << RESTendl; + RESTMetadata << "Magnet length : " << fMagnetLength * units("m") << " m" << RESTendl; + RESTMetadata << "Magnet field : " << fMagnetStrength * units("T") << " T" << RESTendl; + RESTMetadata << " " << RESTendl; + + RESTMetadata << "Optics efficiency : " << fOpticsEfficiency << RESTendl; + RESTMetadata << "Window efficiency : " << fWindowEfficiency << RESTendl; + + RESTMetadata << "----" << RESTendl; +} + +///////////////////////////////////////////// +/// \brief It customizes the retrieval of XML data values of this class +/// +void TRestAxionHelioscopeSignal::InitFromConfigFile() { + TRestComponent::InitFromConfigFile(); + + if( fVariables.size() != 1 ) + { + RESTError << "TRestAxionHelioscopeSignal::InitFromConfigFile." + << " Signal should be build with just 1-variable. Energy." << RESTendl; + } + else if( fVariables[0] != "energy" ) + { + RESTError << "The first variable should be energy. We recommend to name that variable as \"energy\"." << RESTendl; + RESTError << "Please, double-check the variables definition inside TRestAxionHelioscopeSignal::TRestComponent." << RESTendl; + } + + if (fFlux) { + delete fFlux; + fFlux = nullptr; + } + fFlux = (TRestAxionSolarFlux*) this->InstantiateChildMetadata("TRestAxionSolarQCDFlux"); + fFlux->Initialize(); + + if (fGas) { + delete fGas; + fGas = nullptr; + } + fGas = (TRestAxionBufferGas*) this->InstantiateChildMetadata("TRestAxionBufferGas"); + + if( fField == nullptr ) + fField = new TRestAxionField(); + + fField->SetMagneticField(GetMagnetStrength()); + fField->SetCoherenceLength(GetMagnetLength()); + fField->AssignBufferGas( fGas ); +} From 5eb885d2fa8f4e79d43b3f849e432ba7195f2af8 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 09:10:43 +0200 Subject: [PATCH 06/64] TRestAxionSolarFlux. fTablesLoaded is now protected --- inc/TRestAxionSolarFlux.h | 2 +- src/TRestAxionSolarFlux.cxx | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/inc/TRestAxionSolarFlux.h b/inc/TRestAxionSolarFlux.h index c5dea225..551a238d 100644 --- a/inc/TRestAxionSolarFlux.h +++ b/inc/TRestAxionSolarFlux.h @@ -41,10 +41,10 @@ class TRestAxionSolarFlux : public TRestMetadata { /// Seed used in random generator Int_t fSeed = 0; //< + protected: /// A metadata member to control if this class has been initialized Bool_t fTablesLoaded = false; //! - protected: /// A canvas pointer for drawing TCanvas* fCanvas = nullptr; //! diff --git a/src/TRestAxionSolarFlux.cxx b/src/TRestAxionSolarFlux.cxx index 34df5acd..c9f5f903 100644 --- a/src/TRestAxionSolarFlux.cxx +++ b/src/TRestAxionSolarFlux.cxx @@ -122,9 +122,6 @@ TRestAxionSolarFlux::~TRestAxionSolarFlux() {} void TRestAxionSolarFlux::Initialize() { SetLibraryVersion(LIBRARY_VERSION); - fTablesLoaded = false; - if (LoadTables()) fTablesLoaded = true; - if (!fRandom) { delete fRandom; fRandom = nullptr; From 1ecdb9caa56a383d0be470afbe770844c179c6da Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 09:11:19 +0200 Subject: [PATCH 07/64] TRestAxionSolarQCDFlux::LoadTables. Assuring single execution --- src/TRestAxionSolarQCDFlux.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/TRestAxionSolarQCDFlux.cxx b/src/TRestAxionSolarQCDFlux.cxx index 5cdd2d46..6e56ec0e 100644 --- a/src/TRestAxionSolarQCDFlux.cxx +++ b/src/TRestAxionSolarQCDFlux.cxx @@ -252,6 +252,8 @@ TRestAxionSolarQCDFlux::~TRestAxionSolarQCDFlux() {} Bool_t TRestAxionSolarQCDFlux::LoadTables() { if (fFluxDataFile == "" && fFluxSptFile == "") return false; + if( fTablesLoaded ) return true; + if (TRestTools::GetFileNameExtension(fFluxDataFile) == "flux") { ReadFluxFile(); } else { @@ -261,6 +263,8 @@ Bool_t TRestAxionSolarQCDFlux::LoadTables() { IntegrateSolarFluxes(); + fTablesLoaded = true; + return true; } From e77dc9848ca6bd1811c8c4ec197faecfe3c8d30e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 23 May 2024 08:37:36 +0000 Subject: [PATCH 08/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- inc/TRestAxionBufferGas.h | 2 +- inc/TRestAxionHelioscopeSignal.h | 84 ++++++------ inc/TRestAxionSolarFlux.h | 2 +- src/TRestAxionBufferGas.cxx | 4 +- src/TRestAxionHelioscopeSignal.cxx | 200 ++++++++++++++--------------- src/TRestAxionSolarFlux.cxx | 5 +- src/TRestAxionSolarQCDFlux.cxx | 2 +- 7 files changed, 145 insertions(+), 154 deletions(-) diff --git a/inc/TRestAxionBufferGas.h b/inc/TRestAxionBufferGas.h index e300783f..eb8cae54 100644 --- a/inc/TRestAxionBufferGas.h +++ b/inc/TRestAxionBufferGas.h @@ -29,7 +29,7 @@ class TRestAxionBufferGas : public TRestMetadata { private: void Initialize(); - void Clear(); + void Clear(); void InitFromConfigFile(); diff --git a/inc/TRestAxionHelioscopeSignal.h b/inc/TRestAxionHelioscopeSignal.h index fa6d0519..c20e21fb 100644 --- a/inc/TRestAxionHelioscopeSignal.h +++ b/inc/TRestAxionHelioscopeSignal.h @@ -23,44 +23,44 @@ #ifndef REST_TRestAxionHelioscopeSignal #define REST_TRestAxionHelioscopeSignal -#include "TRestComponent.h" -#include #include +#include #include +#include "TRestComponent.h" + /// It allows to build a signal model using a given helioscope configuration and solar axion flux component class TRestAxionHelioscopeSignal : public TRestComponent { private: - /// It defines the helioscope type (IAXO/AMELIE) - std::string fConversionType = "IAXO"; - - /// It defines the number of bores or TPCs (number of magnetic volumes) - Int_t fBores = 2; - - /// It defines the magnet aperture radius in standard REST units (mm) - Double_t fMagnetRadius = 350; - - /// It defines the magnet length in standard REST units (mm) - Double_t fMagnetLength = 10000; - - /// It defines the magnetic field strength in T - Double_t fMagnetStrength = 2; - - /// If optics is present we may add an efficiency for Ngamma calculation - Double_t fOpticsEfficiency = 1; - - /// If an x-ray window is present we may add an efficiency for Ngamma calculation - Double_t fWindowEfficiency = 1; - - /// It defines the gas mixture we use inside our magnetic field. Vacuum if it is nullptr - TRestAxionBufferGas *fGas = nullptr; - - /// It defines the solar flux we use inside our magnetic field. Must be defined. - TRestAxionSolarFlux *fFlux = nullptr; - - /// It provides access to axion-photon conversion probabilites calculations - TRestAxionField *fField = nullptr; + /// It defines the helioscope type (IAXO/AMELIE) + std::string fConversionType = "IAXO"; + + /// It defines the number of bores or TPCs (number of magnetic volumes) + Int_t fBores = 2; + + /// It defines the magnet aperture radius in standard REST units (mm) + Double_t fMagnetRadius = 350; + + /// It defines the magnet length in standard REST units (mm) + Double_t fMagnetLength = 10000; + + /// It defines the magnetic field strength in T + Double_t fMagnetStrength = 2; + + /// If optics is present we may add an efficiency for Ngamma calculation + Double_t fOpticsEfficiency = 1; + + /// If an x-ray window is present we may add an efficiency for Ngamma calculation + Double_t fWindowEfficiency = 1; + + /// It defines the gas mixture we use inside our magnetic field. Vacuum if it is nullptr + TRestAxionBufferGas* fGas = nullptr; + + /// It defines the solar flux we use inside our magnetic field. Must be defined. + TRestAxionSolarFlux* fFlux = nullptr; + /// It provides access to axion-photon conversion probabilites calculations + TRestAxionField* fField = nullptr; protected: void InitFromConfigFile() override; @@ -72,17 +72,17 @@ class TRestAxionHelioscopeSignal : public TRestComponent { void PrintMetadata() override; - void SetNumberOfBores( const Int_t &bores ) { fBores = bores; } - void SetMagnetRadius( const Double_t &radius ) { fMagnetRadius = radius; } - void SetMagnetLength( const Double_t &length ) { fMagnetLength = length; } - void SetMagnetStrength( const Double_t &strength ) { fMagnetStrength = strength; } - void SetType( const std::string &type ) { fConversionType = type; } - - Int_t GetNumberOfBores() const { return fBores; } - Double_t GetMagnetRadius() const { return fMagnetRadius; } - Double_t GetMagnetLength() const { return fMagnetLength; } - Double_t GetMagnetStrength() const { return fMagnetStrength; } - std::string GetType() const { return fConversionType; } + void SetNumberOfBores(const Int_t& bores) { fBores = bores; } + void SetMagnetRadius(const Double_t& radius) { fMagnetRadius = radius; } + void SetMagnetLength(const Double_t& length) { fMagnetLength = length; } + void SetMagnetStrength(const Double_t& strength) { fMagnetStrength = strength; } + void SetType(const std::string& type) { fConversionType = type; } + + Int_t GetNumberOfBores() const { return fBores; } + Double_t GetMagnetRadius() const { return fMagnetRadius; } + Double_t GetMagnetLength() const { return fMagnetLength; } + Double_t GetMagnetStrength() const { return fMagnetStrength; } + std::string GetType() const { return fConversionType; } void Initialize() override; TRestAxionHelioscopeSignal(const char* cfgFileName, const std::string& name); diff --git a/inc/TRestAxionSolarFlux.h b/inc/TRestAxionSolarFlux.h index 551a238d..eb15c3af 100644 --- a/inc/TRestAxionSolarFlux.h +++ b/inc/TRestAxionSolarFlux.h @@ -74,7 +74,7 @@ class TRestAxionSolarFlux : public TRestMetadata { /// It returns an energy integrated spectrum in cm-2 s-1 keV-1 virtual TH1F* GetEnergySpectrum(Double_t m = 0) = 0; - Double_t GetFluxAtEnergy( Double_t energy, Double_t m = 0 ); + Double_t GetFluxAtEnergy(Double_t energy, Double_t m = 0); virtual TCanvas* DrawSolarFlux(); diff --git a/src/TRestAxionBufferGas.cxx b/src/TRestAxionBufferGas.cxx index 825140c3..0642ffb9 100644 --- a/src/TRestAxionBufferGas.cxx +++ b/src/TRestAxionBufferGas.cxx @@ -132,11 +132,9 @@ TRestAxionBufferGas::~TRestAxionBufferGas() {} void TRestAxionBufferGas::Initialize() { SetSectionName(this->ClassName()); SetLibraryVersion(LIBRARY_VERSION); - } -void TRestAxionBufferGas::Clear() -{ +void TRestAxionBufferGas::Clear() { fBufferGasName.clear(); fBufferGasDensity.clear(); diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index b3a080ae..d36b669a 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -21,15 +21,15 @@ *************************************************************************/ ///////////////////////////////////////////////////////////////////////// -/// This class describes an axion helioscope signal using different +/// This class describes an axion helioscope signal using different /// aproximations, calculating an expected rate as a function of energy /// (independent of position). /// /// \code /// +/// conversionType="IAXO" bores="2" +/// magnetRadius="35cm" magnetLength="10m" +///magnetStrength="2T" opticsEfficiency="0.3" windowEfficiency="0.8"> /// /// /// @@ -39,7 +39,8 @@ /// /// /// -/// +/// /// /// /// @@ -106,14 +107,13 @@ TRestAxionHelioscopeSignal::TRestAxionHelioscopeSignal(const char* cfgFileName, LoadConfigFromFile(fConfigFileName, name); if (GetVerboseLevel() >= TRestStringOutput::REST_Verbose_Level::REST_Info) PrintMetadata(); - } /////////////////////////////////////////////// /// \brief Default destructor /// TRestAxionHelioscopeSignal::~TRestAxionHelioscopeSignal() { - if( fField ) delete fField; + if (fField) delete fField; } /////////////////////////////////////////////// @@ -125,8 +125,7 @@ void TRestAxionHelioscopeSignal::Initialize() { SetSectionName(this->ClassName()); - if( fField == nullptr ) - fField = new TRestAxionField(); + if (fField == nullptr) fField = new TRestAxionField(); FillHistograms(); } @@ -140,40 +139,37 @@ void TRestAxionHelioscopeSignal::Initialize() { /// of the variables of the distribution. /// Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, Double_t mass) { - if (GetDimensions() != point.size()) { RESTError << "Point should have same dimensions as number of variables!" << RESTendl; return 0; } - if( GetDimensions() != 1 ) - { + if (GetDimensions() != 1) { RESTError << "Point should have only 1-dimension! Energy" << RESTendl; return 0; } - Double_t flux = fFlux->GetFluxAtEnergy( point[0], mass ); // cm-2 s-1 keV-1 - - Double_t probability = 0; - if( fConversionType == "IAXO" ) - { - probability = fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability( mass ); - - // We assume all flux ends up inside the spot. No XY dependency of signal. - Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); + Double_t flux = fFlux->GetFluxAtEnergy(point[0], mass); // cm-2 s-1 keV-1 + + Double_t probability = 0; + if (fConversionType == "IAXO") { + probability = fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(mass); + + // We assume all flux ends up inside the spot. No XY dependency of signal. + Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); - flux *= fBores * apertureArea; - } + flux *= fBores * apertureArea; + } - Double_t signal = flux * probability; + Double_t signal = flux * probability; Double_t normFactor = 1; - /// There should be only 1-dimension. Rate is integrated to the particular bin size. + /// There should be only 1-dimension. Rate is integrated to the particular bin size. for (size_t n = 0; n < GetDimensions(); n++) { normFactor *= (fRanges[n].Y() - fRanges[n].X()) / fNbins[n]; } - return normFactor * signal; // s-1 + return normFactor * signal; // s-1 } ///////////////////////////////////////////// @@ -185,63 +181,62 @@ Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, /// that mimic a MC generation scheme similar to TRestComponentDataSet. /// void TRestAxionHelioscopeSignal::FillHistograms() { - if ( !HasNodes() ) return; + if (!HasNodes()) return; fNodeDensity.clear(); RESTInfo << "Generating N-dim histogram for " << GetName() << RESTendl; - int nIndex = 0; - for( const auto &node : fParameterizationNodes ) - { - TString hName = fParameter + "_" + DoubleToString(node); - - Int_t* bins = new Int_t[fNbins.size()]; - Double_t* xlow = new Double_t[fNbins.size()]; - Double_t* xhigh = new Double_t[fNbins.size()]; - - for (size_t n = 0; n < fNbins.size(); n++) { - bins[n] = fNbins[n]; - xlow[n] = fRanges[n].X(); - xhigh[n] = fRanges[n].Y(); - } - - THnD* hNd = new THnD(hName, hName, fNbins.size(), bins, xlow, xhigh); - - // Calculate the bin width in each dimension - std::vector binWidths; - for (size_t i = 0; i < fNbins.size(); ++i) { - double width = static_cast(xhigh[i] - xlow[i]) / bins[i]; - binWidths.push_back(width); - } - - // Nested loop to iterate over each bin and print its center - std::vector binIndices(fNbins.size(), 0); // Initialize bin indices to 0 in each dimension - - bool carry = false; - while (!carry) { - // Calculate the center of the current bin in each dimension - std::vector binCenter; - for (size_t i = 0; i < fNbins.size(); ++i) - binCenter.push_back(xlow[i] + (binIndices[i] + 0.5) * binWidths[i]); - - hNd->Fill(binCenter.data(), GetSignalRate(binCenter)); - - // Update bin indices for the next iteration - carry = true; - for (size_t i = 0; i < fNbins.size(); ++i) { - binIndices[i]++; - if (binIndices[i] < bins[i]) { - carry = false; - break; - } - binIndices[i] = 0; - } - } - - fNodeDensity.push_back(hNd); - fActiveNode = nIndex; - nIndex++; - } + int nIndex = 0; + for (const auto& node : fParameterizationNodes) { + TString hName = fParameter + "_" + DoubleToString(node); + + Int_t* bins = new Int_t[fNbins.size()]; + Double_t* xlow = new Double_t[fNbins.size()]; + Double_t* xhigh = new Double_t[fNbins.size()]; + + for (size_t n = 0; n < fNbins.size(); n++) { + bins[n] = fNbins[n]; + xlow[n] = fRanges[n].X(); + xhigh[n] = fRanges[n].Y(); + } + + THnD* hNd = new THnD(hName, hName, fNbins.size(), bins, xlow, xhigh); + + // Calculate the bin width in each dimension + std::vector binWidths; + for (size_t i = 0; i < fNbins.size(); ++i) { + double width = static_cast(xhigh[i] - xlow[i]) / bins[i]; + binWidths.push_back(width); + } + + // Nested loop to iterate over each bin and print its center + std::vector binIndices(fNbins.size(), 0); // Initialize bin indices to 0 in each dimension + + bool carry = false; + while (!carry) { + // Calculate the center of the current bin in each dimension + std::vector binCenter; + for (size_t i = 0; i < fNbins.size(); ++i) + binCenter.push_back(xlow[i] + (binIndices[i] + 0.5) * binWidths[i]); + + hNd->Fill(binCenter.data(), GetSignalRate(binCenter)); + + // Update bin indices for the next iteration + carry = true; + for (size_t i = 0; i < fNbins.size(); ++i) { + binIndices[i]++; + if (binIndices[i] < bins[i]) { + carry = false; + break; + } + binIndices[i] = 0; + } + } + + fNodeDensity.push_back(hNd); + fActiveNode = nIndex; + nIndex++; + } } ///////////////////////////////////////////// @@ -250,15 +245,15 @@ void TRestAxionHelioscopeSignal::FillHistograms() { void TRestAxionHelioscopeSignal::PrintMetadata() { TRestComponent::PrintMetadata(); - RESTMetadata << "Magnet bores : " << fBores << RESTendl; - RESTMetadata << "Magnet radius : " << fMagnetRadius * units("cm") << " cm" << RESTendl; - RESTMetadata << "Magnet length : " << fMagnetLength * units("m") << " m" << RESTendl; - RESTMetadata << "Magnet field : " << fMagnetStrength * units("T") << " T" << RESTendl; - RESTMetadata << " " << RESTendl; + RESTMetadata << "Magnet bores : " << fBores << RESTendl; + RESTMetadata << "Magnet radius : " << fMagnetRadius * units("cm") << " cm" << RESTendl; + RESTMetadata << "Magnet length : " << fMagnetLength * units("m") << " m" << RESTendl; + RESTMetadata << "Magnet field : " << fMagnetStrength * units("T") << " T" << RESTendl; + RESTMetadata << " " << RESTendl; + + RESTMetadata << "Optics efficiency : " << fOpticsEfficiency << RESTendl; + RESTMetadata << "Window efficiency : " << fWindowEfficiency << RESTendl; - RESTMetadata << "Optics efficiency : " << fOpticsEfficiency << RESTendl; - RESTMetadata << "Window efficiency : " << fWindowEfficiency << RESTendl; - RESTMetadata << "----" << RESTendl; } @@ -268,34 +263,33 @@ void TRestAxionHelioscopeSignal::PrintMetadata() { void TRestAxionHelioscopeSignal::InitFromConfigFile() { TRestComponent::InitFromConfigFile(); - if( fVariables.size() != 1 ) - { - RESTError << "TRestAxionHelioscopeSignal::InitFromConfigFile." - << " Signal should be build with just 1-variable. Energy." << RESTendl; - } - else if( fVariables[0] != "energy" ) - { - RESTError << "The first variable should be energy. We recommend to name that variable as \"energy\"." << RESTendl; - RESTError << "Please, double-check the variables definition inside TRestAxionHelioscopeSignal::TRestComponent." << RESTendl; - } + if (fVariables.size() != 1) { + RESTError << "TRestAxionHelioscopeSignal::InitFromConfigFile." + << " Signal should be build with just 1-variable. Energy." << RESTendl; + } else if (fVariables[0] != "energy") { + RESTError << "The first variable should be energy. We recommend to name that variable as \"energy\"." + << RESTendl; + RESTError << "Please, double-check the variables definition inside " + "TRestAxionHelioscopeSignal::TRestComponent." + << RESTendl; + } if (fFlux) { delete fFlux; fFlux = nullptr; } - fFlux = (TRestAxionSolarFlux*) this->InstantiateChildMetadata("TRestAxionSolarQCDFlux"); - fFlux->Initialize(); + fFlux = (TRestAxionSolarFlux*)this->InstantiateChildMetadata("TRestAxionSolarQCDFlux"); + fFlux->Initialize(); if (fGas) { delete fGas; fGas = nullptr; } - fGas = (TRestAxionBufferGas*) this->InstantiateChildMetadata("TRestAxionBufferGas"); + fGas = (TRestAxionBufferGas*)this->InstantiateChildMetadata("TRestAxionBufferGas"); - if( fField == nullptr ) - fField = new TRestAxionField(); + if (fField == nullptr) fField = new TRestAxionField(); fField->SetMagneticField(GetMagnetStrength()); fField->SetCoherenceLength(GetMagnetLength()); - fField->AssignBufferGas( fGas ); + fField->AssignBufferGas(fGas); } diff --git a/src/TRestAxionSolarFlux.cxx b/src/TRestAxionSolarFlux.cxx index c9f5f903..af9fa026 100644 --- a/src/TRestAxionSolarFlux.cxx +++ b/src/TRestAxionSolarFlux.cxx @@ -186,10 +186,9 @@ TCanvas* TRestAxionSolarFlux::DrawFluxFile(string fname, Double_t binSize) { /////////////////////////////////////////////// /// \brief It returns a flux in cm-2 s-1 keV-1 at the energy given by argument /// -Double_t TRestAxionSolarFlux::GetFluxAtEnergy( Double_t energy, Double_t m ) -{ +Double_t TRestAxionSolarFlux::GetFluxAtEnergy(Double_t energy, Double_t m) { TH1F* h = GetEnergySpectrum(m); - return h->GetBinContent( h->FindBin(energy) ); + return h->GetBinContent(h->FindBin(energy)); } /////////////////////////////////////////////// diff --git a/src/TRestAxionSolarQCDFlux.cxx b/src/TRestAxionSolarQCDFlux.cxx index 6e56ec0e..f96a0eba 100644 --- a/src/TRestAxionSolarQCDFlux.cxx +++ b/src/TRestAxionSolarQCDFlux.cxx @@ -252,7 +252,7 @@ TRestAxionSolarQCDFlux::~TRestAxionSolarQCDFlux() {} Bool_t TRestAxionSolarQCDFlux::LoadTables() { if (fFluxDataFile == "" && fFluxSptFile == "") return false; - if( fTablesLoaded ) return true; + if (fTablesLoaded) return true; if (TRestTools::GetFileNameExtension(fFluxDataFile) == "flux") { ReadFluxFile(); From 2f05b0d49741970e555790f2d4af894a4d8edaaf Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 16:05:04 +0200 Subject: [PATCH 09/64] TRestAxionHelioscopeSignal::FillHistograms is filled now as a function of mass --- src/TRestAxionHelioscopeSignal.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index b3a080ae..6cde14a8 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -224,7 +224,7 @@ void TRestAxionHelioscopeSignal::FillHistograms() { for (size_t i = 0; i < fNbins.size(); ++i) binCenter.push_back(xlow[i] + (binIndices[i] + 0.5) * binWidths[i]); - hNd->Fill(binCenter.data(), GetSignalRate(binCenter)); + hNd->Fill(binCenter.data(), GetSignalRate(binCenter, node)); // Update bin indices for the next iteration carry = true; From af843ee710c9edaea3f0489a4acc10a9588ce3a8 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 16:05:27 +0200 Subject: [PATCH 10/64] TRestAxionSolarFlux::Initialize now tables must be initalized --- src/TRestAxionSolarFlux.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/TRestAxionSolarFlux.cxx b/src/TRestAxionSolarFlux.cxx index c9f5f903..228eacb5 100644 --- a/src/TRestAxionSolarFlux.cxx +++ b/src/TRestAxionSolarFlux.cxx @@ -122,6 +122,8 @@ TRestAxionSolarFlux::~TRestAxionSolarFlux() {} void TRestAxionSolarFlux::Initialize() { SetLibraryVersion(LIBRARY_VERSION); + if( !fTablesLoaded ) LoadTables(); + if (!fRandom) { delete fRandom; fRandom = nullptr; From cbdc0611a9b50a59b7a88e5eb85696ac24f10e99 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 23 May 2024 14:06:41 +0000 Subject: [PATCH 11/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/TRestAxionHelioscopeSignal.cxx | 7 ++++--- src/TRestAxionSolarFlux.cxx | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index c7fc7c14..fb03e349 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -29,7 +29,8 @@ /// +/// magnetStrength="2T" opticsEfficiency="0.3" +/// windowEfficiency="0.8"> /// /// /// @@ -40,7 +41,7 @@ /// /// /// +/// value="Primakoff_LennertHoof_202203.dat"/> /// /// /// @@ -219,7 +220,7 @@ void TRestAxionHelioscopeSignal::FillHistograms() { for (size_t i = 0; i < fNbins.size(); ++i) binCenter.push_back(xlow[i] + (binIndices[i] + 0.5) * binWidths[i]); - hNd->Fill(binCenter.data(), GetSignalRate(binCenter, node)); + hNd->Fill(binCenter.data(), GetSignalRate(binCenter, node)); // Update bin indices for the next iteration carry = true; diff --git a/src/TRestAxionSolarFlux.cxx b/src/TRestAxionSolarFlux.cxx index 26499a07..7c691cd5 100644 --- a/src/TRestAxionSolarFlux.cxx +++ b/src/TRestAxionSolarFlux.cxx @@ -122,7 +122,7 @@ TRestAxionSolarFlux::~TRestAxionSolarFlux() {} void TRestAxionSolarFlux::Initialize() { SetLibraryVersion(LIBRARY_VERSION); - if( !fTablesLoaded ) LoadTables(); + if (!fTablesLoaded) LoadTables(); if (!fRandom) { delete fRandom; From 8635ecc63b6448aa3acc8945bd91ef510d696d3f Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 22:07:20 +0200 Subject: [PATCH 12/64] TRestAxionField::GammaTransmissionProbability now receives energy as argument --- inc/TRestAxionField.h | 2 +- src/TRestAxionField.cxx | 7 ++++--- src/TRestAxionHelioscopeSignal.cxx | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/inc/TRestAxionField.h b/inc/TRestAxionField.h index 76be08b6..071fe70b 100644 --- a/inc/TRestAxionField.h +++ b/inc/TRestAxionField.h @@ -78,7 +78,7 @@ class TRestAxionField : public TObject { /// It assigns a gas buffer medium to the calculation void SetBufferGas(TRestAxionBufferGas* buffGas) { fBufferGas = buffGas; } - Double_t GammaTransmissionProbability(Double_t ma, Double_t mg = 0, Double_t absLength = 0); + Double_t GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t mg = 0, Double_t absLength = 0); Double_t GammaTransmissionProbability(Double_t Bmag, Double_t Lcoh, Double_t Ea, Double_t ma, Double_t mg = 0, Double_t absLength = 0); diff --git a/src/TRestAxionField.cxx b/src/TRestAxionField.cxx index a7163735..8c770636 100644 --- a/src/TRestAxionField.cxx +++ b/src/TRestAxionField.cxx @@ -291,7 +291,8 @@ double TRestAxionField::BLHalfSquared(Double_t Bmag, Double_t Lcoh) // (BL/2)** /// /// The returned value is given for g_ag = 10^-10 GeV-1 /// -Double_t TRestAxionField::GammaTransmissionProbability(Double_t ma, Double_t mg, Double_t absLength) { +Double_t TRestAxionField::GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t mg, Double_t absLength) { + fEa = Ea; Double_t cohLength = fLcoh * units("m"); // Default REST units are mm; Double_t photonMass = mg; @@ -769,8 +770,8 @@ Double_t TRestAxionField::GammaTransmissionFWHM(Double_t step) { /// Scanning towards the right (valid also for vacuum) Double_t scanMass = resonanceMass; - Double_t Pmax = GammaTransmissionProbability(resonanceMass); - while (Pmax / 2 < GammaTransmissionProbability(scanMass)) { + Double_t Pmax = GammaTransmissionProbability(fEa, resonanceMass); + while (Pmax / 2 < GammaTransmissionProbability(fEa, scanMass)) { scanMass += step; if (scanMass > maxMass) { RESTError << "TRestAxionField::GammaTransmissionProbability. Something went wrong when " diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index c7fc7c14..1ae4200b 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -153,7 +153,7 @@ Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, Double_t probability = 0; if (fConversionType == "IAXO") { - probability = fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(mass); + probability = fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(point[0], mass); // We assume all flux ends up inside the spot. No XY dependency of signal. Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); From 837d55dbec790b71ca4c5a9e70a2122f5e82646c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 23 May 2024 20:07:37 +0000 Subject: [PATCH 13/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/TRestAxionField.cxx | 5 +++-- src/TRestAxionHelioscopeSignal.cxx | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/TRestAxionField.cxx b/src/TRestAxionField.cxx index 8c770636..d6713d32 100644 --- a/src/TRestAxionField.cxx +++ b/src/TRestAxionField.cxx @@ -291,8 +291,9 @@ double TRestAxionField::BLHalfSquared(Double_t Bmag, Double_t Lcoh) // (BL/2)** /// /// The returned value is given for g_ag = 10^-10 GeV-1 /// -Double_t TRestAxionField::GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t mg, Double_t absLength) { - fEa = Ea; +Double_t TRestAxionField::GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t mg, + Double_t absLength) { + fEa = Ea; Double_t cohLength = fLcoh * units("m"); // Default REST units are mm; Double_t photonMass = mg; diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index beaa1491..b93b293c 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -154,7 +154,8 @@ Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, Double_t probability = 0; if (fConversionType == "IAXO") { - probability = fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(point[0], mass); + probability = + fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(point[0], mass); // We assume all flux ends up inside the spot. No XY dependency of signal. Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); From 407a4f4d91bb0497356fb1c5bd0b503afeb1777b Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 22:18:06 +0200 Subject: [PATCH 14/64] TRestAxionHelioscopeSignal. Adding Library version at initialzation --- src/TRestAxionHelioscopeSignal.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index beaa1491..1599a68b 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -125,6 +125,7 @@ void TRestAxionHelioscopeSignal::Initialize() { TRestComponent::Initialize(); SetSectionName(this->ClassName()); + SetLibraryVersion(LIBRARY_VERSION); if (fField == nullptr) fField = new TRestAxionField(); From f13d411ee2ab9c033ad1577314da67ced4cbbc9e Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 23 May 2024 23:07:08 +0200 Subject: [PATCH 15/64] TRestAxionHelioscopeSignal::GetGas method added --- inc/TRestAxionHelioscopeSignal.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inc/TRestAxionHelioscopeSignal.h b/inc/TRestAxionHelioscopeSignal.h index c20e21fb..cfc4b2f0 100644 --- a/inc/TRestAxionHelioscopeSignal.h +++ b/inc/TRestAxionHelioscopeSignal.h @@ -70,6 +70,8 @@ class TRestAxionHelioscopeSignal : public TRestComponent { public: Double_t GetSignalRate(std::vector point, Double_t mass = 0); + TRestAxionBufferGas *GetGas() { return fGas; } + void PrintMetadata() override; void SetNumberOfBores(const Int_t& bores) { fBores = bores; } From 7d3cb7425dde104a2ca57841c08b25edc8bedbbf Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 24 May 2024 07:34:15 +0200 Subject: [PATCH 16/64] REST_Axion_PlotResonances.C fixing compilation error --- macros/REST_Axion_PlotResonances.C | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/macros/REST_Axion_PlotResonances.C b/macros/REST_Axion_PlotResonances.C index ebc2cc2c..e4013b1a 100644 --- a/macros/REST_Axion_PlotResonances.C +++ b/macros/REST_Axion_PlotResonances.C @@ -88,7 +88,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1 // Probability is not zero, but we introduce an artifact (virtual point) to make proper TGraph filling prob_vac.push_back(0); for (size_t j = 1; j < m_a.size(); j++) { - prob_vac.push_back(ax->GammaTransmissionProbability(m_a[j])); + prob_vac.push_back(ax->GammaTransmissionProbability(Ea, m_a[j])); } // Computes the sum of all the probabilities (Adding vacuum) @@ -114,7 +114,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1 Double_t xLabel = 0; Double_t yLabel = 0; for (size_t j = 1; j < m_a.size(); j++) { - Double_t probV = ax->GammaTransmissionProbability(m_a[j]); + Double_t probV = ax->GammaTransmissionProbability(Ea, m_a[j]); if (probV > yLabel) { yLabel = probV; xLabel = m_a[j]; @@ -227,7 +227,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1 if (energy < fEnergyRange.X() || energy > fEnergyRange.Y()) continue; ax->SetAxionEnergy(rebinned->GetBinCenter(n)); - ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]); + ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]); } /// Gas phase @@ -241,7 +241,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1 if (energy < fEnergyRange.X() || energy > fEnergyRange.Y()) continue; ax->SetAxionEnergy(rebinned->GetBinCenter(n)); - ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]); + ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]); } } ng = ng * deltaE * fArea * fExposureTime; @@ -298,7 +298,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1 if (energy < fEnergyRange.X() || energy > 2) continue; ax->SetAxionEnergy(rebinnedABC->GetBinCenter(n)); - ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]); + ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]); } /// Gas phase @@ -312,7 +312,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1 if (energy < fEnergyRange.X() || energy > 2) continue; ax->SetAxionEnergy(rebinnedABC->GetBinCenter(n)); - ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]); + ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]); } } ng = 2 * 100 * ng * deltaE * fArea * fExposureTime; From 72d38c759ad801c0c281083cbd636a4079dd383f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 05:34:30 +0000 Subject: [PATCH 17/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- inc/TRestAxionHelioscopeSignal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/TRestAxionHelioscopeSignal.h b/inc/TRestAxionHelioscopeSignal.h index cfc4b2f0..00e2cbfa 100644 --- a/inc/TRestAxionHelioscopeSignal.h +++ b/inc/TRestAxionHelioscopeSignal.h @@ -70,7 +70,7 @@ class TRestAxionHelioscopeSignal : public TRestComponent { public: Double_t GetSignalRate(std::vector point, Double_t mass = 0); - TRestAxionBufferGas *GetGas() { return fGas; } + TRestAxionBufferGas* GetGas() { return fGas; } void PrintMetadata() override; From 1946af7ee9a59abf1b16799c518a7b52d65d8414 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 24 May 2024 07:36:49 +0200 Subject: [PATCH 18/64] AxionPhysicsValidation.C fixing new GammaTRansmissionProbability prototype --- pipeline/physics/AxionPhysicsValidation.C | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pipeline/physics/AxionPhysicsValidation.C b/pipeline/physics/AxionPhysicsValidation.C index 78a1be6f..d9d651a5 100644 --- a/pipeline/physics/AxionPhysicsValidation.C +++ b/pipeline/physics/AxionPhysicsValidation.C @@ -156,10 +156,12 @@ Int_t AxionPhysicsValidation() { Double_t ma = 1.e-2; // eV Double_t Ea = 3.0; // keV + axionField.SetMagneticField(B); + axionField.SetCoherenceLength(L); std::cout << "Probability (CAST. Helium. ma:10meV - Ea:3keV): " - << axionField.GammaTransmissionProbability(B, L, Ea, ma) << std::endl; + << axionField.GammaTransmissionProbability( Ea, ma) << std::endl; - if (std::round(axionField.GammaTransmissionProbability(B, L, Ea, ma) * 1.e20) != 1547) { + if (std::round(axionField.GammaTransmissionProbability( Ea, ma) * 1.e20) != 1547) { std::cout << "CAST Probability. Wrong axion-photon conversion probability" << std::endl; return 301; } From 25f48bd9ce1a0390346102932ac5ae003ff490c8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 05:37:05 +0000 Subject: [PATCH 19/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pipeline/physics/AxionPhysicsValidation.C | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pipeline/physics/AxionPhysicsValidation.C b/pipeline/physics/AxionPhysicsValidation.C index d9d651a5..c9351da3 100644 --- a/pipeline/physics/AxionPhysicsValidation.C +++ b/pipeline/physics/AxionPhysicsValidation.C @@ -156,12 +156,12 @@ Int_t AxionPhysicsValidation() { Double_t ma = 1.e-2; // eV Double_t Ea = 3.0; // keV - axionField.SetMagneticField(B); - axionField.SetCoherenceLength(L); + axionField.SetMagneticField(B); + axionField.SetCoherenceLength(L); std::cout << "Probability (CAST. Helium. ma:10meV - Ea:3keV): " - << axionField.GammaTransmissionProbability( Ea, ma) << std::endl; + << axionField.GammaTransmissionProbability(Ea, ma) << std::endl; - if (std::round(axionField.GammaTransmissionProbability( Ea, ma) * 1.e20) != 1547) { + if (std::round(axionField.GammaTransmissionProbability(Ea, ma) * 1.e20) != 1547) { std::cout << "CAST Probability. Wrong axion-photon conversion probability" << std::endl; return 301; } From 59c2d0613ad495833e45b2c81c3ee0d74a214104 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 24 May 2024 08:30:01 +0200 Subject: [PATCH 20/64] 03.sensitivity adding BabyIAXO setup --- examples/03.sensitivity/BabyIAXO.rml | 90 +++++++++++++++++++ .../03.sensitivity/GenerateSignalComponents.C | 31 +++++++ examples/03.sensitivity/README.md | 8 ++ 3 files changed, 129 insertions(+) create mode 100644 examples/03.sensitivity/BabyIAXO.rml create mode 100644 examples/03.sensitivity/GenerateSignalComponents.C create mode 100644 examples/03.sensitivity/README.md diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.sensitivity/BabyIAXO.rml new file mode 100644 index 00000000..a68309d4 --- /dev/null +++ b/examples/03.sensitivity/BabyIAXO.rml @@ -0,0 +1,90 @@ + + + + + + + + + + + // A flat component in keV-1 s-1 + + + + + + + + + + + + + + + + + + + + + + + // A flat component in keV-1 s-1 + + + + + + + + + + + + + + + + + + + + + + + + + // A flat component + + + + + + + + + + + + + + + + + + + diff --git a/examples/03.sensitivity/GenerateSignalComponents.C b/examples/03.sensitivity/GenerateSignalComponents.C new file mode 100644 index 00000000..40897322 --- /dev/null +++ b/examples/03.sensitivity/GenerateSignalComponents.C @@ -0,0 +1,31 @@ +Int_t GenerateSignalComponents() +{ + + TRestAxionField field; + std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV + + TRestAxionHelioscopeSignal gasPhase( "BabyIAXO.rml", "GasSignal"); + gasPhase.RegenerateParametricNodes( 0.001, 10, 1.02, true ); + + TFile *f = TFile::Open("SignalComponents.root", "RECREATE" ); + + vacuumPhase.Write( "Vacuum" ); + + FILE *g = fopen("GasPhase.settings", "wt"); + for( size_t n = 0; n < scanSteps.size(); n++ ) + { + //std::cout << "Resonant mass : " << scanSteps[n].first << std::endl; + //std::cout << "Density : " << scanSteps[n].second << std::endl; + + gasPhase.SetName( "P" + (TString) IntegerToString(n+1) ); + gasPhase.GetGas()->SetGasDensity("He", scanSteps[n].second ); + gasPhase.RegenerateHistograms(); + gasPhase.Write( "P" + (TString) IntegerToString(n+1) ); + fprintf( g, "P%d\n", (int) (n+1) ); + } + fclose(g); + + f->Close(); + + return 0; +} diff --git a/examples/03.sensitivity/README.md b/examples/03.sensitivity/README.md new file mode 100644 index 00000000..9c660253 --- /dev/null +++ b/examples/03.sensitivity/README.md @@ -0,0 +1,8 @@ + +``` +TRestSensitivity sens("BabyIAXO.rml", "VacuumPhase"); +sens.GetExperiment(0)->GetSignal()->RegenerateParametricNodes(0.001,10,1.02,true); +sens.GenerateCurve() +sens.ExportCurve("vacuum.txt", 0 ) +``` + From 4a39f361eeee2166b304d47147afd08d6dcb0993 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 06:30:24 +0000 Subject: [PATCH 21/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.sensitivity/BabyIAXO.rml | 10 ++--- .../03.sensitivity/GenerateSignalComponents.C | 44 +++++++++---------- examples/03.sensitivity/README.md | 1 - 3 files changed, 26 insertions(+), 29 deletions(-) diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.sensitivity/BabyIAXO.rml index a68309d4..f881cc42 100644 --- a/examples/03.sensitivity/BabyIAXO.rml +++ b/examples/03.sensitivity/BabyIAXO.rml @@ -2,7 +2,7 @@ - + @@ -13,7 +13,7 @@ @@ -29,7 +29,7 @@ - + @@ -40,7 +40,7 @@ @@ -71,7 +71,7 @@ diff --git a/examples/03.sensitivity/GenerateSignalComponents.C b/examples/03.sensitivity/GenerateSignalComponents.C index 40897322..f92b94fe 100644 --- a/examples/03.sensitivity/GenerateSignalComponents.C +++ b/examples/03.sensitivity/GenerateSignalComponents.C @@ -1,31 +1,29 @@ -Int_t GenerateSignalComponents() -{ +Int_t GenerateSignalComponents() { + TRestAxionField field; + std::vector> scanSteps = + field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV - TRestAxionField field; - std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV + TRestAxionHelioscopeSignal gasPhase("BabyIAXO.rml", "GasSignal"); + gasPhase.RegenerateParametricNodes(0.001, 10, 1.02, true); - TRestAxionHelioscopeSignal gasPhase( "BabyIAXO.rml", "GasSignal"); - gasPhase.RegenerateParametricNodes( 0.001, 10, 1.02, true ); + TFile* f = TFile::Open("SignalComponents.root", "RECREATE"); - TFile *f = TFile::Open("SignalComponents.root", "RECREATE" ); + vacuumPhase.Write("Vacuum"); - vacuumPhase.Write( "Vacuum" ); + FILE* g = fopen("GasPhase.settings", "wt"); + for (size_t n = 0; n < scanSteps.size(); n++) { + // std::cout << "Resonant mass : " << scanSteps[n].first << std::endl; + // std::cout << "Density : " << scanSteps[n].second << std::endl; - FILE *g = fopen("GasPhase.settings", "wt"); - for( size_t n = 0; n < scanSteps.size(); n++ ) - { - //std::cout << "Resonant mass : " << scanSteps[n].first << std::endl; - //std::cout << "Density : " << scanSteps[n].second << std::endl; + gasPhase.SetName("P" + (TString)IntegerToString(n + 1)); + gasPhase.GetGas()->SetGasDensity("He", scanSteps[n].second); + gasPhase.RegenerateHistograms(); + gasPhase.Write("P" + (TString)IntegerToString(n + 1)); + fprintf(g, "P%d\n", (int)(n + 1)); + } + fclose(g); - gasPhase.SetName( "P" + (TString) IntegerToString(n+1) ); - gasPhase.GetGas()->SetGasDensity("He", scanSteps[n].second ); - gasPhase.RegenerateHistograms(); - gasPhase.Write( "P" + (TString) IntegerToString(n+1) ); - fprintf( g, "P%d\n", (int) (n+1) ); - } - fclose(g); + f->Close(); - f->Close(); - - return 0; + return 0; } diff --git a/examples/03.sensitivity/README.md b/examples/03.sensitivity/README.md index 9c660253..07a1b80a 100644 --- a/examples/03.sensitivity/README.md +++ b/examples/03.sensitivity/README.md @@ -5,4 +5,3 @@ sens.GetExperiment(0)->GetSignal()->RegenerateParametricNodes(0.001,10,1.02,true sens.GenerateCurve() sens.ExportCurve("vacuum.txt", 0 ) ``` - From 366b1f80e2b761751f2e786245463f630cf2718d Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 24 May 2024 11:47:04 +0200 Subject: [PATCH 22/64] BabyIAXO.rml setting final parameters --- examples/03.sensitivity/BabyIAXO.rml | 40 +++++++++++++--------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.sensitivity/BabyIAXO.rml index a68309d4..7d40483d 100644 --- a/examples/03.sensitivity/BabyIAXO.rml +++ b/examples/03.sensitivity/BabyIAXO.rml @@ -3,19 +3,20 @@ - + - // A flat component in keV-1 s-1 + + + opticsEfficiency="0.35" windowEfficiency="0.8"> @@ -30,19 +31,20 @@ - + - // A flat component in keV-1 s-1 + + + opticsEfficiency="0.35" windowEfficiency="0.8"> @@ -53,27 +55,23 @@ - - - - + - - - - - - // A flat component + + + + + conversionType="IAXO" bores="2" + magnetRadius="35cm" magnetLength="10m" magnetStrength="2T" + opticsEfficiency="0.35" windowEfficiency="0.8"> @@ -83,8 +81,8 @@ - - + + From 7fe9f513459b6aa9360790ed01e0d398934d01fd Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 24 May 2024 11:47:15 +0200 Subject: [PATCH 23/64] Adding IAXO.rml --- examples/03.sensitivity/IAXO.rml | 88 ++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 examples/03.sensitivity/IAXO.rml diff --git a/examples/03.sensitivity/IAXO.rml b/examples/03.sensitivity/IAXO.rml new file mode 100644 index 00000000..40dce93a --- /dev/null +++ b/examples/03.sensitivity/IAXO.rml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 3f997e195d70079b7bdf1cd5cf1072da4bb62e1b Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 24 May 2024 11:47:47 +0200 Subject: [PATCH 24/64] GenerateSignalComponents.C improving generated file naming --- .../03.sensitivity/GenerateSignalComponents.C | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/examples/03.sensitivity/GenerateSignalComponents.C b/examples/03.sensitivity/GenerateSignalComponents.C index 40897322..9f98a2cc 100644 --- a/examples/03.sensitivity/GenerateSignalComponents.C +++ b/examples/03.sensitivity/GenerateSignalComponents.C @@ -1,22 +1,26 @@ -Int_t GenerateSignalComponents() +Int_t GenerateSignalComponents(std::string rmlFile, std::string name) { TRestAxionField field; std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV - TRestAxionHelioscopeSignal gasPhase( "BabyIAXO.rml", "GasSignal"); + TRestAxionHelioscopeSignal gasPhase( rmlFile.c_str(), name.c_str()); gasPhase.RegenerateParametricNodes( 0.001, 10, 1.02, true ); - TFile *f = TFile::Open("SignalComponents.root", "RECREATE" ); + std::filesystem::path filePath = rmlFile; + std::filesystem::path newExtension = ".settings"; + std::string settingsFile = filePath.replace_extension(newExtension); + std::filesystem::path rootExtension = ".root"; + std::string componentsFile = "Signals" + (std::string) filePath.replace_extension(rootExtension); - vacuumPhase.Write( "Vacuum" ); + std::filesystem::create_directories("output"); + settingsFile = "output/" + settingsFile; + componentsFile = "output/" + componentsFile; - FILE *g = fopen("GasPhase.settings", "wt"); + FILE *g = fopen(settingsFile.c_str(), "wt"); + TFile *f = TFile::Open( (TString) componentsFile, "RECREATE" ); for( size_t n = 0; n < scanSteps.size(); n++ ) { - //std::cout << "Resonant mass : " << scanSteps[n].first << std::endl; - //std::cout << "Density : " << scanSteps[n].second << std::endl; - gasPhase.SetName( "P" + (TString) IntegerToString(n+1) ); gasPhase.GetGas()->SetGasDensity("He", scanSteps[n].second ); gasPhase.RegenerateHistograms(); @@ -27,5 +31,7 @@ Int_t GenerateSignalComponents() f->Close(); + std::cout << "Generated signals file: " << componentsFile << std::endl; + return 0; } From bbff0cfe0e68c9cd16e7db9b78d2336aa5566756 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Fri, 24 May 2024 11:48:25 +0200 Subject: [PATCH 25/64] TRestAxionHelioscopeSignal avoiding double call to FillHistograms --- src/TRestAxionHelioscopeSignal.cxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index fe424fe6..3dcf56ae 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -128,8 +128,6 @@ void TRestAxionHelioscopeSignal::Initialize() { SetLibraryVersion(LIBRARY_VERSION); if (fField == nullptr) fField = new TRestAxionField(); - - FillHistograms(); } /////////////////////////////////////////////// From 17793464239e0a510e8913715a75e4036da974c7 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Mon, 27 May 2024 09:52:13 +0200 Subject: [PATCH 26/64] Updating BabyIAXO.rml --- examples/03.sensitivity/BabyIAXO.rml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.sensitivity/BabyIAXO.rml index 7d40483d..9cc5f48d 100644 --- a/examples/03.sensitivity/BabyIAXO.rml +++ b/examples/03.sensitivity/BabyIAXO.rml @@ -13,13 +13,18 @@ - + + + + + @@ -41,7 +46,7 @@ - @@ -51,12 +56,11 @@ - + componentPattern="output/SignalsBabyIAXO.root" experimentsFile="output/BabyIAXO.settings" > @@ -68,7 +72,7 @@ - From 2a71cc9d097a38f2e78795ee3cc42be710b32a3e Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Tue, 28 May 2024 11:12:40 +0200 Subject: [PATCH 27/64] TRestAxionHelioscopeSignal. Initializing after InitFromConfigFile --- src/TRestAxionHelioscopeSignal.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index 3dcf56ae..643a1941 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -293,4 +293,7 @@ void TRestAxionHelioscopeSignal::InitFromConfigFile() { fField->SetMagneticField(GetMagnetStrength()); fField->SetCoherenceLength(GetMagnetLength()); fField->AssignBufferGas(fGas); + + TRestAxionHelioscopeSignal::Initialize(); + } From 9191ea9f213590912175686a3309b506b5090320 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 11:26:22 +0200 Subject: [PATCH 28/64] Updating README.md --- examples/03.sensitivity/README.md | 51 ++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/examples/03.sensitivity/README.md b/examples/03.sensitivity/README.md index 9c660253..ebca23d0 100644 --- a/examples/03.sensitivity/README.md +++ b/examples/03.sensitivity/README.md @@ -1,8 +1,51 @@ +## Available configuration files + +- `BabyIAXO.rml`: It will serve to reproduce the sensitivityof BabyIAXO data taking phase. We include vacuum phase and a combination of vacuum and 73 density settings that extend the axion search up to 0.25 eV. +- `IAXO.rml`: + +Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | + :---: | :---: | :---: | :---: | :---: | +B | T | ~2 | ~2.5 | ~3.5 | +L | m | 10 | 20 | 22 | +A | m$^2$ | 0.77 | 2.3 | 3.9 | +----------|-------|----------|---------------|---------------| +b | keV$^{-1}$cm$^{-2}$s$^{-1}$ | 1$\times$10$^{-7}$ | 1$\times$10$^{-8}$ | 1$\times$10$^{-9}$ | +$\epsilon_d$ | | 0.7 | 0.8 | 0.8 | +$\epsilon_o$ | | 0.35 | 0.7 | 0.7 | +a | cm$^2$ | 2$\times$0.3 | 8$\times$0.15 | 8$\times$0.15 | +$\epsilon_t$ | | 0.5 | 0.5 | 0.5 | +t | year | 3+3 | 6+6 | 10+10 | + +## Vacuum sensitivity curve generation + +``` +restRoot +[0] TRestSensitivity sens("BabyIAXO.rml", "VacuumPhase"); +[1] sens.GenerateCurve() +[2] sens.ExportCurve("output/BabyIAXO_vacuum.txt", 0 ) +``` + +## Combined vacuum and gas phase sensitivity curve generation + +We need first to pre-generate the signals for the different density settings. + +``` +restRoot +[0] .L GenerateSignalComponents.C +[1] GenerateSignalComponents( "BabyIAXO.rml", "GasSignal" ); +``` + +Then, inside `TRestSensitivity` we define an experiment list, with a +column which defines the signal to be used, with common background +and common exposure time. + ``` -TRestSensitivity sens("BabyIAXO.rml", "VacuumPhase"); -sens.GetExperiment(0)->GetSignal()->RegenerateParametricNodes(0.001,10,1.02,true); -sens.GenerateCurve() -sens.ExportCurve("vacuum.txt", 0 ) +[0] TRestSensitivity sens("BabyIAXO.rml", "CombinedPhase"); +[1] sens.GenerateCurve() +[2] sens.ExportCurve("output/BabyIAXO_vacuum.txt", 0 ) ``` +**Hints** +- A detailed x-ray detector response is included in the signal calculation. The pre-calculated response matrix will be convoluted with the axion energy spectrum resulting in a calculation that is 150 times (number of reponse matrix bins) more expensive. If removed, calculation should achieve better computational timing. +- The number of parameter nodes, mass values at which the signal is calculated is of the order of 500 points, which will lead to a HD curve. Reducing the number of points by increasing the parameter `stepParameterValue` will also reduce the computational cost. From ea89509f84a79ae3fdc4a44139db1646b4be47bd Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 09:35:14 +0000 Subject: [PATCH 29/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.sensitivity/BabyIAXO.rml | 8 ++-- .../03.sensitivity/GenerateSignalComponents.C | 48 +++++++++---------- examples/03.sensitivity/IAXO.rml | 12 ++--- examples/03.sensitivity/README.md | 2 +- src/TRestAxionHelioscopeSignal.cxx | 3 +- 5 files changed, 35 insertions(+), 38 deletions(-) diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.sensitivity/BabyIAXO.rml index 43e77c34..9360600e 100644 --- a/examples/03.sensitivity/BabyIAXO.rml +++ b/examples/03.sensitivity/BabyIAXO.rml @@ -13,7 +13,7 @@ @@ -45,7 +45,7 @@ @@ -57,7 +57,7 @@ - @@ -71,7 +71,7 @@ diff --git a/examples/03.sensitivity/GenerateSignalComponents.C b/examples/03.sensitivity/GenerateSignalComponents.C index 0434b413..130753d5 100644 --- a/examples/03.sensitivity/GenerateSignalComponents.C +++ b/examples/03.sensitivity/GenerateSignalComponents.C @@ -1,36 +1,34 @@ -Int_t GenerateSignalComponents(std::string rmlFile, std::string name) -{ +Int_t GenerateSignalComponents(std::string rmlFile, std::string name) { TRestAxionField field; std::vector> scanSteps = field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV - TRestAxionHelioscopeSignal gasPhase( rmlFile.c_str(), name.c_str()); + TRestAxionHelioscopeSignal gasPhase(rmlFile.c_str(), name.c_str()); - std::filesystem::path filePath = rmlFile; - std::filesystem::path newExtension = ".settings"; - std::string settingsFile = filePath.replace_extension(newExtension); - std::filesystem::path rootExtension = ".root"; - std::string componentsFile = "Signals" + (std::string) filePath.replace_extension(rootExtension); + std::filesystem::path filePath = rmlFile; + std::filesystem::path newExtension = ".settings"; + std::string settingsFile = filePath.replace_extension(newExtension); + std::filesystem::path rootExtension = ".root"; + std::string componentsFile = "Signals" + (std::string)filePath.replace_extension(rootExtension); - std::filesystem::create_directories("output"); - settingsFile = "output/" + settingsFile; - componentsFile = "output/" + componentsFile; + std::filesystem::create_directories("output"); + settingsFile = "output/" + settingsFile; + componentsFile = "output/" + componentsFile; - FILE *g = fopen(settingsFile.c_str(), "wt"); - TFile *f = TFile::Open( (TString) componentsFile, "RECREATE" ); - for( size_t n = 0; n < scanSteps.size(); n++ ) - { - gasPhase.SetName( "P" + (TString) IntegerToString(n+1) ); - gasPhase.GetGas()->SetGasDensity("He", scanSteps[n].second ); - gasPhase.RegenerateHistograms(); - gasPhase.Write( "P" + (TString) IntegerToString(n+1) ); - fprintf( g, "P%d\n", (int) (n+1) ); - } - fclose(g); + FILE* g = fopen(settingsFile.c_str(), "wt"); + TFile* f = TFile::Open((TString)componentsFile, "RECREATE"); + for (size_t n = 0; n < scanSteps.size(); n++) { + gasPhase.SetName("P" + (TString)IntegerToString(n + 1)); + gasPhase.GetGas()->SetGasDensity("He", scanSteps[n].second); + gasPhase.RegenerateHistograms(); + gasPhase.Write("P" + (TString)IntegerToString(n + 1)); + fprintf(g, "P%d\n", (int)(n + 1)); + } + fclose(g); - f->Close(); + f->Close(); - std::cout << "Generated signals file: " << componentsFile << std::endl; + std::cout << "Generated signals file: " << componentsFile << std::endl; - return 0; + return 0; } diff --git a/examples/03.sensitivity/IAXO.rml b/examples/03.sensitivity/IAXO.rml index 40dce93a..e3a4337e 100644 --- a/examples/03.sensitivity/IAXO.rml +++ b/examples/03.sensitivity/IAXO.rml @@ -2,7 +2,7 @@ - + @@ -14,7 +14,7 @@ @@ -30,7 +30,7 @@ - + @@ -42,7 +42,7 @@ @@ -55,7 +55,7 @@ - @@ -69,7 +69,7 @@ diff --git a/examples/03.sensitivity/README.md b/examples/03.sensitivity/README.md index 588adada..d6bad576 100644 --- a/examples/03.sensitivity/README.md +++ b/examples/03.sensitivity/README.md @@ -2,7 +2,7 @@ ## Available configuration files - `BabyIAXO.rml`: It will serve to reproduce the sensitivityof BabyIAXO data taking phase. We include vacuum phase and a combination of vacuum and 73 density settings that extend the axion search up to 0.25 eV. -- `IAXO.rml`: +- `IAXO.rml`: Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index 643a1941..10f81f91 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -294,6 +294,5 @@ void TRestAxionHelioscopeSignal::InitFromConfigFile() { fField->SetCoherenceLength(GetMagnetLength()); fField->AssignBufferGas(fGas); - TRestAxionHelioscopeSignal::Initialize(); - + TRestAxionHelioscopeSignal::Initialize(); } From c1618b90c7693fbd0e113c62c2981be1f7e20e5c Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 11:36:56 +0200 Subject: [PATCH 30/64] Raw update --- examples/03.sensitivity/BabyIAXO.rml | 32 +++++++++-- .../03.sensitivity/GenerateSignalComponents.C | 57 +++++++++++++++++++ examples/03.sensitivity/IAXO.rml | 21 ++++++- inc/TRestAxionHelioscopeSignal.h | 2 + src/TRestAxionField.cxx | 1 + src/TRestAxionHelioscopeSignal.cxx | 37 +++++++++++- 6 files changed, 140 insertions(+), 10 deletions(-) diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.sensitivity/BabyIAXO.rml index 9360600e..24c850be 100644 --- a/examples/03.sensitivity/BabyIAXO.rml +++ b/examples/03.sensitivity/BabyIAXO.rml @@ -2,7 +2,12 @@ +<<<<<<< Updated upstream +======= + + +>>>>>>> Stashed changes @@ -15,7 +20,7 @@ + opticsEfficiency="0.35" windowEfficiency="0.8" > @@ -26,15 +31,17 @@ - - +<<<<<<< Updated upstream +======= + +>>>>>>> Stashed changes @@ -54,11 +61,22 @@ + + + + + + +<<<<<<< Updated upstream +======= + +>>>>>>> Stashed changes @@ -67,7 +85,6 @@ - + + + + + - - diff --git a/examples/03.sensitivity/GenerateSignalComponents.C b/examples/03.sensitivity/GenerateSignalComponents.C index 130753d5..5b4a933b 100644 --- a/examples/03.sensitivity/GenerateSignalComponents.C +++ b/examples/03.sensitivity/GenerateSignalComponents.C @@ -1,9 +1,22 @@ +<<<<<<< Updated upstream Int_t GenerateSignalComponents(std::string rmlFile, std::string name) { TRestAxionField field; std::vector> scanSteps = field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV TRestAxionHelioscopeSignal gasPhase(rmlFile.c_str(), name.c_str()); +======= +Double_t Eo = 0.5; //keV +Double_t Ef = 10; //keV + +Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t totalExposureTime=3*300*12*3600, size_t skipSteps = 1) +{ + TRestAxionField field; + std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV + + TRestAxionHelioscopeSignal gasPhase( rmlFile.c_str(), name.c_str()); + //gasPhase.RegenerateParametricNodes( startMass, upperMass, step, true ); +>>>>>>> Stashed changes std::filesystem::path filePath = rmlFile; std::filesystem::path newExtension = ".settings"; @@ -15,6 +28,7 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name) { settingsFile = "output/" + settingsFile; componentsFile = "output/" + componentsFile; +<<<<<<< Updated upstream FILE* g = fopen(settingsFile.c_str(), "wt"); TFile* f = TFile::Open((TString)componentsFile, "RECREATE"); for (size_t n = 0; n < scanSteps.size(); n++) { @@ -27,8 +41,51 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name) { fclose(g); f->Close(); +======= + TFile *f = TFile::Open( (TString) componentsFile, "RECREATE" ); + std::vector exposureTimes; + for( size_t n = skipSteps; n < scanSteps.size(); n++ ) + { + Double_t mass = scanSteps[n].first; + std::cout << "Mass: " << mass << std::endl; + Double_t density = scanSteps[n].second; + std::cout << "Setting density: " << density << std::endl; + + gasPhase.SetName( "P" + (TString) IntegerToString(n+1) ); + gasPhase.GetGas()->SetGasDensity("He", density); + gasPhase.RegenerateHistograms(); + + Double_t nGamma = gasPhase.GetSignalRate(mass, Eo, Ef); + std::cout << "nGamma: " << nGamma << std::endl; + std::cout << "Mass: " << mass << std::endl; + Double_t ksvzFactor = 3.75523 * mass; + std::cout << "Log(20)/ksvzFactor : " << TMath::Log(20)/TMath::Power( ksvzFactor, 4 ) << std::endl; + Double_t exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; + exposureTimes.push_back( exposureTime ); + std::cout << "Exposure time: " << exposureTime << std::endl; + + gasPhase.Write( "P" + (TString) IntegerToString(n+1) ); + } + f->Close(); +>>>>>>> Stashed changes std::cout << "Generated signals file: " << componentsFile << std::endl; +<<<<<<< Updated upstream return 0; +======= + Double_t generatedExposureTime = 0; + for( size_t n = skipSteps; n < scanSteps.size(); n++ ) + generatedExposureTime += exposureTimes[n-skipSteps]; + + + FILE *g = fopen(settingsFile.c_str(), "wt"); + for( size_t n = skipSteps; n < scanSteps.size(); n++ ) + fprintf( g, "%lf\tP%d\n", totalExposureTime * exposureTimes[n-skipSteps] / generatedExposureTime, (int) (n+1) ); + fclose(g); + + std::cout << "Generated settings file: " << settingsFile << std::endl; + + return 0; +>>>>>>> Stashed changes } diff --git a/examples/03.sensitivity/IAXO.rml b/examples/03.sensitivity/IAXO.rml index e3a4337e..0a26dd6e 100644 --- a/examples/03.sensitivity/IAXO.rml +++ b/examples/03.sensitivity/IAXO.rml @@ -2,8 +2,13 @@ +<<<<<<< Updated upstream +======= + + +>>>>>>> Stashed changes @@ -13,17 +18,26 @@ +<<<<<<< Updated upstream >>>>>> Stashed changes magnetRadius="30cm" magnetLength="20m" magnetStrength="2.5T" opticsEfficiency="0.7" windowEfficiency="0.8"> + + + + + - @@ -55,8 +69,13 @@ +<<<<<<< Updated upstream +======= + +>>>>>>> Stashed changes diff --git a/inc/TRestAxionHelioscopeSignal.h b/inc/TRestAxionHelioscopeSignal.h index 00e2cbfa..bb4cd2aa 100644 --- a/inc/TRestAxionHelioscopeSignal.h +++ b/inc/TRestAxionHelioscopeSignal.h @@ -69,8 +69,10 @@ class TRestAxionHelioscopeSignal : public TRestComponent { public: Double_t GetSignalRate(std::vector point, Double_t mass = 0); + Double_t GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef); TRestAxionBufferGas* GetGas() { return fGas; } + TRestAxionSolarFlux* GetFlux() { return fFlux; } void PrintMetadata() override; diff --git a/src/TRestAxionField.cxx b/src/TRestAxionField.cxx index d6713d32..60f14b97 100644 --- a/src/TRestAxionField.cxx +++ b/src/TRestAxionField.cxx @@ -298,6 +298,7 @@ Double_t TRestAxionField::GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t photonMass = mg; + if (mg == 0 && fBufferGas) photonMass = fBufferGas->GetPhotonMass(fEa); RESTDebug << "+--------------------------------------------------------------------------+" << RESTendl; diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index 10f81f91..6e350056 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -132,11 +132,11 @@ void TRestAxionHelioscopeSignal::Initialize() { /////////////////////////////////////////////// /// \brief It returns the intensity/rate (in seconds) corresponding to the -/// formula evaluated at the position of the parameter space given by point -/// and integrated to the parameter space cell volume. +/// class defined helioscope configuration evaluated at the position of the +/// parameter space given by point, which by now is simply the energy. /// /// The size of the point vector must have the same dimension as the dimensions -/// of the variables of the distribution. +/// of the variables of the distribution. Right now is 1-dimension. /// Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, Double_t mass) { if (GetDimensions() != point.size()) { @@ -173,6 +173,37 @@ Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, return normFactor * signal; // s-1 } +/////////////////////////////////////////////// +/// \brief It returns the intensity/rate (in seconds) corresponding to the +/// class defined helioscope configuration integrated in the energy range +/// given by argument. +/// +Double_t TRestAxionHelioscopeSignal::GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef) { + + std::cout << "A" << std::endl; + Double_t dE = 0.5; + + Double_t signal = 0; + for( Double_t en = Eo; en < Ef; en += dE ) + { + Double_t flux = fFlux->GetFluxAtEnergy(en, mass); // cm-2 s-1 keV-1 + + /// This is copy/paste from previous method. Sorry for doing this. + Double_t probability = 0; + if (fConversionType == "IAXO") { + probability = + fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(en, mass); + + // We assume all flux ends up inside the spot. No XY dependency of signal. + Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); + flux *= fBores * apertureArea; + } + signal += flux * probability; + } + + return signal * dE; // s-1 +} + ///////////////////////////////////////////// /// \brief It will produce a histogram with the distribution using the formula /// contributions. From d0aaaeb83431769d06cbda2272fd4460db71adbd Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 09:37:07 +0000 Subject: [PATCH 31/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.sensitivity/BabyIAXO.rml | 2 +- examples/03.sensitivity/IAXO.rml | 6 ++--- inc/TRestAxionHelioscopeSignal.h | 2 +- src/TRestAxionField.cxx | 1 - src/TRestAxionHelioscopeSignal.cxx | 40 +++++++++++++--------------- 5 files changed, 24 insertions(+), 27 deletions(-) diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.sensitivity/BabyIAXO.rml index 24c850be..48146390 100644 --- a/examples/03.sensitivity/BabyIAXO.rml +++ b/examples/03.sensitivity/BabyIAXO.rml @@ -5,7 +5,7 @@ <<<<<<< Updated upstream ======= - + >>>>>>> Stashed changes diff --git a/examples/03.sensitivity/IAXO.rml b/examples/03.sensitivity/IAXO.rml index 0a26dd6e..22ad5f43 100644 --- a/examples/03.sensitivity/IAXO.rml +++ b/examples/03.sensitivity/IAXO.rml @@ -6,7 +6,7 @@ ======= - + >>>>>>> Stashed changes @@ -23,7 +23,7 @@ conversionType="IAXO" bores="8" ======= >>>>>> Stashed changes magnetRadius="30cm" magnetLength="20m" magnetStrength="2.5T" opticsEfficiency="0.7" windowEfficiency="0.8"> @@ -73,7 +73,7 @@ ======= - >>>>>>> Stashed changes diff --git a/inc/TRestAxionHelioscopeSignal.h b/inc/TRestAxionHelioscopeSignal.h index bb4cd2aa..985fd4fd 100644 --- a/inc/TRestAxionHelioscopeSignal.h +++ b/inc/TRestAxionHelioscopeSignal.h @@ -69,7 +69,7 @@ class TRestAxionHelioscopeSignal : public TRestComponent { public: Double_t GetSignalRate(std::vector point, Double_t mass = 0); - Double_t GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef); + Double_t GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef); TRestAxionBufferGas* GetGas() { return fGas; } TRestAxionSolarFlux* GetFlux() { return fFlux; } diff --git a/src/TRestAxionField.cxx b/src/TRestAxionField.cxx index 60f14b97..d6713d32 100644 --- a/src/TRestAxionField.cxx +++ b/src/TRestAxionField.cxx @@ -298,7 +298,6 @@ Double_t TRestAxionField::GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t photonMass = mg; - if (mg == 0 && fBufferGas) photonMass = fBufferGas->GetPhotonMass(fEa); RESTDebug << "+--------------------------------------------------------------------------+" << RESTendl; diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index 6e350056..46bab0db 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -179,27 +179,25 @@ Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, /// given by argument. /// Double_t TRestAxionHelioscopeSignal::GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef) { - - std::cout << "A" << std::endl; - Double_t dE = 0.5; - - Double_t signal = 0; - for( Double_t en = Eo; en < Ef; en += dE ) - { - Double_t flux = fFlux->GetFluxAtEnergy(en, mass); // cm-2 s-1 keV-1 - - /// This is copy/paste from previous method. Sorry for doing this. - Double_t probability = 0; - if (fConversionType == "IAXO") { - probability = - fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(en, mass); - - // We assume all flux ends up inside the spot. No XY dependency of signal. - Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); - flux *= fBores * apertureArea; - } - signal += flux * probability; - } + std::cout << "A" << std::endl; + Double_t dE = 0.5; + + Double_t signal = 0; + for (Double_t en = Eo; en < Ef; en += dE) { + Double_t flux = fFlux->GetFluxAtEnergy(en, mass); // cm-2 s-1 keV-1 + + /// This is copy/paste from previous method. Sorry for doing this. + Double_t probability = 0; + if (fConversionType == "IAXO") { + probability = + fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(en, mass); + + // We assume all flux ends up inside the spot. No XY dependency of signal. + Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm"); + flux *= fBores * apertureArea; + } + signal += flux * probability; + } return signal * dE; // s-1 } From ed87fdc3f4c238dc47a2b9b78d0e670a2b895443 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 11:41:08 +0200 Subject: [PATCH 32/64] Updating README.md --- examples/03.sensitivity/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/03.sensitivity/README.md b/examples/03.sensitivity/README.md index d6bad576..f715146f 100644 --- a/examples/03.sensitivity/README.md +++ b/examples/03.sensitivity/README.md @@ -8,14 +8,14 @@ Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | B | T | ~2 | ~2.5 | ~3.5 | L | m | 10 | 20 | 22 | -A | m$^2$ | 0.77 | 2.3 | 3.9 | +A | m$$^2$$ | 0.77 | 2.3 | 3.9 | ----------|-------|----------|---------------|---------------| b | keV$^{-1}$cm$^{-2}$s$^{-1}$ | 1$\times$10$^{-7}$ | 1$\times$10$^{-8}$ | 1$\times$10$^{-9}$ | $\epsilon_d$ | | 0.7 | 0.8 | 0.8 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | a | cm$^2$ | 2$\times$0.3 | 8$\times$0.15 | 8$\times$0.15 | $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | -t | year | 3+3 | 6+6 | 10+10 | +t | year ${ \displaystyle \int_{C}{ n \operatorname{d}l } }$ | 3+3 | 6+6 | 10+10 | ## Vacuum sensitivity curve generation From eb8ffaafc27e3046a573ce2b5106d42132c01ad5 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 11:51:18 +0200 Subject: [PATCH 33/64] Adding README.md --- examples/03.sensitivity/README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/03.sensitivity/README.md b/examples/03.sensitivity/README.md index f715146f..199ceee3 100644 --- a/examples/03.sensitivity/README.md +++ b/examples/03.sensitivity/README.md @@ -4,18 +4,18 @@ - `BabyIAXO.rml`: It will serve to reproduce the sensitivityof BabyIAXO data taking phase. We include vacuum phase and a combination of vacuum and 73 density settings that extend the axion search up to 0.25 eV. - `IAXO.rml`: -Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | - :---: | :---: | :---: | :---: | :---: | -B | T | ~2 | ~2.5 | ~3.5 | -L | m | 10 | 20 | 22 | -A | m$$^2$$ | 0.77 | 2.3 | 3.9 | -----------|-------|----------|---------------|---------------| -b | keV$^{-1}$cm$^{-2}$s$^{-1}$ | 1$\times$10$^{-7}$ | 1$\times$10$^{-8}$ | 1$\times$10$^{-9}$ | -$\epsilon_d$ | | 0.7 | 0.8 | 0.8 | -$\epsilon_o$ | | 0.35 | 0.7 | 0.7 | -a | cm$^2$ | 2$\times$0.3 | 8$\times$0.15 | 8$\times$0.15 | -$\epsilon_t$ | | 0.5 | 0.5 | 0.5 | -t | year ${ \displaystyle \int_{C}{ n \operatorname{d}l } }$ | 3+3 | 6+6 | 10+10 | +Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | + :---: | :---: | :---: | :---: | :---: | +B | T | ~2 | ~2.5 | ~3.5 | +L | m | 10 | 20 | 22 | +A | m^2 | 0.77 | 2.3 | 3.9 | + -------- | ----- | ------ | ----------- | ----------- | +b | keV$^{-1}$cm$^{-2}$s$^{-1}$ | 1$\times$10$^{-7}$ | 1$\times$10$^{-8}$ | 1$\times$10$^{-9}$ | +$\epsilon_d$ | | 0.7 | 0.8 | 0.8 | +$\epsilon_o$ | | 0.35 | 0.7 | 0.7 | +a | cm$^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | +$\epsilon_t$ | | 0.5 | 0.5 | 0.5 | +t | year | 3+3 | 6+6 | 10+10 | ## Vacuum sensitivity curve generation From 281dd820239237a17e05b42258e510a86d0c06c9 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 12:08:38 +0200 Subject: [PATCH 34/64] Updating README.md --- examples/{03.sensitivity => 03.IAXO}/BabyIAXO.rml | 0 .../{03.sensitivity => 03.IAXO}/GenerateSignalComponents.C | 0 examples/{03.sensitivity => 03.IAXO}/IAXO.rml | 0 examples/{03.sensitivity => 03.IAXO}/README.md | 5 ++++- 4 files changed, 4 insertions(+), 1 deletion(-) rename examples/{03.sensitivity => 03.IAXO}/BabyIAXO.rml (100%) rename examples/{03.sensitivity => 03.IAXO}/GenerateSignalComponents.C (100%) rename examples/{03.sensitivity => 03.IAXO}/IAXO.rml (100%) rename examples/{03.sensitivity => 03.IAXO}/README.md (77%) diff --git a/examples/03.sensitivity/BabyIAXO.rml b/examples/03.IAXO/BabyIAXO.rml similarity index 100% rename from examples/03.sensitivity/BabyIAXO.rml rename to examples/03.IAXO/BabyIAXO.rml diff --git a/examples/03.sensitivity/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C similarity index 100% rename from examples/03.sensitivity/GenerateSignalComponents.C rename to examples/03.IAXO/GenerateSignalComponents.C diff --git a/examples/03.sensitivity/IAXO.rml b/examples/03.IAXO/IAXO.rml similarity index 100% rename from examples/03.sensitivity/IAXO.rml rename to examples/03.IAXO/IAXO.rml diff --git a/examples/03.sensitivity/README.md b/examples/03.IAXO/README.md similarity index 77% rename from examples/03.sensitivity/README.md rename to examples/03.IAXO/README.md index 199ceee3..95aabbc6 100644 --- a/examples/03.sensitivity/README.md +++ b/examples/03.IAXO/README.md @@ -4,6 +4,8 @@ - `BabyIAXO.rml`: It will serve to reproduce the sensitivityof BabyIAXO data taking phase. We include vacuum phase and a combination of vacuum and 73 density settings that extend the axion search up to 0.25 eV. - `IAXO.rml`: +This example is used to reproduce the different scenarios considered inside the "E. Armengaud et al JCAP06(2019)047, Physics Potential of the International Axion Observatory". Those scenarios are summarized in the following table, where some values, concerning detector efficiency, $\epsilon_d$, have been replaced by just window detector efficiency, $\epsilon_w$, since the detailed detector response is considered and constructed using [restG4](https://github.com/rest-for-physics/restG4/tree/master), see example [14.DetectorResponse](https://github.com/rest-for-physics/restG4/tree/master/examples/14.DetectorResponse). + Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | B | T | ~2 | ~2.5 | ~3.5 | @@ -11,12 +13,13 @@ L | m | 10 | 20 | 22 | A | m^2 | 0.77 | 2.3 | 3.9 | -------- | ----- | ------ | ----------- | ----------- | b | keV$^{-1}$cm$^{-2}$s$^{-1}$ | 1$\times$10$^{-7}$ | 1$\times$10$^{-8}$ | 1$\times$10$^{-9}$ | -$\epsilon_d$ | | 0.7 | 0.8 | 0.8 | +$\epsilon_w$ | | 0.85 | 0.95 | 0.95 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | a | cm$^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | t | year | 3+3 | 6+6 | 10+10 | + ## Vacuum sensitivity curve generation ``` From 901aa4ca37bda6757fb1f39f6377a36fa6976baf Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 12:10:41 +0200 Subject: [PATCH 35/64] README.md testing maths --- examples/03.IAXO/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 95aabbc6..c173cc72 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -10,9 +10,9 @@ Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | B | T | ~2 | ~2.5 | ~3.5 | L | m | 10 | 20 | 22 | -A | m^2 | 0.77 | 2.3 | 3.9 | +A | m^2 | 0.77 | 2.3 | 3.9 | -------- | ----- | ------ | ----------- | ----------- | -b | keV$^{-1}$cm$^{-2}$s$^{-1}$ | 1$\times$10$^{-7}$ | 1$\times$10$^{-8}$ | 1$\times$10$^{-9}$ | +b | $keV^{-1}cm^{-2}s^{-1}$ | $1\times10^{-7}$ | 1$\times 10^{-8}$ | 1$\times$10$^{-9}$ | $\epsilon_w$ | | 0.85 | 0.95 | 0.95 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | a | cm$^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | From e52705b2598accbc223a0066b827edb8cb849cd1 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 12:11:49 +0200 Subject: [PATCH 36/64] Updating math expressions --- examples/03.IAXO/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index c173cc72..014f4492 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -10,12 +10,12 @@ Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | B | T | ~2 | ~2.5 | ~3.5 | L | m | 10 | 20 | 22 | -A | m^2 | 0.77 | 2.3 | 3.9 | +A | $m^2$ | 0.77 | 2.3 | 3.9 | -------- | ----- | ------ | ----------- | ----------- | -b | $keV^{-1}cm^{-2}s^{-1}$ | $1\times10^{-7}$ | 1$\times 10^{-8}$ | 1$\times$10$^{-9}$ | +b | $keV^{-1}cm^{-2}s^{-1}$ | $1\times10^{-7}$ | $1\times 10^{-8}$ | $1\times10^{-9}$ | $\epsilon_w$ | | 0.85 | 0.95 | 0.95 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | -a | cm$^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | +a | $cm^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | t | year | 3+3 | 6+6 | 10+10 | From b3f00140dc10e60f72421ab38e23b745d8d62c35 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 12:13:51 +0200 Subject: [PATCH 37/64] README.md update --- examples/03.IAXO/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 014f4492..8b15fb62 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -8,16 +8,16 @@ This example is used to reproduce the different scenarios considered inside the Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | -B | T | ~2 | ~2.5 | ~3.5 | -L | m | 10 | 20 | 22 | +B | $T$ | ~2 | ~2.5 | ~3.5 | +L | $m$ | 10 | 20 | 22 | A | $m^2$ | 0.77 | 2.3 | 3.9 | - -------- | ----- | ------ | ----------- | ----------- | + - | - | - | - | - | b | $keV^{-1}cm^{-2}s^{-1}$ | $1\times10^{-7}$ | $1\times 10^{-8}$ | $1\times10^{-9}$ | $\epsilon_w$ | | 0.85 | 0.95 | 0.95 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | a | $cm^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | -t | year | 3+3 | 6+6 | 10+10 | +t | $year$ | 3+3 | 6+6 | 10+10 | ## Vacuum sensitivity curve generation From 0a6e1306364f8fc2856964384f8a646a56391fa3 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 12:14:43 +0200 Subject: [PATCH 38/64] Updating README.md --- examples/03.IAXO/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 8b15fb62..1b292b65 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -11,7 +11,7 @@ Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | B | $T$ | ~2 | ~2.5 | ~3.5 | L | $m$ | 10 | 20 | 22 | A | $m^2$ | 0.77 | 2.3 | 3.9 | - - | - | - | - | - | + -- | -- | -- | -- | -- | b | $keV^{-1}cm^{-2}s^{-1}$ | $1\times10^{-7}$ | $1\times 10^{-8}$ | $1\times10^{-9}$ | $\epsilon_w$ | | 0.85 | 0.95 | 0.95 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | From fbb577e72180266fd0e09e02369cf5b1e7cbdefc Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 13:11:53 +0200 Subject: [PATCH 39/64] BabyIAXO.rml final updates --- examples/03.IAXO/BabyIAXO.rml | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/examples/03.IAXO/BabyIAXO.rml b/examples/03.IAXO/BabyIAXO.rml index 48146390..c577e0a7 100644 --- a/examples/03.IAXO/BabyIAXO.rml +++ b/examples/03.IAXO/BabyIAXO.rml @@ -2,12 +2,8 @@ -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes @@ -20,7 +16,7 @@ + opticsEfficiency="0.35" windowEfficiency="0.85" > @@ -31,17 +27,16 @@ + + + -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes @@ -67,16 +62,13 @@ + + -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes @@ -90,7 +82,7 @@ + opticsEfficiency="0.35" windowEfficiency="0.9"> @@ -105,6 +97,8 @@ + + From 1476e5d83e158d5e5726c2ceeafc987924ae6c6a Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 13:12:27 +0200 Subject: [PATCH 40/64] IAXO.rml final updates --- examples/03.IAXO/IAXO.rml | 53 ++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/examples/03.IAXO/IAXO.rml b/examples/03.IAXO/IAXO.rml index 22ad5f43..6b5ff8f5 100644 --- a/examples/03.IAXO/IAXO.rml +++ b/examples/03.IAXO/IAXO.rml @@ -2,15 +2,10 @@ -<<<<<<< Updated upstream - -======= - - ->>>>>>> Stashed changes + - + @@ -18,15 +13,10 @@ -<<<<<<< Updated upstream - >>>>>> Stashed changes magnetRadius="30cm" magnetLength="20m" magnetStrength="2.5T" - opticsEfficiency="0.7" windowEfficiency="0.8"> + opticsEfficiency="0.7" windowEfficiency="0.95"> @@ -38,16 +28,17 @@ + + - - + - + @@ -58,42 +49,48 @@ + opticsEfficiency="0.7" windowEfficiency="0.95"> - + + + + + + + + -<<<<<<< Updated upstream - -======= - ->>>>>>> Stashed changes - + - - + opticsEfficiency="0.7" windowEfficiency="0.95"> + + + + + From a55c183bfbbe752fad4c666453860ab2f19e5b29 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 13:17:12 +0200 Subject: [PATCH 41/64] GenerateSignalComponents.C final fixes --- examples/03.IAXO/GenerateSignalComponents.C | 36 --------------------- 1 file changed, 36 deletions(-) diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index 5b4a933b..12cce7ab 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -1,11 +1,3 @@ -<<<<<<< Updated upstream -Int_t GenerateSignalComponents(std::string rmlFile, std::string name) { - TRestAxionField field; - std::vector> scanSteps = - field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV - - TRestAxionHelioscopeSignal gasPhase(rmlFile.c_str(), name.c_str()); -======= Double_t Eo = 0.5; //keV Double_t Ef = 10; //keV @@ -15,9 +7,6 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t t std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV TRestAxionHelioscopeSignal gasPhase( rmlFile.c_str(), name.c_str()); - //gasPhase.RegenerateParametricNodes( startMass, upperMass, step, true ); ->>>>>>> Stashed changes - std::filesystem::path filePath = rmlFile; std::filesystem::path newExtension = ".settings"; std::string settingsFile = filePath.replace_extension(newExtension); @@ -28,52 +17,28 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t t settingsFile = "output/" + settingsFile; componentsFile = "output/" + componentsFile; -<<<<<<< Updated upstream - FILE* g = fopen(settingsFile.c_str(), "wt"); - TFile* f = TFile::Open((TString)componentsFile, "RECREATE"); - for (size_t n = 0; n < scanSteps.size(); n++) { - gasPhase.SetName("P" + (TString)IntegerToString(n + 1)); - gasPhase.GetGas()->SetGasDensity("He", scanSteps[n].second); - gasPhase.RegenerateHistograms(); - gasPhase.Write("P" + (TString)IntegerToString(n + 1)); - fprintf(g, "P%d\n", (int)(n + 1)); - } - fclose(g); - - f->Close(); -======= TFile *f = TFile::Open( (TString) componentsFile, "RECREATE" ); std::vector exposureTimes; for( size_t n = skipSteps; n < scanSteps.size(); n++ ) { Double_t mass = scanSteps[n].first; - std::cout << "Mass: " << mass << std::endl; Double_t density = scanSteps[n].second; - std::cout << "Setting density: " << density << std::endl; gasPhase.SetName( "P" + (TString) IntegerToString(n+1) ); gasPhase.GetGas()->SetGasDensity("He", density); gasPhase.RegenerateHistograms(); Double_t nGamma = gasPhase.GetSignalRate(mass, Eo, Ef); - std::cout << "nGamma: " << nGamma << std::endl; - std::cout << "Mass: " << mass << std::endl; Double_t ksvzFactor = 3.75523 * mass; - std::cout << "Log(20)/ksvzFactor : " << TMath::Log(20)/TMath::Power( ksvzFactor, 4 ) << std::endl; Double_t exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; exposureTimes.push_back( exposureTime ); - std::cout << "Exposure time: " << exposureTime << std::endl; gasPhase.Write( "P" + (TString) IntegerToString(n+1) ); } f->Close(); ->>>>>>> Stashed changes std::cout << "Generated signals file: " << componentsFile << std::endl; -<<<<<<< Updated upstream - return 0; -======= Double_t generatedExposureTime = 0; for( size_t n = skipSteps; n < scanSteps.size(); n++ ) generatedExposureTime += exposureTimes[n-skipSteps]; @@ -87,5 +52,4 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t t std::cout << "Generated settings file: " << settingsFile << std::endl; return 0; ->>>>>>> Stashed changes } From a25b83b2948b86344d78769e30d90d69f63c42ce Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 13:19:36 +0200 Subject: [PATCH 42/64] Updating README.md --- examples/03.IAXO/README.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 1b292b65..247eca98 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -1,9 +1,3 @@ - -## Available configuration files - -- `BabyIAXO.rml`: It will serve to reproduce the sensitivityof BabyIAXO data taking phase. We include vacuum phase and a combination of vacuum and 73 density settings that extend the axion search up to 0.25 eV. -- `IAXO.rml`: - This example is used to reproduce the different scenarios considered inside the "E. Armengaud et al JCAP06(2019)047, Physics Potential of the International Axion Observatory". Those scenarios are summarized in the following table, where some values, concerning detector efficiency, $\epsilon_d$, have been replaced by just window detector efficiency, $\epsilon_w$, since the detailed detector response is considered and constructed using [restG4](https://github.com/rest-for-physics/restG4/tree/master), see example [14.DetectorResponse](https://github.com/rest-for-physics/restG4/tree/master/examples/14.DetectorResponse). Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | @@ -17,8 +11,10 @@ $\epsilon_w$ | | 0.85 | 0.95 | 0.95 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | a | $cm^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | -t | $year$ | 3+3 | 6+6 | 10+10 | +t | $year$ | 3+3 | 5+5 | 10+10 | + File | | BabyIAXO.rml | IAXO.rml | IAXOPlus.rml | +We consider a tracking of 12 hours which is why we define $\epsilon_t$ efficiency, and we consider a data taking efficiency of 300days out of 365 natural days available. ## Vacuum sensitivity curve generation @@ -38,9 +34,17 @@ restRoot [1] GenerateSignalComponents( "BabyIAXO.rml", "GasSignal" ); ``` -Then, inside `TRestSensitivity` we define an experiment list, with a -column which defines the signal to be used, with common background -and common exposure time. +The exposure times at each density setting are adjusted to follow the KSVZ line trend. It is `GenerateSignalComponents.C` the responsible to perform this calculation and to create a `settings` file that will define the exposure times, and the corresponding TRestComponent signal, that will be also generated by this macro for each density setting, and stored in a ROOT file. + +The `GenerateSignalComponents` macro defines a default total exposure time that will be distributed between the different density settings. For example, in order to generate the signals and settings file for IAXO we would need to specify that the gas phase takes in total 5 years of 300days and 12 hours, and express it in seconds. + +``` +restRoot +[0] .L GenerateSignalComponents.C +[1] GenerateSignalComponents( "BabyIAXO.rml", "GasSignal", 5*300*12*3600 ); +``` + +The first density setting will be skipped since it exceeds the total time required to reach the KSVZ line. We may also change the number of skipped settings. Then, inside `TRestSensitivity` we define an experiment list, the `settings` file with a column which the calculated exposure time, and the signal to be used, with a common background defined inside . ``` [0] TRestSensitivity sens("BabyIAXO.rml", "CombinedPhase"); @@ -51,3 +55,4 @@ and common exposure time. **Hints** - A detailed x-ray detector response is included in the signal calculation. The pre-calculated response matrix will be convoluted with the axion energy spectrum resulting in a calculation that is 150 times (number of reponse matrix bins) more expensive. If removed, calculation should achieve better computational timing. - The number of parameter nodes, mass values at which the signal is calculated is of the order of 500 points, which will lead to a HD curve. Reducing the number of points by increasing the parameter `stepParameterValue` will also reduce the computational cost. +- The parameter `useAverage` has been enabled for all examples, meaning that the tracking mock MonteCarlo data will be generated using exactly the average number of background counts, thus representing an average experiment but not a realistic data taking program. Still good enough to present prospects. A more complete exclusion could be achieved by disabling the `useAverage` parameter and generating several sensitivity curves, using `TRestSensitivity::GenerateCurves(N)` and then drawing them using `TRestSensitivity::DrawLevelCurves`. From 6370aeba37b86f05399713ef4eae8784dd5c9e1a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 11:19:54 +0000 Subject: [PATCH 43/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.IAXO/GenerateSignalComponents.C | 66 ++++++++++----------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index 12cce7ab..4879ad2f 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -1,12 +1,13 @@ -Double_t Eo = 0.5; //keV -Double_t Ef = 10; //keV +Double_t Eo = 0.5; // keV +Double_t Ef = 10; // keV -Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t totalExposureTime=3*300*12*3600, size_t skipSteps = 1) -{ - TRestAxionField field; - std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV +Int_t GenerateSignalComponents(std::string rmlFile, std::string name, + Double_t totalExposureTime = 3 * 300 * 12 * 3600, size_t skipSteps = 1) { + TRestAxionField field; + std::vector> scanSteps = + field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV - TRestAxionHelioscopeSignal gasPhase( rmlFile.c_str(), name.c_str()); + TRestAxionHelioscopeSignal gasPhase(rmlFile.c_str(), name.c_str()); std::filesystem::path filePath = rmlFile; std::filesystem::path newExtension = ".settings"; std::string settingsFile = filePath.replace_extension(newExtension); @@ -17,39 +18,38 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t t settingsFile = "output/" + settingsFile; componentsFile = "output/" + componentsFile; - TFile *f = TFile::Open( (TString) componentsFile, "RECREATE" ); - std::vector exposureTimes; - for( size_t n = skipSteps; n < scanSteps.size(); n++ ) - { - Double_t mass = scanSteps[n].first; - Double_t density = scanSteps[n].second; + TFile* f = TFile::Open((TString)componentsFile, "RECREATE"); + std::vector exposureTimes; + for (size_t n = skipSteps; n < scanSteps.size(); n++) { + Double_t mass = scanSteps[n].first; + Double_t density = scanSteps[n].second; - gasPhase.SetName( "P" + (TString) IntegerToString(n+1) ); - gasPhase.GetGas()->SetGasDensity("He", density); - gasPhase.RegenerateHistograms(); + gasPhase.SetName("P" + (TString)IntegerToString(n + 1)); + gasPhase.GetGas()->SetGasDensity("He", density); + gasPhase.RegenerateHistograms(); - Double_t nGamma = gasPhase.GetSignalRate(mass, Eo, Ef); - Double_t ksvzFactor = 3.75523 * mass; - Double_t exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; - exposureTimes.push_back( exposureTime ); + Double_t nGamma = gasPhase.GetSignalRate(mass, Eo, Ef); + Double_t ksvzFactor = 3.75523 * mass; + Double_t exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; + exposureTimes.push_back(exposureTime); - gasPhase.Write( "P" + (TString) IntegerToString(n+1) ); - } - f->Close(); + gasPhase.Write("P" + (TString)IntegerToString(n + 1)); + } + f->Close(); std::cout << "Generated signals file: " << componentsFile << std::endl; - Double_t generatedExposureTime = 0; - for( size_t n = skipSteps; n < scanSteps.size(); n++ ) - generatedExposureTime += exposureTimes[n-skipSteps]; + Double_t generatedExposureTime = 0; + for (size_t n = skipSteps; n < scanSteps.size(); n++) + generatedExposureTime += exposureTimes[n - skipSteps]; + FILE* g = fopen(settingsFile.c_str(), "wt"); + for (size_t n = skipSteps; n < scanSteps.size(); n++) + fprintf(g, "%lf\tP%d\n", totalExposureTime * exposureTimes[n - skipSteps] / generatedExposureTime, + (int)(n + 1)); + fclose(g); - FILE *g = fopen(settingsFile.c_str(), "wt"); - for( size_t n = skipSteps; n < scanSteps.size(); n++ ) - fprintf( g, "%lf\tP%d\n", totalExposureTime * exposureTimes[n-skipSteps] / generatedExposureTime, (int) (n+1) ); - fclose(g); + std::cout << "Generated settings file: " << settingsFile << std::endl; - std::cout << "Generated settings file: " << settingsFile << std::endl; - - return 0; + return 0; } From d7fc899cce0261afee3d5860e95d50d7ba0aa3a1 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 16:19:45 +0200 Subject: [PATCH 44/64] Final updates --- examples/03.IAXO/BabyIAXO.rml | 17 ++-- examples/03.IAXO/GenerateSignalComponents.C | 2 +- examples/03.IAXO/IAXO.rml | 17 ++-- examples/03.IAXO/IAXOPlus.rml | 99 +++++++++++++++++++++ examples/03.IAXO/README.md | 19 +++- 5 files changed, 126 insertions(+), 28 deletions(-) create mode 100644 examples/03.IAXO/IAXOPlus.rml diff --git a/examples/03.IAXO/BabyIAXO.rml b/examples/03.IAXO/BabyIAXO.rml index c577e0a7..dc89d043 100644 --- a/examples/03.IAXO/BabyIAXO.rml +++ b/examples/03.IAXO/BabyIAXO.rml @@ -3,7 +3,7 @@ - + @@ -16,7 +16,7 @@ + opticsEfficiency="0.35" windowEfficiency="0.7" > @@ -27,16 +27,13 @@ - - - - + @@ -49,7 +46,7 @@ + opticsEfficiency="0.35" windowEfficiency="0.7"> @@ -61,9 +58,6 @@ - - - @@ -82,7 +76,7 @@ + opticsEfficiency="0.35" windowEfficiency="0.7"> @@ -98,7 +92,6 @@ - diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index 12cce7ab..9390514f 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -1,7 +1,7 @@ Double_t Eo = 0.5; //keV Double_t Ef = 10; //keV -Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t totalExposureTime=3*300*12*3600, size_t skipSteps = 1) +Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t totalExposureTime=1.5*300*12*3600, size_t skipSteps = 1) { TRestAxionField field; std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV diff --git a/examples/03.IAXO/IAXO.rml b/examples/03.IAXO/IAXO.rml index 6b5ff8f5..600e90d5 100644 --- a/examples/03.IAXO/IAXO.rml +++ b/examples/03.IAXO/IAXO.rml @@ -3,7 +3,7 @@ - + @@ -16,7 +16,7 @@ + opticsEfficiency="0.7" windowEfficiency="0.8"> @@ -28,15 +28,13 @@ - - - + @@ -49,7 +47,7 @@ + opticsEfficiency="0.7" windowEfficiency="0.8"> @@ -62,8 +60,6 @@ - - @@ -82,7 +78,7 @@ + opticsEfficiency="0.7" windowEfficiency="0.8"> @@ -94,11 +90,10 @@ + - - diff --git a/examples/03.IAXO/IAXOPlus.rml b/examples/03.IAXO/IAXOPlus.rml new file mode 100644 index 00000000..b24ea83d --- /dev/null +++ b/examples/03.IAXO/IAXOPlus.rml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 247eca98..92b34a73 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -1,4 +1,4 @@ -This example is used to reproduce the different scenarios considered inside the "E. Armengaud et al JCAP06(2019)047, Physics Potential of the International Axion Observatory". Those scenarios are summarized in the following table, where some values, concerning detector efficiency, $\epsilon_d$, have been replaced by just window detector efficiency, $\epsilon_w$, since the detailed detector response is considered and constructed using [restG4](https://github.com/rest-for-physics/restG4/tree/master), see example [14.DetectorResponse](https://github.com/rest-for-physics/restG4/tree/master/examples/14.DetectorResponse). +This example is used to reproduce the different scenarios considered inside the "E. Armengaud et al JCAP06(2019)047, Physics Potential of the International Axion Observatory". Those scenarios are summarized in the following table. Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | @@ -7,15 +7,19 @@ L | $m$ | 10 | 20 | 22 | A | $m^2$ | 0.77 | 2.3 | 3.9 | -- | -- | -- | -- | -- | b | $keV^{-1}cm^{-2}s^{-1}$ | $1\times10^{-7}$ | $1\times 10^{-8}$ | $1\times10^{-9}$ | -$\epsilon_w$ | | 0.85 | 0.95 | 0.95 | +$\epsilon_d$ | | 0.7 | 0.8 | 0.8 | $\epsilon_o$ | | 0.35 | 0.7 | 0.7 | a | $cm^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 | $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | -t | $year$ | 3+3 | 5+5 | 10+10 | +t | $year$ | 1.5+1.5 | 3+3 | 5+5 | File | | BabyIAXO.rml | IAXO.rml | IAXOPlus.rml | We consider a tracking of 12 hours which is why we define $\epsilon_t$ efficiency, and we consider a data taking efficiency of 300days out of 365 natural days available. +Each of the RML files contains a description of the data taking program for 2 scenarios. +- Vacuum phase: Where we consider the total exposure time if we would only take datra in vacuum, and add one extra year that would be required for the commissioning of a gas phase. +- Combined phase: Where we use the strict scenario proposed in the CDR with half the time in vacuum phase, and half the time distributed in 72 density settings required to reach ~0.25eV coherent mass. + ## Vacuum sensitivity curve generation ``` @@ -50,9 +54,16 @@ The first density setting will be skipped since it exceeds the total time requir [0] TRestSensitivity sens("BabyIAXO.rml", "CombinedPhase"); [1] sens.GenerateCurve() [2] sens.ExportCurve("output/BabyIAXO_vacuum.txt", 0 ) + +### Detector response + +A detailed detector x-ray response could be considered by adding the pre-calculated response constructed using [restG4](https://github.com/rest-for-physics/restG4/tree/master), see example [14.DetectorResponse](https://github.com/rest-for-physics/restG4/tree/master/examples/14.DetectorResponse).The pre-calculated response matrix will be convoluted with the axion energy spectrum resulting in a calculation that is 150 times (number of reponse matrix bins) more expensive. The detector response will be considered in the sensitivity calculation if we include a `` section inside ``, for example for a Xenon-Neon based mixture at 1.4 bar we would add: + +``` + ``` **Hints** -- A detailed x-ray detector response is included in the signal calculation. The pre-calculated response matrix will be convoluted with the axion energy spectrum resulting in a calculation that is 150 times (number of reponse matrix bins) more expensive. If removed, calculation should achieve better computational timing. - The number of parameter nodes, mass values at which the signal is calculated is of the order of 500 points, which will lead to a HD curve. Reducing the number of points by increasing the parameter `stepParameterValue` will also reduce the computational cost. - The parameter `useAverage` has been enabled for all examples, meaning that the tracking mock MonteCarlo data will be generated using exactly the average number of background counts, thus representing an average experiment but not a realistic data taking program. Still good enough to present prospects. A more complete exclusion could be achieved by disabling the `useAverage` parameter and generating several sensitivity curves, using `TRestSensitivity::GenerateCurves(N)` and then drawing them using `TRestSensitivity::DrawLevelCurves`. +- We are using here the Primakoff flux for the calculation, but obviously just replacing the `TRestAxionQCDSolarFlux` by the corresponding definition would allow to get limit to e.g. the ABC electron coupling flux. From 17913e490417dde0e43d75b56fa54fca73e9b47b Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 16:30:20 +0200 Subject: [PATCH 45/64] TRestAxionHelioscopeSignal Removing forgotten cout --- src/TRestAxionHelioscopeSignal.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx index 46bab0db..a23e8dbb 100644 --- a/src/TRestAxionHelioscopeSignal.cxx +++ b/src/TRestAxionHelioscopeSignal.cxx @@ -179,7 +179,6 @@ Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, /// given by argument. /// Double_t TRestAxionHelioscopeSignal::GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef) { - std::cout << "A" << std::endl; Double_t dE = 0.5; Double_t signal = 0; From 4365fa32730d56ba91cbcdc08bf09d6d0ec64c26 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 14:31:17 +0000 Subject: [PATCH 46/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.IAXO/GenerateSignalComponents.C | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index 1ecbff5c..cf12df7e 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -1,10 +1,11 @@ Double_t Eo = 0.5; // keV Double_t Ef = 10; // keV -Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t totalExposureTime=1.5*300*12*3600, size_t skipSteps = 1) -{ - TRestAxionField field; - std::vector> scanSteps = field.GetMassDensityScanning( "He", 0.25, 20 ); // Up to 0.25 eV +Int_t GenerateSignalComponents(std::string rmlFile, std::string name, + Double_t totalExposureTime = 1.5 * 300 * 12 * 3600, size_t skipSteps = 1) { + TRestAxionField field; + std::vector> scanSteps = + field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV TRestAxionHelioscopeSignal gasPhase(rmlFile.c_str(), name.c_str()); std::filesystem::path filePath = rmlFile; From c9cfc36bda36ca406b8fbf591de91340d73fca4c Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 19:36:56 +0200 Subject: [PATCH 47/64] Uploading limits results, gnuplot file and png --- examples/03.IAXO/limits/BabyIAXO_Combined.csv | 466 ++++++++++++++++++ examples/03.IAXO/limits/BabyIAXO_Vacuum.csv | 466 ++++++++++++++++++ examples/03.IAXO/limits/IAXO.gp | 186 +++++++ examples/03.IAXO/limits/IAXO.png | Bin 0 -> 43405 bytes examples/03.IAXO/limits/IAXOPlus_Combined.csv | 466 ++++++++++++++++++ examples/03.IAXO/limits/IAXOPlus_Vacuum.csv | 466 ++++++++++++++++++ examples/03.IAXO/limits/IAXO_Combined.csv | 466 ++++++++++++++++++ examples/03.IAXO/limits/IAXO_Vacuum.csv | 466 ++++++++++++++++++ 8 files changed, 2982 insertions(+) create mode 100644 examples/03.IAXO/limits/BabyIAXO_Combined.csv create mode 100644 examples/03.IAXO/limits/BabyIAXO_Vacuum.csv create mode 100644 examples/03.IAXO/limits/IAXO.gp create mode 100644 examples/03.IAXO/limits/IAXO.png create mode 100644 examples/03.IAXO/limits/IAXOPlus_Combined.csv create mode 100644 examples/03.IAXO/limits/IAXOPlus_Vacuum.csv create mode 100644 examples/03.IAXO/limits/IAXO_Combined.csv create mode 100644 examples/03.IAXO/limits/IAXO_Vacuum.csv diff --git a/examples/03.IAXO/limits/BabyIAXO_Combined.csv b/examples/03.IAXO/limits/BabyIAXO_Combined.csv new file mode 100644 index 00000000..beba5ca2 --- /dev/null +++ b/examples/03.IAXO/limits/BabyIAXO_Combined.csv @@ -0,0 +1,466 @@ +0.001 0.0018266 +0.00102 0.0018266 +0.0010404 0.0018266 +0.00106121 0.0018266 +0.00108243 0.0018266 +0.00110408 0.00182697 +0.00112616 0.00182697 +0.00114869 0.00182697 +0.00117166 0.00182697 +0.00119509 0.00182697 +0.00121899 0.00182697 +0.00124337 0.00182697 +0.00126824 0.00182697 +0.00129361 0.00182697 +0.00131948 0.00182697 +0.00134587 0.00182697 +0.00137279 0.00182697 +0.00140024 0.00182697 +0.00142825 0.00182697 +0.00145681 0.00182697 +0.00148595 0.00182697 +0.00151567 0.00182697 +0.00154598 0.00182697 +0.0015769 0.00182697 +0.00160844 0.00182697 +0.00164061 0.00182697 +0.00167342 0.00182697 +0.00170689 0.00182697 +0.00174102 0.00182697 +0.00177584 0.00182697 +0.00181136 0.00182697 +0.00184759 0.00182697 +0.00188454 0.00182697 +0.00192223 0.00182697 +0.00196068 0.00182697 +0.00199989 0.00182697 +0.00203989 0.00182697 +0.00208069 0.00182697 +0.0021223 0.00182697 +0.00216474 0.00182697 +0.00220804 0.00182697 +0.0022522 0.00182697 +0.00229724 0.00182697 +0.00234319 0.00182697 +0.00239005 0.00182697 +0.00243785 0.00182697 +0.00248661 0.00182697 +0.00253634 0.00182697 +0.00258707 0.00182697 +0.00263881 0.00182697 +0.00269159 0.00182697 +0.00274542 0.00182697 +0.00280033 0.00182697 +0.00285633 0.00182697 +0.00291346 0.00182697 +0.00297173 0.00182697 +0.00303117 0.00182697 +0.00309179 0.00182697 +0.00315362 0.00182697 +0.0032167 0.00182697 +0.00328103 0.00182697 +0.00334665 0.00182697 +0.00341358 0.00182697 +0.00348186 0.00182697 +0.00355149 0.00182697 +0.00362252 0.00182697 +0.00369497 0.00182697 +0.00376887 0.00182697 +0.00384425 0.00182697 +0.00392114 0.00182697 +0.00399956 0.00182697 +0.00407955 0.00182697 +0.00416114 0.00182697 +0.00424436 0.0018266 +0.00432925 0.0018266 +0.00441584 0.0018266 +0.00450415 0.0018266 +0.00459424 0.0018266 +0.00468612 0.0018266 +0.00477984 0.0018266 +0.00487544 0.00182623 +0.00497295 0.00182623 +0.00507241 0.00182623 +0.00517386 0.00182623 +0.00527733 0.00182587 +0.00538288 0.00182587 +0.00549054 0.0018255 +0.00560035 0.0018255 +0.00571235 0.00182514 +0.0058266 0.00182514 +0.00594313 0.00182477 +0.006062 0.00182441 +0.00618324 0.00182404 +0.0063069 0.00182368 +0.00643304 0.00182331 +0.0065617 0.00182295 +0.00669293 0.00182258 +0.00682679 0.00182185 +0.00696333 0.00182149 +0.00710259 0.00182076 +0.00724465 0.00182003 +0.00738954 0.0018193 +0.00753733 0.00181821 +0.00768808 0.00181749 +0.00784184 0.0018164 +0.00799867 0.00181531 +0.00815865 0.00181422 +0.00832182 0.00181277 +0.00848826 0.00181132 +0.00865802 0.00180987 +0.00883118 0.00180842 +0.00900781 0.00180662 +0.00918796 0.00180481 +0.00937172 0.00180265 +0.00955916 0.00180084 +0.00975034 0.00179868 +0.00994535 0.00179653 +0.0101443 0.00179401 +0.0103471 0.0017915 +0.0105541 0.00178899 +0.0107652 0.00178649 +0.0109805 0.00178399 +0.0112001 0.00178114 +0.0114241 0.00177829 +0.0116526 0.0017758 +0.0118856 0.00177296 +0.0121233 0.00177048 +0.0123658 0.00176836 +0.0126131 0.00176624 +0.0128654 0.00176447 +0.0131227 0.00176271 +0.0133851 0.00176165 +0.0136528 0.00176095 +0.0139259 0.0017606 +0.0142044 0.00176095 +0.0144885 0.00176201 +0.0147783 0.00176342 +0.0150738 0.00176589 +0.0153753 0.00176942 +0.0156828 0.00177403 +0.0159965 0.00178007 +0.0163164 0.00178756 +0.0166427 0.00179689 +0.0169756 0.00180842 +0.0173151 0.00182258 +0.0176614 0.0018398 +0.0180146 0.00186127 +0.0183749 0.00188676 +0.0187424 0.00191758 +0.0191173 0.0019543 +0.0194996 0.00199737 +0.0198896 0.00204794 +0.0202874 0.0021061 +0.0206931 0.00217242 +0.021107 0.00224712 +0.0215291 0.00233089 +0.0219597 0.00242336 +0.0223989 0.0025258 +0.0228469 0.0026389 +0.0233038 0.00276315 +0.0237699 0.00289874 +0.0242453 0.00304434 +0.0247302 0.00319596 +0.0252248 0.00334643 +0.0257293 0.00348336 +0.0262439 0.00359234 +0.0267688 0.00366125 +0.0273042 0.00368255 +0.0278502 0.00365686 +0.0284072 0.00359162 +0.0289754 0.00349522 +0.0295549 0.00337399 +0.030146 0.00323391 +0.0307489 0.00308417 +0.0313639 0.0029455 +0.0319912 0.00284702 +0.032631 0.00281222 +0.0332836 0.00284588 +0.0339493 0.00292085 +0.0346283 0.00298584 +0.0353208 0.00300141 +0.0360272 0.00295671 +0.0367478 0.00284873 +0.0374827 0.00266917 +0.0382324 0.00244332 +0.0389971 0.00223233 +0.039777 0.00208431 +0.0405725 0.0020504 +0.041384 0.00220968 +0.0422117 0.00262679 +0.0430559 0.00328278 +0.043917 0.00410326 +0.0447954 0.00495652 +0.0456913 0.00558519 +0.0466051 0.00586514 +0.0475372 0.00585225 +0.0484879 0.00600161 +0.0494577 0.00678112 +0.0504468 0.00784852 +0.0514558 0.00830562 +0.0524849 0.00770259 +0.0535346 0.00655506 +0.0546053 0.00574324 +0.0556974 0.00537476 +0.0568113 0.00568153 +0.0579476 0.00615356 +0.0591065 0.00629423 +0.0602886 0.00654459 +0.0614944 0.00664484 +0.0627243 0.00746149 +0.0639788 0.00973617 +0.0652584 0.0117632 +0.0665635 0.0126642 +0.0678948 0.012682 +0.0692527 0.0123194 +0.0706378 0.0110615 +0.0720505 0.0114452 +0.0734915 0.0167715 +0.0749614 0.019834 +0.0764606 0.0166013 +0.0779898 0.0167782 +0.0795496 0.0189006 +0.0811406 0.0145341 +0.0827634 0.0133777 +0.0844187 0.0149439 +0.086107 0.0135677 +0.0878292 0.0160527 +0.0895858 0.0181903 +0.0913775 0.0165814 +0.093205 0.0215982 +0.0950691 0.0196838 +0.0969705 0.0247425 +0.0989099 0.0234465 +0.100888 0.0286238 +0.102906 0.0278836 +0.104964 0.0340296 +0.107063 0.0314632 +0.109205 0.0406725 +0.111389 0.0367537 +0.113616 0.0468836 +0.115889 0.0462501 +0.118207 0.04744 +0.120571 0.0622403 +0.122982 0.0580666 +0.125442 0.0597875 +0.127951 0.0741423 +0.13051 0.0860994 +0.13312 0.0826568 +0.135782 0.0800695 +0.138498 0.0892738 +0.141268 0.100647 +0.144093 0.11991 +0.146975 0.129971 +0.149914 0.146281 +0.152913 0.151295 +0.155971 0.16107 +0.15909 0.164062 +0.162272 0.164325 +0.165518 0.187835 +0.168828 0.240301 +0.172205 0.247125 +0.175649 0.22635 +0.179162 0.306858 +0.182745 0.285224 +0.1864 0.337916 +0.190128 0.325315 +0.19393 0.419272 +0.197809 0.379824 +0.201765 0.418519 +0.2058 0.498121 +0.209916 0.587942 +0.214115 0.624615 +0.218397 0.680443 +0.222765 0.705813 +0.22722 0.682624 +0.231765 0.692804 +0.2364 0.906669 +0.241128 0.848841 +0.245951 1.05993 +0.25087 1.10695 +0.255887 18.969 +0.261005 23.9324 +0.266225 36.0805 +0.271549 50.8964 +0.27698 44.9917 +0.28252 57.4837 +0.28817 56.628 +0.293934 80.2229 +0.299812 59.5316 +0.305809 102.775 +0.311925 58.6216 +0.318163 75.861 +0.324526 94.1725 +0.331017 143.515 +0.337637 87.6209 +0.34439 120.597 +0.351278 169.18 +0.358303 152.941 +0.36547 152.879 +0.372779 138.773 +0.380235 154.586 +0.387839 154.927 +0.395596 204.975 +0.403508 256.512 +0.411578 445.297 +0.41981 274.509 +0.428206 395.056 +0.43677 284.118 +0.445505 251.894 +0.454415 765.683 +0.463504 810.602 +0.472774 414.234 +0.482229 414.483 +0.491874 728.557 +0.501711 888.993 +0.511746 911.499 +0.52198 633.112 +0.53242 861.077 +0.543069 1260.16 +0.55393 862.111 +0.565008 1138.29 +0.576309 1480.77 +0.587835 1050.98 +0.599592 1040.72 +0.611583 1429.4 +0.623815 1338.63 +0.636291 1059.63 +0.649017 1717.34 +0.661997 1859.09 +0.675237 2201.79 +0.688742 2534.98 +0.702517 1691.77 +0.716567 2007.11 +0.730899 3662.07 +0.745517 2632.13 +0.760427 3842.94 +0.775636 4757.05 +0.791148 4440.74 +0.806971 4482.68 +0.823111 3242.41 +0.839573 4654.46 +0.856364 4865.8 +0.873492 3918.23 +0.890961 7280.34 +0.908781 5510.99 +0.926956 12820.1 +0.945495 6138.98 +0.964405 5419.16 +0.983693 10805.9 +1.00337 10659.9 +1.02343 12329.6 +1.0439 11428.3 +1.06478 14312.3 +1.08608 9161.13 +1.1078 13170.9 +1.12995 13749.7 +1.15255 14143.1 +1.1756 14584 +1.19912 16426.6 +1.2231 15748.3 +1.24756 27057.4 +1.27251 27106.3 +1.29796 25866.7 +1.32392 27231.3 +1.3504 38270.1 +1.37741 26111.1 +1.40496 35447.7 +1.43306 25717.2 +1.46172 36193 +1.49095 34524.1 +1.52077 40446.3 +1.55119 50800.3 +1.58221 71852 +1.61385 72559.9 +1.64613 58091.5 +1.67905 80151.6 +1.71263 89026.7 +1.74689 61807.6 +1.78182 142902 +1.81746 114384 +1.85381 134929 +1.89089 170934 +1.9287 121361 +1.96728 133881 +2.00662 176352 +2.04676 147077 +2.08769 233344 +2.12945 143045 +2.17203 275310 +2.21547 206232 +2.25978 188009 +2.30498 177130 +2.35108 394785 +2.3981 275696 +2.44606 227764 +2.49498 458728 +2.54488 412133 +2.59578 623944 +2.6477 613180 +2.70065 458178 +2.75466 533596 +2.80976 519503 +2.86595 1.21878e+06 +2.92327 630657 +2.98174 804074 +3.04137 690193 +3.1022 814595 +3.16424 817863 +3.22753 881567 +3.29208 1.33878e+06 +3.35792 1.05257e+06 +3.42508 1.10853e+06 +3.49358 1.07083e+06 +3.56345 1.555e+06 +3.63472 2.53578e+06 +3.70742 1.54601e+06 +3.78156 1.16748e+06 +3.8572 2.55308e+06 +3.93434 1.8114e+06 +4.01303 3.19193e+06 +4.09329 2.00854e+06 +4.17515 3.29707e+06 +4.25866 4.03965e+06 +4.34383 2.58391e+06 +4.4307 2.91165e+06 +4.51932 4.66338e+06 +4.60971 3.29773e+06 +4.7019 4.83241e+06 +4.79594 4.10399e+06 +4.89186 5.4546e+06 +4.98969 4.76998e+06 +5.08949 6.77597e+06 +5.19128 5.50391e+06 +5.2951 9.06373e+06 +5.401 6.1791e+06 +5.50902 1.03812e+07 +5.61921 8.33872e+06 +5.73159 6.30268e+06 +5.84622 1.15168e+07 +5.96315 9.57053e+06 +6.08241 1.62104e+07 +6.20406 1.49639e+07 +6.32814 1.61166e+07 +6.4547 2.11354e+07 +6.58379 1.9164e+07 +6.71547 1.52723e+07 +6.84978 1.48239e+07 +6.98678 3.5473e+07 +7.12651 3.07346e+07 +7.26904 3.1855e+07 +7.41442 4.79477e+07 +7.56271 3.0661e+07 +7.71396 3.88608e+07 +7.86824 3.53385e+07 +8.02561 3.09754e+07 +8.18612 3.08394e+07 +8.34984 4.02653e+07 +8.51684 5.56694e+07 +8.68718 6.21245e+07 +8.86092 6.2837e+07 +9.03814 7.6335e+07 +9.2189 6.32657e+07 +9.40328 1.04018e+08 +9.59135 1.25749e+08 +9.78317 7.06629e+07 +9.97884 1.4034e+08 diff --git a/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv b/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv new file mode 100644 index 00000000..04c9dc7b --- /dev/null +++ b/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv @@ -0,0 +1,466 @@ +0.001 0.00073197 +0.00102 0.00073197 +0.0010404 0.00073197 +0.00106121 0.00073197 +0.00108243 0.00073197 +0.00110408 0.00073197 +0.00112616 0.00073197 +0.00114869 0.00073197 +0.00117166 0.00073197 +0.00119509 0.00073197 +0.00121899 0.00073197 +0.00124337 0.00073197 +0.00126824 0.00073197 +0.00129361 0.00073197 +0.00131948 0.00073197 +0.00134587 0.00073197 +0.00137279 0.00073197 +0.00140024 0.00073197 +0.00142825 0.00073197 +0.00145681 0.00073197 +0.00148595 0.00073197 +0.00151567 0.00073197 +0.00154598 0.00073197 +0.0015769 0.00073197 +0.00160844 0.00073197 +0.00164061 0.00073197 +0.00167342 0.00073197 +0.00170689 0.00073197 +0.00174102 0.00073197 +0.00177584 0.00073197 +0.00181136 0.00073197 +0.00184759 0.00073197 +0.00188454 0.00073197 +0.00192223 0.00073197 +0.00196068 0.00073197 +0.00199989 0.00073197 +0.00203989 0.00073197 +0.00208069 0.00073197 +0.0021223 0.00073197 +0.00216474 0.00073197 +0.00220804 0.00073197 +0.0022522 0.00073197 +0.00229724 0.00073197 +0.00234319 0.00073197 +0.00239005 0.00073197 +0.00243785 0.00073197 +0.00248661 0.00073197 +0.00253634 0.00073197 +0.00258707 0.00073197 +0.00263881 0.00073197 +0.00269159 0.00073197 +0.00274542 0.00073197 +0.00280033 0.00073197 +0.00285633 0.00073197 +0.00291346 0.00073197 +0.00297173 0.00073197 +0.00303117 0.00073197 +0.00309179 0.00073197 +0.00315362 0.00073197 +0.0032167 0.00073197 +0.00328103 0.000732117 +0.00334665 0.000732117 +0.00341358 0.000732117 +0.00348186 0.000732117 +0.00355149 0.000732117 +0.00362252 0.000732117 +0.00369497 0.000732117 +0.00376887 0.000732117 +0.00384425 0.000732117 +0.00392114 0.000732117 +0.00399956 0.000732117 +0.00407955 0.000732117 +0.00416114 0.000732117 +0.00424436 0.000732263 +0.00432925 0.000732263 +0.00441584 0.000732263 +0.00450415 0.000732263 +0.00459424 0.000732263 +0.00468612 0.000732263 +0.00477984 0.00073241 +0.00487544 0.00073241 +0.00497295 0.00073241 +0.00507241 0.00073241 +0.00517386 0.000732556 +0.00527733 0.000732556 +0.00538288 0.000732703 +0.00549054 0.000732703 +0.00560035 0.000732849 +0.00571235 0.000732849 +0.0058266 0.000732996 +0.00594313 0.000733142 +0.006062 0.000733142 +0.00618324 0.000733289 +0.0063069 0.000733436 +0.00643304 0.000733582 +0.0065617 0.000733729 +0.00669293 0.000734022 +0.00682679 0.000734169 +0.00696333 0.000734463 +0.00710259 0.00073461 +0.00724465 0.000734904 +0.00738954 0.000735198 +0.00753733 0.000735639 +0.00768808 0.000735933 +0.00784184 0.000736375 +0.00799867 0.000736817 +0.00815865 0.000737259 +0.00832182 0.000737701 +0.00848826 0.000738292 +0.00865802 0.000738883 +0.00883118 0.000739474 +0.00900781 0.000740214 +0.00918796 0.000740954 +0.00937172 0.000741695 +0.00955916 0.000742437 +0.00975034 0.000743329 +0.00994535 0.000744221 +0.0101443 0.000745264 +0.0103471 0.000746311 +0.0105541 0.000747506 +0.0107652 0.000748703 +0.0109805 0.000750202 +0.0112001 0.000751703 +0.0114241 0.000753359 +0.0116526 0.000755169 +0.0118856 0.000757135 +0.0121233 0.000759257 +0.0123658 0.000761694 +0.0126131 0.000764441 +0.0128654 0.000767505 +0.0131227 0.000770734 +0.0133851 0.000774597 +0.0136528 0.000778795 +0.0139259 0.000783638 +0.0142044 0.000789142 +0.0144885 0.000795324 +0.0147783 0.000802353 +0.0150738 0.00081042 +0.0153753 0.000819547 +0.0156828 0.000829941 +0.0159965 0.000841813 +0.0163164 0.000855473 +0.0166427 0.000871014 +0.0169756 0.000888789 +0.0173151 0.000909107 +0.0176614 0.000932127 +0.0180146 0.000958406 +0.0183749 0.000988548 +0.0187424 0.00102254 +0.0191173 0.0010613 +0.0194996 0.00110506 +0.0198896 0.00115477 +0.0202874 0.00121095 +0.0206931 0.00127458 +0.021107 0.00134665 +0.0215291 0.00142836 +0.0219597 0.00152125 +0.0223989 0.00162766 +0.0228469 0.00174971 +0.0233038 0.00189129 +0.0237699 0.00205574 +0.0242453 0.00224892 +0.0247302 0.00247677 +0.0252248 0.00274663 +0.0257293 0.00306511 +0.0262439 0.00343836 +0.0267688 0.00387215 +0.0273042 0.0043675 +0.0278502 0.00492096 +0.0284072 0.00552631 +0.0289754 0.00617204 +0.0295549 0.00684789 +0.030146 0.00753798 +0.0307489 0.00822131 +0.0313639 0.00885817 +0.0319912 0.0093825 +0.032631 0.0097206 +0.0332836 0.00983602 +0.0339493 0.00977132 +0.0346283 0.00965473 +0.0353208 0.00966053 +0.0360272 0.00992692 +0.0367478 0.0105282 +0.0374827 0.0114934 +0.0382324 0.0128994 +0.0389971 0.0149888 +0.039777 0.018245 +0.0405725 0.0233108 +0.041384 0.0307181 +0.0422117 0.0404856 +0.0430559 0.0516183 +0.043917 0.062029 +0.0447954 0.0686606 +0.0456913 0.0690741 +0.0466051 0.0656784 +0.0475372 0.0632671 +0.0484879 0.0610565 +0.0494577 0.0581479 +0.0504468 0.0565197 +0.0514558 0.055091 +0.0524849 0.0529042 +0.0535346 0.0530101 +0.0546053 0.0541406 +0.0556974 0.0566555 +0.0568113 0.0646358 +0.0579476 0.0771452 +0.0591065 0.106722 +0.0602886 0.157219 +0.0614944 0.21944 +0.0627243 0.259527 +0.0639788 0.232266 +0.0652584 0.179659 +0.0665635 0.151689 +0.0678948 0.157219 +0.0692527 0.16788 +0.0706378 0.184446 +0.0720505 0.2354 +0.0734915 0.368672 +0.0749614 0.338931 +0.0764606 0.23606 +0.0779898 0.26754 +0.0795496 0.623489 +0.0811406 0.622243 +0.0827634 0.321176 +0.0844187 0.400341 +0.086107 0.75813 +0.0878292 0.457524 +0.0895858 0.452519 +0.0913775 0.704967 +0.093205 0.726799 +0.0950691 1.04415 +0.0969705 1.29166 +0.0989099 0.495734 +0.100888 0.804695 +0.102906 1.53918 +0.104964 1.30726 +0.107063 1.29839 +0.109205 1.24125 +0.111389 1.07209 +0.113616 2.66521 +0.115889 1.39506 +0.118207 2.03795 +0.120571 1.98214 +0.122982 1.58257 +0.125442 4.14 +0.127951 1.92857 +0.13051 1.91014 +0.13312 4.97197 +0.135782 2.61818 +0.138498 3.34146 +0.141268 2.77122 +0.144093 4.28749 +0.146975 3.00235 +0.149914 4.75271 +0.152913 12.1059 +0.155971 4.98093 +0.15909 8.27007 +0.162272 5.90347 +0.165518 9.27441 +0.168828 8.68026 +0.172205 8.2091 +0.175649 11.6218 +0.179162 8.91427 +0.182745 6.99264 +0.1864 16.7332 +0.190128 16.4741 +0.19393 12.1131 +0.197809 29.3873 +0.201765 13.7481 +0.2058 11.0185 +0.209916 14.4257 +0.214115 16.2515 +0.218397 21.4757 +0.222765 22.0592 +0.22722 24.0765 +0.231765 35.6001 +0.2364 50.9983 +0.241128 22.9595 +0.245951 24.2165 +0.25087 36.0805 +0.255887 26.8227 +0.261005 28.2913 +0.266225 47.8265 +0.271549 74.1211 +0.27698 42.2104 +0.28252 52.995 +0.28817 83.6812 +0.293934 131.793 +0.299812 63.3652 +0.305809 108.695 +0.311925 66.0812 +0.318163 94.7961 +0.324526 89.9111 +0.331017 224.347 +0.337637 63.3779 +0.34439 105.969 +0.351278 178.14 +0.358303 154.648 +0.36547 108.804 +0.372779 169.926 +0.380235 178.389 +0.387839 135.508 +0.395596 222.293 +0.403508 299.704 +0.411578 480.848 +0.41981 282.135 +0.428206 469.067 +0.43677 446.813 +0.445505 183.75 +0.454415 792.486 +0.463504 618.839 +0.472774 455.567 +0.482229 330.996 +0.491874 407.334 +0.501711 858.155 +0.511746 580.761 +0.52198 542.684 +0.53242 640.117 +0.543069 936.447 +0.55393 813.362 +0.565008 935.885 +0.576309 2079.78 +0.587835 1004.36 +0.599592 1601.23 +0.611583 1961.47 +0.623815 804.787 +0.636291 1162.45 +0.649017 1793.7 +0.661997 2816.79 +0.675237 1809.2 +0.688742 2925.91 +0.702517 1615.7 +0.716567 2638.98 +0.730899 3235.28 +0.745517 2496.73 +0.760427 3300.65 +0.775636 4263.18 +0.791148 4112.42 +0.806971 7251.28 +0.823111 3188.38 +0.839573 6598.65 +0.856364 6023.43 +0.873492 5102.51 +0.890961 7571.44 +0.908781 6012.57 +0.926956 14241 +0.945495 5767.01 +0.964405 5863.53 +0.983693 9279.18 +1.00337 14145.9 +1.02343 8443.19 +1.0439 37005.6 +1.06478 11638.3 +1.08608 10619.4 +1.1078 10851.3 +1.12995 12302.5 +1.15255 14543.2 +1.1756 16638.2 +1.19912 17127.9 +1.2231 18491.7 +1.24756 21341.1 +1.27251 18812.5 +1.29796 20607 +1.32392 56076.4 +1.3504 32287.6 +1.37741 27084.5 +1.40496 61437.9 +1.43306 21720.1 +1.46172 33303.1 +1.49095 25107.2 +1.52077 35214.5 +1.55119 62754.5 +1.58221 51785.2 +1.61385 54082.4 +1.64613 69979.8 +1.67905 93460.7 +1.71263 75748.4 +1.74689 51826.7 +1.78182 105452 +1.81746 93460.7 +1.85381 154991 +1.89089 115441 +1.9287 101195 +1.96728 185395 +2.00662 154589 +2.04676 254658 +2.08769 201703 +2.12945 179555 +2.17203 203404 +2.21547 190260 +2.25978 124384 +2.30498 182744 +2.35108 356891 +2.3981 292629 +2.44606 254964 +2.49498 328725 +2.54488 346826 +2.59578 482541 +2.6477 909782 +2.70065 445928 +2.75466 488171 +2.80976 615024 +2.86595 1.24191e+06 +2.92327 700627 +2.98174 709087 +3.04137 754750 +3.1022 813943 +3.16424 822620 +3.22753 704702 +3.29208 1.3965e+06 +3.35792 1.56186e+06 +3.42508 857395 +3.49358 1.4213e+06 +3.56345 1.44683e+06 +3.63472 1.90981e+06 +3.70742 925939 +3.78156 1.17309e+06 +3.8572 1.73272e+06 +3.93434 3.01477e+06 +4.01303 2.90525e+06 +4.09329 1.62042e+06 +4.17515 2.59167e+06 +4.25866 4.54732e+06 +4.34383 1.95894e+06 +4.4307 2.7344e+06 +4.51932 3.8036e+06 +4.60971 3.47447e+06 +4.7019 5.81515e+06 +4.79594 5.08273e+06 +4.89186 9.67643e+06 +4.98969 3.77556e+06 +5.08949 7.89399e+06 +5.19128 4.24918e+06 +5.2951 8.27887e+06 +5.401 5.91251e+06 +5.50902 7.94149e+06 +5.61921 5.83145e+06 +5.73159 7.29575e+06 +5.84622 7.97491e+06 +5.96315 7.58442e+06 +6.08241 9.75804e+06 +6.20406 2.21216e+07 +6.32814 1.46236e+07 +6.4547 2.54692e+07 +6.58379 1.76834e+07 +6.71547 1.48209e+07 +6.84978 1.50479e+07 +6.98678 4.91566e+07 +7.12651 3.75916e+07 +7.26904 2.22859e+07 +7.41442 4.97999e+07 +7.56271 3.24791e+07 +7.71396 3.29701e+07 +7.86824 3.47983e+07 +8.02561 4.43139e+07 +8.18612 3.4611e+07 +8.34984 5.35291e+07 +8.51684 1.03417e+08 +8.68718 7.43311e+07 +8.86092 7.36206e+07 +9.03814 5.97838e+07 +9.2189 8.64222e+07 +9.40328 9.67915e+07 +9.59135 1.67803e+08 +9.78317 5.31874e+07 +9.97884 1.08481e+08 diff --git a/examples/03.IAXO/limits/IAXO.gp b/examples/03.IAXO/limits/IAXO.gp new file mode 100644 index 00000000..dd592034 --- /dev/null +++ b/examples/03.IAXO/limits/IAXO.gp @@ -0,0 +1,186 @@ +#!/usr/local/Cellar/gnuplot/6.0.0/bin/gnuplot +# +# +# G N U P L O T +# Version 6.0 patchlevel 0 last modified 2023-12-09 +# +# Copyright (C) 1986-1993, 1998, 2004, 2007-2023 +# Thomas Williams, Colin Kelley and many others +# +# gnuplot home: http://www.gnuplot.info +# faq, bugs, etc: type "help FAQ" +# immediate help: type "help" (plot window: hit 'h') +# set terminal qt 0 font "Sans,10" enhanced +# set output +unset clip points +set clip one +unset clip two +unset clip radial +set errorbars front 1.000000 +set border 31 front lt black linewidth 1.000 dashtype solid +set cornerpoles +set zdata +set ydata +set xdata +set y2data +set x2data +set boxwidth +set boxdepth 0 +set style fill empty border +set style rectangle back fc bgnd fillstyle solid 1.00 border lt -1 +set style circle radius graph 0.02 +set style ellipse size graph 0.05, 0.03 angle 0 units xy +set dummy x, y +set format x "% h" +set format y "% h" +set format x2 "% h" +set format y2 "% h" +set format z "% h" +set format cb "% h" +set format r "% h" +set ttics format "% h" +set timefmt "%d/%m/%y,%H:%M" +set angles radians +set tics back +unset grid +unset raxis +set theta counterclockwise right +set style parallel front lt black linewidth 2.000 dashtype solid +set key notitle +set key fixed left top vertical Right noreverse enhanced autotitle nobox font ",16" +set key noinvert samplen 4 spacing 1 width 0 height 0 +set key maxcolumns 0 maxrows 0 +set key noopaque +unset label +unset arrow +unset style line +unset style arrow +set style histogram clustered gap 2 title textcolor lt -1 +unset object +unset walls +set style textbox transparent margins 1.0, 1.0 border lt -1 linewidth 1.0 +set offsets 0, 0, 0, 0 +set pointsize 1 +set pointintervalbox 1 +set encoding default +unset parametric +unset polar +unset spiderplot +unset decimalsign +unset micro +unset minussign +set view 60, 30, 1, 1 +set view azimuth 0 +set rgbmax 255 +set samples 100, 100 +set isosamples 10, 10 +set surface implicit +set surface +set mapping cartesian +set datafile separator whitespace +set datafile nocolumnheaders +unset hidden3d + +unset contour +set cntrlabel format '%8.3g' font '' start 5 interval 20 +set cntrparam order 4 +set cntrparam linear +set cntrparam levels 5 +set cntrparam levels auto +set cntrparam firstlinetype 0 unsorted +set cntrparam points 5 +set size ratio 0 1,1 +set origin 0,0 +set contourfill auto 5 +set contourfill palette +set style data points +set style function lines +unset xzeroaxis +unset yzeroaxis +unset zzeroaxis +unset x2zeroaxis +unset y2zeroaxis +set xyplane relative 0.5 +set tics scale 1, 0.5, 1, 1, 1 +set mxtics default +set mytics default +set mztics default +set mx2tics default +set my2tics default +set mcbtics default +set mrtics default +set nomttics +set xtics border in scale 1,0.5 mirror norotate autojustify +set xtics norangelimit logscale autofreq font ",16" +set ytics border in scale 1,0.5 mirror norotate autojustify +set ytics norangelimit logscale autofreq font ",16" +set ztics border in scale 1,0.5 nomirror norotate autojustify +set ztics norangelimit autofreq font ",16" +unset x2tics +unset y2tics +set cbtics border in scale 1,0.5 mirror norotate autojustify +set cbtics norangelimit autofreq font ",16" +set rtics axis in scale 1,0.5 nomirror norotate autojustify +set rtics norangelimit autofreq font ",16" +unset ttics +set title "" +set title font "" textcolor lt -1 norotate +set timestamp bottom +set timestamp "" +set timestamp font "" textcolor lt -1 norotate +set trange [ * : * ] noreverse nowriteback +set urange [ * : * ] noreverse nowriteback +set vrange [ * : * ] noreverse nowriteback +set xlabel "" +set xlabel font ",16" textcolor lt -1 norotate +set x2label "" +set x2label font "" textcolor lt -1 norotate +set xrange [ * : * ] noreverse writeback +set x2range [ * : * ] noreverse writeback +set ylabel "g_{a{/Symbol g}} [10^{-10} GeV^{-1}]" +set ylabel offset character 1, 0, 0 font ",16" textcolor lt -1 rotate +set y2label "" +set y2label font "" textcolor lt -1 rotate +set yrange [ * : * ] noreverse writeback +set y2range [ * : * ] noreverse writeback +set zlabel "" +set zlabel font "" textcolor lt -1 norotate +set zrange [ * : * ] noreverse writeback +set cblabel "" +set cblabel font "" textcolor lt -1 rotate +set cbrange [ * : * ] noreverse writeback +set rlabel "" +set rlabel font "" textcolor lt -1 norotate +set rrange [ * : * ] noreverse writeback +unset logscale +set logscale y 10 +set logscale x 10 +unset jitter +set zero 1e-08 +set lmargin -1 +set bmargin -1 +set rmargin -1 +set tmargin -1 +set locale "en_US.UTF-8" +set pm3d explicit at s +set pm3d scansautomatic +set pm3d interpolate 1,1 flush begin noftriangles noborder corners2color mean +set pm3d clip z +set pm3d nolighting +set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB +set palette rgbformulae 7, 5, 15 +set colorbox default +set colorbox vertical origin screen 0.9, 0.2 size screen 0.05, 0.6 front noinvert bdefault +set style boxplot candles range 1.50 outliers pt 7 separation 1 labels auto unsorted +set chi_shapes fraction 0.60 +set loadpath +set fontpath +set psdir +set fit brief errorvariables nocovariancevariables errorscaling prescale nowrap v5 +GNUTERM = "qt" +I = {0.0, 1.0} +VoxelDistance = 0.0 +GridDistance = 0.0 +## Last datafile plotted: "IAXOPlus_Combined.csv" +plot [0.001:10][:] 3.755*x title "KSVZ" w l lw 3, "BabyIAXO_Combined.csv" using ($1):(sqrt(sqrt($2))) title "BabyIAXO" w l lw 2, "IAXO_Combined.csv" using ($1):(sqrt(sqrt($2))) title "IAXO" w l lw 2, "IAXOPlus_Combined.csv" using ($1):(sqrt(sqrt($2))) title "IAXO+" w l lw 2 +# EOF diff --git a/examples/03.IAXO/limits/IAXO.png b/examples/03.IAXO/limits/IAXO.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb92849aed7aa484b360ae3142473d283192aa6 GIT binary patch literal 43405 zcmb4rWmHyO7ww@NRJuc?L_iwpM!LI{?(UQjQ9zMyknZj@knZm8?uNVZ8{ds_@1J`H z;5(G(oU>!iHRoJwzoClqk{GB&s1O8Uypr>w_?Jo?#a7zW|}w?6VPF$&lG~|7V5oD{8T4crPPPr1GUywbA*=-W z^E92~S(z-2jDo^LX=ZkIc5ra;o8(WApEu}B@ORst{JG}X+}z9&xxKx8w9=uYsp;%2KwZq%_q*OC>kWi|uS3zt_3*&Nv2CV>>5JR!~&L&cU&Ez5iO>|9(Mj`depSEc+YSIGU-kF(fomqQ?=*q}TAx z!O7{Qw^!EA&W6eUjR_g2Qjv?IdY|5-)1ooZbZsiaP>V?Q~+(&a=g(sfEHM2*wDkWWq6OmhU zT!!pt3x=G3RAtaBGyM5*xA4&1@EwCg0oIp3K~^GngdXQJ&9C?6kPt&m!I)*Rh!V3+ zR3mG`E-vl(&8M}VxVV@Ym)*(8*%xUAwY_sqK|&N1$N?QITWfE^`F5(?_4O88BU;$! zStfN2B5f0oMqKJtR}?&=7V_Q-4$7=t5?ALh3St1^U#hN56#?9J5L_009i1b_U(3vt4?^i4*wgIHd&I?+zIWFaA1V2L zZ{sC0LC{4uQbl%7PfyR!>ldqI!yk<(2*LQlG1evf+y~6__P4{E&}^pQe6D#%KPQZm!$H!90x|>AmWgNf0ede zqe8uXeZeA2C3=kvFJHF5KdN2u^#bu*SI2$)*3r<=(A)bK#JCotx~1hd2oVen3@p+& zf8Lkt`~0Z!xj8?&x&^-~DcND#gf^;6hx0iz^ZET78^U`D8*=a+o0(~3Zoc^e4hbCt z!>l)cX!RuNV&TL6-Hn%rhlOkVdk14<>X6?skd@U=woIHQev8M6DVX&xOXscOwc%`; za6Y9#@8j8~+DF*pNbOJfBvN&IgBU3l9T~Z_u_2k=Vm$w~sfjN}dTn)ebQBwgf`USb z;t6=^4o?px5ObS)5-o7^&0bt-0}66-HrrdTCQ)Ppd)5%);cq9Dyu7^T+A= ziJeoGW?*^-Qu);waG}|Hr;fR~xj%oXDJc9qR<3StqIMYWuXjqpZ-ePOW4c`VDmc7# z8XX-C1BWMIVcu$|c zGct<$_Dv{r2o)9e`g98p0&6WGAOHZyYN7-K6SIF{01FK*iNk6@t z@H<@m`70O=MyT=)!q#e6l;Fed$?jC;PT$YaCn8b@oo;PBJUj>HXqv4D{wAzbc}kgJ zB=TtjdwY9wh+P(<-abAY?KBFh*6-gB=c~{{@htCtfnC95&{AXpPyWXFQ`khKyNStK zmBk1jA7AV%opS?RiqUUg(wd1>7UMIPj6Jr9n7_m5_HOtQ0oZP0EWp$r!1r#Pc<`mR zn3}`+=d0ub96y+@-f6y=AAyI1gM%?#?@egEzb?$prG@OdNgTV3A!ID9hvhHKRcRvN znVl086CEA7^X-p=86F-E3IZPsd?*mwr(f!NTHoiTBFB0g6!`l_!m|hh50x?hcPT3m zH-e4U>U+5q0>T8QEri@RkCdF>lYOf9?D+Az-mM&{@*@*S69lOe+%;Png*jD_%le*- z+kUa_1Ki2Rzyx{>$j7Ig7U2$UuW}7qec^?vX=rMWH^_J#srmSHD{syw3`(`Dr5hpP zCw_Nl6Cm9(>or8j#UVj(NSJ)Cy986Q{LY(-Vq$;5Qi3f}2f`{ZFE2TnWN%3m%67ZXE@wox(i^r_L zdvLH|c@gkLBrl(RO0t$@6m0Ppnq`VetPrr%0Dl1h`Pz1t`?z}lV!@9b2S-&+Et_6T zMMd-p{1oLE_IJO6!1^$^Tn79!3?t=L#~$eKPvx@HH#A%fKtR(zQh$UZLis-#ewmVA zQ$aYa_a*s(bp|<7Ax+?JK=5G~>@a`?Dapwd6&315n!>pwk|4SBn6&xB#Ky+Hef#$J zM+`PDu8BXnvI$f;sLf4H+s&%`0Hz-9?{p4gAGsEbY+FORBHbAk2<~RbweIeimq_RY zhxa!JwA9qS$vjcIu}>iq5|aKjK?O_&sv+~LPoF-?C2@{<-Fu&`%R!TkZg$N(14&$1 z*ernY$(7+dqcJct0=Rc^a44^;8g!|Qv?%`+5376bCMvGHat zCio@o(V1j_TDe5A48=|6y1F{=(;-O?4vtcRoj3zut@8KcDuSKAeu?lpo^7k41}|@J z=8^6WWg>lPZ}59)akU@%A@2N!pNR<*%2M8H@;LGK_GWzbil2`U{OkxLJX!o1NTY^G z8Kl^F$VqD$BaHx|;WO#h*)N3=vaLE^fvNoc>zDR&U?)!*`+FlJ7z!>f4T>k`0j+oE zNz&PguZ=#gH+yMoPlMIEo%cEjC+5P0z;+rh(JNG>d!&myrLEUjS1+ik0n6m`Ixm{q z0mGFVaE=#j*mFO7kG}FZeC6aSQLkEiZ*5IHbEq?vvU+8@F(V^muEE7?E8{`=AaK>O z9$bNeaM12#xoG3+gn=Ihq*H7Af_c7BgPAEVDJ4bjiI|88ECfPCiz?E*n_0h!0HUIz zB2vKsT(cMj-ze{7`a2G4w%@}&;AIsR&mcgd!F~3Ymw%a7!ok7<(p;d&Eg&%8)AQx` z5;_^*<>}T4ROYlHkA;P`htx^TWqW#f*xA=td?CEipYjrLu2$dX!ortRIOCr}LmeC) zwaW~JEiAUq_hw4<8qWdCh*T(0NahyK99mvpp0uvXxm|Am0#46m+pRa&bX=!OOo;f`k5L^JM1^^FWY6>ZDIE?84VErEJUj%Q&=Dlc zn3o!OczBjMD~tBrIyKgWeC~&rM=JnxJWn?>5=vM(IL1Kkote?OQD!HyxjbB|wVmtk z?sjx?^4jt_<89_CzqEMXTE32Jx##GyDckJL4gg#4zkvPS7Nu^k*55#m;t4!pfk;R* zlauc5?vvBg-xWMz+Q!CQIwDAsFiAAa-?s;&;S-=EP7NdYCnhEu_+FVTwD=HnTGzQB zQ3Z==RhdU7CFv+Ce#;4TmY45O;dP^tOH@6;7N;5lnn>Vs5f1MQE+JvQdLb4Gce)cO+#T4!kM=$M(9 z%z+68JfPz%`G!6Bg5Lu_^texpiexFC03rrr>lgO0t{yrHoF|S!a$sTKUb@l4U;^J5J zlyN;V(l0`OTWI>R(&2r1*g-7E_zZO2kj^~p`pK2UzY7Hg1&fRi@QjQ0FZf+C_n0Ky zgBhYo`1o;T{GRB9tnd&!e?m%1O7#S{r4-m-9P^HEiR502Nghbyey4YQF^-2O;JDq ztO`JXQBkl%0c9c=@UF|tqvPSJ2XFED^XD)4%&`9D<*$?aOe?31kzUGaFy^biG3mw; zNHfsYB_SlNHycP*$(4@`frW(y$%ui0VOx)lo<6k8`1LZo^|~R#U8V)UJsb5vEg-C{sY345MAPn&&$V6wfM>piSY^Yc##$y1mxcKSRu$y zjCfYP@vng_!$CCxcxKJ1Llaf3SuS#uz!ue&%x*CZAX!#cw#IHjA0$(|dA{Sp&dBHW zy8Gbc0C>SaZTsk2TNmZ$Z~4Q(RRsd65A-~ss_?=^T9u|CHjPK7hKC)&y~zPb0?E>C zf0hTl8h|V7>8gByHSgZNTVG!Xkj3kLSr!t~k;?C-eQqTJ;OBbYouWdZ*^?>)NE54t z{P6I;vUk6~M@4mI0y6S~jV`JyEF$9k_?QTgS>Y#l*Jo(x=(+$fc*rJ(h8#w6w?)D0({!@h*I?9Y>Q80db)r6`z`go37~UJi;8w<>)CjuP(WHEj*fr4 z>dXen$iBJ(NtBa1--2!bvJ}btXt^CQBD?t}kEsfi1)mGO9dA1D1~sx9vZt}FaJKqj zl^Z=y)*mH)q{^E|qvy?U_*wX~^(ruXLCzmb34jwq$=?P)iw82cl|pJT&`EoND0PIg ziR@kfD=CY}2WA7r#=`rO-JDJdF=|(RlF#jEZ-?<$Wk}(&Oa1!wE3k(`LPD~$*WzCr z>Aw+tBns!4*!FCS`KpN?S#MWoqd)?L{UC&WyH~rQ$}k49Gdusl$ndc5{nf_ByqDc< zodfg)53j~`Pdiwo989u--`&{205c^eCCCXtTNS%=J+cWnn#J{8MLJBIp7j7>Ui1p@nRjAMWD~XzirLdpMU`I18VRw&jSJW1@F}} zWO(jXFvar%@%~8*fERc7^nlPg*xoMC`uG6{8+&DSwaV~k00>H;@eLYX_j1#GsnS%_ zxE%r{GTYnREe234+>e&q+S*2P6>4{urosCW{dyN#DD2|Wghgz@}LZ1wpZ-`N+dhsWMu5-itg^0Krn%Mjv(dj z?4rR%ecUNNK0d_y-_Ub%a%$x7z{*!goX^4HA;ZIdprE0l0eTk9-*pKl)CQtSoJt8O za_I8vs=l$YpCHa-{kD?gHP}R)B2hlhJ;HmuFeg{ujyxiy zu_BfzxVX6Z%=++7Dl7ze_^j+~ zHC5HoMpI?wXHi|JM@JUTGmq338IZJ9#~`3Y>*PYeens*J;7#gB$;%7!q!nP`#vg!2 zIz2r-+nLbO(z2N>``O!T4KnT6*cim(eQ6&m#_F&vR;^uJzgS~41C-Be_d`R(z>GNF zM|2Wlf#J%XoYVwfB9QpzNYAOLI+2C|716FV?E`QOI59i~RKU)7vDf|W6@We%!{tAr zfJLl?6VanU)Be+-bQ`IAg-~RU^@PJ*5I-OM2d#G`gtGMg7-!ff+edq z2BdCqwOE0qmWS{T4(zMaMuNLXZ@#;iUX@IW#68p7H}1GxmO4|rrg1~rh1q1~BU1#D+Gw+G<302iy#_s&z!eyl(ZFcLu9 zg6r$AKso{LUUFh05y;y>T7f;k(CBsmW^Ss%#mZ_P6O6X`w?kXF<7#K*;o+gvMn52` z-@=l4-E2VstE;O6*A^&eU`HD3(nJAc8W#tL&-Zq+zn|&l%R=z$KY#uNRIVUDA5iOO zsKLM-2HA(Y2OteCH+Ou`nyH!Di925(Ew~kMkDd3XacMKe{sZ4ZuMA1s|NbQ+CI%W0 za5&KrOp9fZiosTSU+xYvG{oYxE{hsm;dA2()j6z405b$|a}MAr12hC;T18FGWpA2e zZzqk%i3U8)+cNwgv|~GLiZH~`P*aDI@UU`oPmYaoaB{i=S0^zOxD$7$BMP-ZSX)n) z0TETCUEST@jsOAC4hLmQgcrC~1GesSG3S<_pAU5FNCqpe*>%?!Y?syquC^*n4q`_w zW^(YHy_9>Mw*S-%nE9!rx&S57sTT+bNj(&>VGLGiH3O6-2-!@N`8<^Aa9npM9RNBcR!#?ikOXFn z`5*=KDJ%@I0WDqKS>SdS(zm@Y@5HFqmIE5jrd+evn04#)dVwcg!l+#HStvXNo+>8b zN)z`aA|hgcFar*PM?kpKxFMKH2XR4GEdkr#*$FHozso~P$Q-Y+xS)WD!!lYr8!*TB zl~aZ4#i&?Vz#Kc6EPoEk0)GIIFQ6TX-#BlApK**@@2#wOeXdW{^Y*Mz-~)gY1Q7rN zN^=SHkOl1`U`HQj=@=RLJdRfZlf{C7SwbtH+}YIyytvU8Lw$XH7nkbRRzV2RCi>^k z;h@fb2S5Na73m-rpKIqiGDScDER`&wdU=H?o!h6*Ha0fE*9EER+@2J=yt`Ncfetoo z14wCht#__~Ede14)E4v&c<|)p3%LquAcrcX@?8Nh4-`WRHA-!_3OI)&pG!ji5}D-& z(4z>F{7M#y0BSi$JvW8O|!p#EmsZ*U?amrgV{3pkd(A^ftzr}fv%7c^yst~ z0!FGW=c@;t?$wfWs*jIB9T0td>lG8MfDz3VzE=AZHPO@a3#}pG%)7hE-@pIxXp)td zm*?c*Na3_0swXBS+}hlXPfkXMK)zKi90M$l7AvwH6jx@X;ugWiPKb|}qW-?Z{4Lyz z)uh|Ff?g%((7g%Ndy*0oY{0u-oos-BMeqmIGBG~BH-U|omsiKB8h}$@Du2?z20$Af z12@2*^77@^1u<`(njgxmanS=HLuCuOW)bje0%?9Le=%rjb3Kp#Q~0U4LWbCh`T&Dr zW5b3z&C2u|UB_@}W+IGrTfvS1F$(B$RmcWV2JT*7Q7Z4nB_#!YZ`}bA9v>fvo)8l9 z0OSE`?hd>TfCx~h63JkprZxt259lkfE;}=|rHXW6U%%4!Jg)4GH1)5qC8KhIblFeX zVVkbh<(j3yi=hVp*ow>&ej=u>9t(fOUr^B7GmYM0_y`P z+G}QZ?}i!OPW*D{2|0PGdLhVK+qfWJJNx@1!o&5dEyn=G2HtEDPZhA}$-Z&{T^TAi z-0JrL=9!0^+ZqtL+sh+B-<|F4Cjpvx9W-kk1Ylxf0^4}WvHq2_Bv@eQn$_D3)CA2+ zD+;v{I=TMbYeJ+V^+H@!gs84j%c;0>B#uWs8D$k0~06v`3Fvq*;`clXI2VP+9EXWn;4kGEGx+GbmOVT!%J;bUIe3 zQ8@?f*^G4x6?!(S?$R$ZFl|cGJ?{!3|Cbs&_VjnuhD70jzeJ~{m6G=M^ss@8gTuwe z1vgYoO-&8(q}7bsSzXB9$*Itd^uMNuPWE_T*We%v9i7yFOf&drF;uIgcJymkkWi)~ zR>U3a=D-q%$xlMs;Apd;*)F79R)JAMD(@RzE>*ZUQJEAi$h` z8ffKCQIIEqzBxZXuc@iQC>3oQwB!I2e=1KOiQGtPP`h=+0WA&^idyr-EIJLO3bpNS z=+1<(CQ8SVWYyNE1GNQ`;XEM4pa9B75Qh6w{n7s@RpRI8-{?(vWF|npJtkrRF@OpK zY#8@_DQnsKHT{uTa+swF*6V0-59BhZT$he-C01qiCOSfs<5t%3KD17pT(vdb^WPMX zegu8|INy93XB*x&F4JawJxZ;_nbZs(3~nA-i0HC4Yy#E{c#*3^FJxj@H#QCcO9G$? zA_TApQdVQBLN#237Ez4PY*k$wvvdX=yLP7 z*k`R|_8{j-XIpYB5R`1&?a!ejdkcUb9$!+ z8S_`S{MmG1+6G2xz^e!JH4Avh5`L*XJkMXdU_Luo^mOP9^Q5Ku$9{o*3m{{sEIr~r z?s*XxktT6m&kI^}Zv^khI+T}%4Bu1LmJtPIra>n16Pte2GlJjPv~M*0$G(5VqnE zb_Yk7TdhKjR1h?HH-N$G36cl?fO1GS4nzS8U*Mvr-_rZnhoET0D9_(`y6>@9qLw{8 z9f|J>vQ&``-!lQ~F5f>>`PuCTfZZ<;AHZS!@>TYR6{125Z%mJy7i zG?w<6v1(l8%u4cYZXFUvnL{SDHrl4Z#n+%rgB$K}I=0tsH;Gc{Lu=S3ulXq9=pvC{ z8o#$|8B=)|Y<26%%H2V0Y%?e&mmr`n?^C4Diej|#j+SvZ2&m;e`4%Zd8$dwcg>AKpnJB z*7l;(HJejYN&jHl4fd}-u;Wi7UPg_x=ASx*J{00VG~@p6QNj>Td7hJMzNJ(c&BbR>t5pJF;EmV)6QC^*U!dFqsj+6E8N z5e}dizFHe&p!s?}ja^-R03Y_{HAT?i%#x-)QT>q__+eREb5E*U@4TJ{ms920d@n91 zG#fRI=J71Jf$6>e4_EJH1b7EWV|`8Kk#Tj)g~#?D@bNktm<_@1;^N^yeuw1lR1ZVk zW`6u*I|jau8cu6hf)6C{a>a&fc}~a>L{!)n?)Yzmo-$VE-1@3L4U|@Sx(#+YWY}pK z?sR;x@YAKqsqMS}&+B6S7}@3vrQ#PM1t~tSN~ESR_Gyl@iulKjnZf^u)xj0xk zTQ>fS;9qU=cC`k7p`bPp^#G?6+Bg;NDzUIM$DCSeEps_#>)aVA-qpDQ&8CuVtnUAj6-W)VX!6Mh-u2 zcM$PyP{>Z?a(&78(3(~2bbq`_dCrsYipK52B-9@b=fzT!=;~!i=WGhDRD3G&yGJ+M+xdiUQGG;H=k#?aRE<`+G>IjTPa*ZF7td4t9jGwDobaNGjgd*Ja}y`r&GS|y)$1ju z*S$+9ZSrJ3CO7=KzHP->NEO-rT{Nl?IXDsWFC5733a(h{CmA=I+9shSP$Ipjt+-PW z!7iNgo*p$D{d~VWl&Z_H_o5n*LU74ROMBu!7Dh8_jOH?1|46t0E?EA#QFCy>YjId_ z0}ak}Z&|*r!CLV2+x!!v)*dN;KmFxpRRwqs@xeHH8Q11~M#-30vlJpUftp=I`)7HH z#5J`0JU$)+rxgJYW+AciQjSb_)cs!&H0M7HEz_h5^NE$-SMUA8jY^)=*n8U#L=G%$HQG4ak3BKxExIvEr4q{57QXX%v zI19~ZLNn3P`^Kl)?e=bHov9+LrJ_YGPJ-TwwNElfIj>hE#){-0YB-l49jQT@$(}W> z;lzXqJ0otfZsgGAPrq~ls~mAUjRBd0qS!)wmkl#DdYCq|w=UgWf1M+zeOo(sV~eoA zj2kt-DkPqXmh(FELkp6o>ElI&j(?q?S26_@rV-S68!z(dZ#4WTS!jZde6EXKq4!d? zvvbjno)%_NG_J%dKw`7f5u!pkTInkgvKlwnU?SxC{-Pwd5N5F>2^KO$9WB}!Cc`#n zCye)~40v$1_iin(w9K<)?ZgltgFA{UuGla$85pP_l^`A|tYe4C_^xO!mqdW}Z?{O) z>nF~ftp44{JLmd1pp5+|-?f#sUO2T6~q#UBqp@;s$%KMju;WSgwI9+6vfi9)bAxcRa@sd5Eu z|597&(;LP!!*e}>5eTx4UE|MVct1ig=9vFF(58F&8=DS7B9{k$%X-l}&%IEyht+9? zftY-K^uFo_YL4a?etZiAkStns^SGwl{jZ|8Jr~`m%%ii3nFS?QFi}%+-K;7-43IxX z-avMQY|moOIN`q`YEb&e$5$!vE_*rmF$_X24<|fs&qS_Dccw=mAIZv6PZ}*c}&e~tg z0Ikyvg8?mEafuYyDf8aN>>C@lznd>(7jlvZ1uQ!av%})~55^rF)i)^6c%j2}ovqvw zNSZ@9Q<-U18Z!KZd-KaF|2KKHg5Ya-|F$h$M#`nT{I|8@cppg#p>$EK*IGj_#Mk%> zK5$G}#UA#HKrF`ZY2|2U}o1sA+XJrRVyMuGNflU^ClUnvn5YC;4u&4UN z`(u9E*0&zj9FzRA z^Zm#k$$+fVf83Njqp zjM8hk$0K1_>@Hy&P6--62I(`p6+)S&_Aqhe<)-&b@Y9+&Z~oo1)=8`aUSRK)GMMwRtKs{6&4Bz zsB+2lijBqij%f_9vZDdu51e^3teo}DPu~cR320LKR*V_9y+utCU774oO@o0(gw3=# z;l_raO`TLiZ7dip+cg2*thp!6I=lUkglLdAN1gIZPm2!KQ_QVRp6%rWgddiyw%yB< z_F-o_T*{GB)qBEyhDZ@{T61U<4EYVx*9u?DA|zk*^9EV7Y1dYhdYi@%V(3rpj)};x z7Zr6e@-AaSu|`g~xNdapa5-woP%wT|HT(QihyYKRF-aIS!u{j$8E!JCb52%dG%#&H zc+IL-YDmbkw<_OO1*uFeOX7Z(#2rh!B8q&Ph+4Ph_?tv+=>`!pjA1x94>W0;SeIS- zo1;&m8l){u7d-uXX)hQ8{&M!CTn7^171HZll!@$b}3ysbZ0u=PNm` z#u^8m^cq-@KVe}4FJZGty_m_boFO{!=T2~m>zltFdFsp0K;^J#KzfdA z9D;;Hx+(BRzFl9T(2DNltd$mI9StXoo&|h2yMg>ocr~%#@rIf5hK+BfCKe4n@B)!w z`QU1NtM@7nQRmGp84nU9tCbweq-TqnhWmc6iNW4|XEZ~s=z3YX{a0ZORCXM@s1)pd zwrANlL={<}m^I8a(5C`H!KkU&msXw$x17^I@~7eyKNFc6Jd5e#vQL>^^)knt{5Lf5 zVAXC6%*p&kPc3yptb2QQGW*E`155r z-p5EoWlaol2ujmmF`!w#m>F(;!|3eL4J*?zMH!i%uSjL2e+k?SN=f7JX)SA}B8;-? zQLG!E4mV{2BuNl8Nn}63;C%L&dpyxVwpo6Sv0MKj8z}`n^|-<+S03uAy%x1yn)5L3KbH}}CQP!@t4jAJ>5m$@zr@gh^Se?kz;>hyoP+JxmTEW0U ztUbSXe8kCMi?O8Lnck{>nG8Y#7p=bsXS~6-6kP%o%<`+Qi3?3`6aRSArcIQJ&X$)m z29!*|awc>>htP5d7f~Ejs0OuVu(_T^WGSCcO)=!=*rx9d75T+_TvFD5o-LD&o+iU4 zHeuL9A|7WkXJ;BKcL3Q+^;hmHB2e4uZ?05o=8%4L5W}?5ElTF7*~z_w+dx6=$DZF+ zpGW>T^qC?*=ipfa-*>d226f6=FO#YG_4HwKY_e(0@`oxm*Jl&ob=l{pdU4NTDK5le zX_9{N2an>2&~xR$3gvEEj^HGiqzfO4H%8pm%jpRSD>*d!A{3;Jsz0DZs&FrJ#4orS z64pOHvblN0xX%?eSq802u{Zf%7cLeWM0l5@%{QtS>124A#ae}#3hg1RVtU1z3$BGp z3I)nPsNxhTlt$AN)rf?I#y9?&a%J~(46b}@mZ>Y3U&%lgZzt`Ga2RC%QDva|gAZD~ z?q%D(wfSw4eD;sPRC_Uq@Sh*gOD7OOKa>Yx{b>hSn;TSB+CKf9p0~2z(b&CIc@51n zMOsi@^x#5^@);=PUDS@hOya(&y{&MXfnZbi zM*MiGTCvD0m9bZKwRay5MN*9|X)|{e{y-ErnSWo&i;=xQHrKe@l? zi8FLLTsZNU>|NsGcmIZ~7ZrcKbK|t<=wqyEm{;FIh8v=kkm8!5lQcTS&e?wPvXTjn zaWbdsp`o+&Nx^Z{PaL8dYx8Fr-%(XE#jrG@_Vl1{xWI%0n~CJY!Z@g#l?_vOB)N99 zX!?&B3FzZmbgZABf9Unl)6)Yz{qAUJXw1yapxX!7*8J*NKszypN*`@i2M*y%1w~%c0RbObTO)A_AlD}{^K^bY4tPv z!@%(h%#V;l2pKM}t4Y6c^KS`cxOv0h;UrNxuZTA6gr><50}9J=pppv@#cZeLE95Ao z`GPW;11MXNzHtVos!S|nd3AM)fKS7{CFthz%uy`t$2SeqZgkv4uh%})RCH`+cUwRE zy{d$&C{nC*xZwnofARsLV;9h@`(UcM24$YwMqToc?-E1Cx9Au)KzP({il zkGsRJ+YUgc?qqqbJsg|0?*|z15ZV7uq=;e=mL|{@WIu)cn&Wj=bYtsOi+*$=ci$dk zj)c2otvXXKVZUcNLwo7;kW>7U(aX2y`1adJhm%ORu8+(BvBz5~m^b-hdW`f-$X`_b!wS`0kjW zcd)gL4E(3QMK4VEtud6z-xR zKk%}j)U(yJ8L6w%=W|7Cctdge;C+I(XmpKsr5wj*dMpkM^qcQ6ZFfdsiwB1M@n}-f z0}j<=F|fh)&g|9Zzq3hzj%3v8l-DtZ@Z&|R_GI%b*m_%(1ADjj6y2`fvpGnyMBrL= zx7!Tf&5(XHi00;v-uJarlV|Lx5CMN=l4qqSW34OEyVL8`PRroM(zg(#n&_~o%_>1> zxz_FnqgeDePAQKuUGd992LhDiVvaVaQ8?rTYa8zaL-9XrPE??PVcY}?Y|}3g9$jb9 zflBEHI`3{k_v!aDapa8Hv-E;}li9t`uzf=FzNET-C`4K`xWGYMQS9f3J{^GY^Jjd3ch-5) z6^hS)t3~fFmbZrfg-kV;&?DMnPD4LAYiqj*A9TC{n!M@?&XT2-_7qLqI1qf7rO6!G z!YR&|)?&niq_T%U2BQQ}Ad6Jaz2N|Wf_I!=@M*SAE!9rQ2x@x}p)sFFse+yC?-v>5M z+?zHxH`PlhfzjR=mRPaxXZxgcr$SrW113-!&YuF!OD#yQMWFuPdXTk@P$}@KY`%eaBqLUQbh-Xp;3l z;KHu@zOt`@smw5m%T?FzDosyyS>$Aii*Q}IB0wcb`47v1DNdQHy1lkif^>#cF)ea* z^+5F47Wzp^X{&DGb8@j(wXf-c|E-RJW>;9~|0s~5VKY~Gay%8uG> zJwH87W;5#t#YwZi#4%7ZwVA2G#m7$*@JSptgpu)v4}W6mMy8JIm*lt%v}-X&Snp(V zE(h)mt1Wfhs_x4^N;J(fjEi%^12=2AYTbg1dJbx7s%$Yt$oL$i8|im_``9xM?6x0L z2vC1!m=|Lu>yhO#H=RX4jH9T2Vi8>&p_S_oI7X8>{jKc}^B=d`B@8VWk=|&4i5Vjyg6GJf= zy4X>S#jVb@6p~B&Gz-IlwGGKzd&Yw$P@nQFX6C~kZQidgMYwmR-1#ncMKv)QWFM%Z zsfE;PYF^5jO(B$+2JM9m& zc%Uy5)FuTC{Oe=2o%I-ErE)FrpY7&dj0B7sXLSkd= zOy}SX(&u#3!$z!W(squyEGA=tAB9C*+j}wZ2=VyQlWAFc8@JSL?mT7YAI0R%hWWfG zs-i&I#Z@Dt0e12>o|rAX*5m`Tu?SK``8>W7U7lLWWn+Wvj{rYr<(?wt9=SXm*lQo7 zt(#!_IiU_*Yh1O99q~MCr{}HYkiWsfIMK)JP>2L@0w) z*ZTC$2R4|p+k@?mYH8?l%MOMx*}foJ+CLF?Hdk8i+=X}m?Q{8ZW3y5rK2*RI(j`;U z{Us_|4U0pVXks6OdB(MAiPw;nd=pd*p3$$>SF4=`EX=+UHeE2$3%TPlWFXu%wdIKB!4s-&0QC z5f}PHID;G$^tYPr^yb66?STs7DRizAb$1^$O`0fv_rvd)*32g0V6%nAm8lxA&0U4$ zo@C^5?N~NVa9fR!`HaA#*3JVg5u8^!# zrbLwX031Jo82U*f2 zed6iJ6!i=Ux+kr-i1{%b^0PHJo$fns&?=WG~=Vy04PLxsxS}gY$N*6+#GC*U+wqhVx zP)Zp%+_QDE6GDz6O+&L+xpvsu`H(taqG6g~vKAvH0eEPjN1z;Tni7p&WMLZQUacDMEA-MK_m=n>? z#Kr^1>cQbat1k}R4SbF6*pnz|l%uGYIK#lP#Ir8Jo!M0PnEN!pv21DA5>x$QDEkK^ zgk0__zxhzEwfi0#oPh7=B}2wW%UW<=QGz~;7rc-B+}lD_Bwa1s@>xWv%|z?stfu7Y zUmR_t2c^80b9xB5#QV?orNCoNT-`pPn-d9A@3^q|D9U9HB9I){-Whck=PKMe-w6Ym~W1hCr$&@O{=7r@{57D#3iM&97JS$o`hfzK(YJVI0f zB}VlXJxy&pAur@_G4-W8{M$MyZ8TLwId7koVEDc3-WtjzV2P8Hk0>^`I7$KAN!;7Xu3x1>P4fEq)eVyZ`|!5^Zd0`&Fe7xn0GUGN>CV0?T-zDd*5~;g z29EMm)44xH`%?^SCU5nrJI?ch{1k+Z7pv+&meCkDw!k->2?tmL z8ni*lV1W`!B>YIc@|D1~RL{NL@Mve_>2S{9|hTlNYrWkbbX@$)zd` z6!ARF^VZm8{OXMPeIZl0^0={f7&y}JcU-kOYpW9B{!>BG=rDC44-t`Sy9`NFq1!rRLn?hThc%f zt%CUA&-TPAuUwyy`EVkff`Y!tby7G;yxr!b_}7MXx>Eh}<0zMq&72n9QY|}goxJ`X zgU*FkKR<9j!d(T4s)YVCq zqhD5P48`YTF&oOTZExT5?_ETnST>2Acd_x5dO_KrNz=Q=jO9lL}XbHgqH;gv7^R!r*E_0 z;;8d+IT({Z;L>^(tUV+)2HNgQYxw)6tw+$+xId zTGf!FB&fSab!`1R8z-DU_lcW-T(5@sc^g%20^)d|y@piJjvpIvmA`%ark?j16CPF= zG;V`rr>y+FWhdZ?r5R@~Z6ONPFzEm>F@D9=X`rOboghp7kjPw%((Asmc7L32>VfzcjE&KrJv}Q z%dd7v-N4rZTC2x`8#Kc99GnOJTV9C{bc-Ukw!Ggg*8j4dHR?!z`!H;z1d~M& zq10TL)1kxYU@)5&o1`1}c5{_)sOEs_jtc##bf^IWo$5~uQL$T3D3Hzx&(y$VKX>2= ztKCgBZcE@I2SMob)ET#KL#g=QG|s)Jx#rQo-$QF*R!4bEJy(VkF1~zt2TPV0Ly8fq zoKHaq>%o|Ht%ZR`N4m6(7Hans7g@CuQcuCqLdD?q`|{=D(`4PXz)lMZrxm%F)YALy zr_L2X+nJl|-yTRycHjO=?fvv{4W!M#QaCJul@xFKfy-1U=-KOclTP$1sz5f_FwEUz zF1q$(t!>RylHZkj(QbO-hfo-!5N=WmZYTo=S8HS)mq})?U5JNF%HJ|&jIr&~R_Ogx zyI+|ocG85PUT)NPE?Tp}Y>yhPR!szmVTyE4)aN5S(y?!5?^6C!%y(5TCSY@C^?AHc zOG~S%sR4I{c-SjlAicd}2Cn)>xXiyyI0zU*33 z?_DeI>Wr(8Q0DxMIGeHz8zAx$r3xW##t{4zp?{ZCp1W3ahfEQ?t@Ds6YCbrke9^}v z<6W)}3CG{_NZ2V|T;{1o_$~n}d}c-lK!|Ju<1!#@05vJFSeAOxHt-_g!%!ekkn@Q@ zs(Gx5tRO?tHafHSKcKd}UwH_=jpG4=^7u21OBCh}iw05gZ=cky&epI@Ess298KBb- zUxY7;_a+8;oiVbByU-sxdsvj(0{+sT6t}3%bD~J4$gmb5n@U@KyCb*~+@;$T=a)^9 zvBvR)AiJQM08b4;Q5ds%!v^ZngUfIi$(%X_1KgAXATXYsoCLO@qM3uf2!iWD`tm&B z(5g+36otVPiGIZ>)a+w;ocZFrhupK!g~^iTy@A59;6jCD0bwnevHlgW#|Zr;uPeJc9t|Kx2kezkq+-^0(ojRY>C2Omg`pVp{}e%yI2^2K_94|L6Ki=I=WnEO%T<0kN|~~B2VNPn*xZ1 z(j~{tNX|--00$EbuVS(H!{&&fa;CT!$vVbTBg(mO@>bAG_qOW4Q~1}S_IUK}$#jR9 ztkYK;VGQDXWxHt5zWm#Hb3|w^z^AHZlEq*C6fVzPdtt>n@4RLwGi%CXsn$~6!{ZkC ze*uXGc%S|;GF&`HG2lhCMt3U&QYsBU8~m!q97wFO;G1&e)UW-CL3e?Vg@FJmy__0Z zQ*^cDf`QDSxQ$-zs8Ax48HCZ)m>RLym+{!9br!R-__Fv{QQKE;av04Ws_XN{J%3(X zl-~~Fc!{HsR6R&I%_9l(N)y1cNXG)3x0IsdN~KZok_`!$%_49Q@_+0>_9tyB^8tUC zR&LGD=^DE?5B|wOSJZOyP&_YOK4gnG>l3bGD`_==d<%^p>nb&@$)CG~LdgA&sP#$v z%Cl5HIvM6${ULwraafsa-WE$x$SO6dcn;WkkQu-ad1A=&bm%!ggT%g)q@K4`&Y0N4 z_MLmQE;eSOfj%T^2M}l9tp$?+%UOY1@jn&>uty2~=?A2ZhGITf?OlEYc#*3QI_^)4 z`kY1f`xn9YB}9}v_RsEE3=b`-A0gl5>?KF7(s{Y21T}f|9V|SnAudXfYPMo4BpF7C zbf6N6X$sc&A}^xzr_sv$3s2FJm-X)aM&-P#O)Q&j&!H+qpXea+a9RTyk1(W?yRAn#RKh4249tlg{tS(cv32$AzO7??lgE&g@CpUJ?JX_(cj6 zH#ItxxgdLyrO;C&z; zLjI}yF{{L)`4$uji;UW&?>ypN5*ATNY35=^C61l!;dDRmpaa0 z>}3%u(QKzsC)}G{aGZdX?I5SB$^nF8i`scJ_I2(@fN25l(T~8u1*{eTkYMd)3ojCV z#maL8k!n1-oWJvFYgo*K^R>NI+`rmA$l49NyxOMphYe;;LxC#KYXx%Vy15YPZtWMw zt1KgMAdT`&tEF)fcmhCk@mHo03A79t zJ^vgfVSs6}8t|g2AQ;@kKGn_qw!hkHkAs(W)*fT3pHh9+f1LJ!JBBt(*D|Adrt@ua zM4s_0vsG9Kxt!O7d2H)mooc$P#P7d z=kCu;olEXQsB0J@z|S!QAdlr``C#QWZb6e@N#JX7b?N)}K-c{_gt>N}o=uF!@qIVptznWn4Q7w72vF(i=rkBEW?uP|W<;xK zdz2L5L0w{hesp^2jMsai_#A_}vB}Aez#s!$3{L-Z*{9CStdJX}$EvCHMsx8C?C0PR&iV8Uj|UB^+fI#C z(}G#G3%u+yG!mtOgEqd!uIUqe@%y#8RTR?KgEw9`YsuZ(@8*(xm%Tk!vprhnMS@M` z{f=*#TXOt03GyDXHChL~TFF1tPH1S=oE3yYK;Q{7V8ia9;bgW#%cfuu%X>C!o|GMk zp~odh-<=h&AsiKj+M}aSU*|U$^$cKrNhE3Z88^YV->mTOGkCNXqA_I0zM|9094q3P z&@pTRJ~wCtDx&46p*b@u;KwwQ#>g@_&_&2I4A=GD9FEohvt94 zIR$db4m)WW;iUZnhcmHgRD}ZKud%6OJ^z-{hi@{g%R{G^uXWR^>^H_#JS}u_t5jSv zpEQ}6FyMrHUY-B_I#EYe1DloJME}hG4P?UK8ck)Lwn{ruV||NNp2Fmf2>H*7-|xDo z-zG=fOmC;p%TYOk=M6ZtsgYrS>cWfg2O-XXGjcF7^9R>#>AkTgp14nBjQA%g1Hp>* z>!0*R{8(D5<$H2rQftR|^pp9_7d(#cn4@<7g(+y>@X(BeUIO_PJdoZ{S1i~xQt0N@ z!pvIKf{|qu@T&epfPjC1vn_EbA~G^V(Cb!~x%JD&Qk*G{Nc3G_P}d^4XlwXz>Z^$v zBU>$7vU=Pk9De@dK?wtl!cUnW7M{7FLOnY~gte2-pO{B_KI%me6Eg15;mO@|QeYKs z`1wtKSq<$pzV7O@CPCd(d~)90`>hhsX9)9x=x~(OrB>ACnR*%g9VH{ zHf^&OYh8iH#>Td-m(u`{Z@` z!_8HUEKMRH>ZEp;LD+t2&N?^?J|8ntnBj-2mmk@ zK0sOmbVGjdVe8GZ!?L>ZFg67ZU3e`@B%q|%+u3nAX1=OB7snuT@Ya^|`TSwsB3QtQd=8RCq!raINbwV;tP;^Z~&1T6MBtv_hgtA+!s!()ekse)=; z`-IRZaCqJDM2l^R$^ridn7M~@%NGD80QeSLjrt;8T3ic-gIP)YA39bmV0`^4I{4pW zFmQ3N@Xp)i%=c1ND7*XSVB@pRH7u8R^H(3jPbXEH zwzqN*&VK#<=pNXu`*QG2fup;K{&%gXMBmy&SLF>2hfZ zWR2u@Wy-vpri9k?O$)#u4_?N=glq^UNWIZ2oql-F@X7~}8IFSi^aXx=oASSGX9ph! zjgJG`u_UB-s8PJY=3nib)3<DYc>F>#u~4X%t${Lw{>X=JVAT*P<9 zaKvuOMhpj~30NllJ4Jw!vLBPNNooT+u`BLK2Z0Rb=Ig6AqsW5~y%vPaJ-((*B-2hH=P_{yDH@nhd87-9hzRUEaVUbRVtOuj=R zE)I?WfVu(S-;(RfQ57*cvcJ;+a>LavZ1Ki7`NFHJ!;7uTeEApRZi@t=v+6BL_nfwM zd58Gjd*WQ!4*pclOi5MTTk)3G$LtO-%vB+Dz>T}v$poG_Vr*=7U{tKAU`ZWz0Zukx z4b4|>G#+{-B-CDZOyf^_U47u#kJOB{bLZM{4j6MeC@we`=t4WK80oP-hfGc+Vb zqtRgtjk%>`r~b)679<(dyBCjw%Zo0}tHS6uE?6M-%W)D!Ka4oFmkv;{wUHsc zWX?<^H`)`=yJxGlxtfK?p$A>c4KNTmc+Kf3B7n2vxqF(!?wmIT@2unIasVugKdCFs z44s+bf@Fs!GhUJ0=DipzT;Csj!Z0?1(Hf*@Ee?l80n@i)F2c__9uqsVl)7A2h^dBg z%Ft43Uh?bz%=1sNhKa9z1@-(8G6=tdcizkh{-1XZm_&rg)fOZ=wj_3zU!p;u6N)pj z2ldw@K?{Agb%x>6v<;u~nPh*P>z~ARL9GuIs$MZZ z{{Ow9-vPyH9l~l!QSXB|^%Um}8LFOUT?q5VC9M@*63?EwcsVtt_0qg$@!~>->z9fZ z8IjC-NI3H@VXv!in4V=z8tOQ?MBQSq!lt#hAZ#qZH-Z2d1BBZqfCB}#)hJ>CfaU`E z$k#|BF^oLz8gl|=wQon&I_aU34Ux*bjy>MlLSY~McVj8`MTrt6pW)LTpXcBP%w*`B zl`Y~2E!HD=E$2utJRiq}l0x4=P#W1`a|6*4#dTBy+$n%Z5CgQz>gww3>}*z6767Jz zavN}_JV7H6_$rBy$^A*C4(iE_)fWVZreJ*OZ`akd?!VS$GAku^T?rY;yNNH`w)rz2 z312N91pif@*3zER=MozIBV*>X(f^RQ1@Sv>{{qx606dz~eK&al@O#Uj&xbEAoD?tr zg$O13da?(-Ps>TB@K8*Qn$=s*p6XVGSyt*(`tR^$d}mI+9qp>xo~6d^aPn+ohPQFH zcAjz@K_hl2E6$47(?@dT5kH6ZDHU{|3mY-m69^GHWLoe*0CXEc#8>Bz5@Z-hCGP>k zp}+(^c$C^%xow1yJ~wpjhqj3<42uZ8_Csu6VSq5MLb%<3D8HPWzcHFO{7s1W0%ADn zyxM=JePc86p*Q-fpu{=Nw=zC|UUeA9D>?M>nPEsiP5PEV67HGRoe-JBlQ|DWO-((T zDdh7r6bII?LseN*vk_#@fSc-3VGEM=hzpk)y4_b29qhj8dBsIUD_i?8!O^u6PoT(E z0jJ@>(6>o0-PeqLH0wN`93c%vda7h9|OCd^f z{$?)vPIbr<10bB1$HrDSHn0Hi>+|1J;DrwYw57hjcJM_KACo{yas_=PK53l>SrjA~ zn~!2}OWa7m%nY%cAN&osGiz-##$&mqMtJVMIpBOpq2>QQ5iP-q=xJSdmqHu%lgHuO zULvpYCDcF`HPpBLy+G9wmKrj^Q|X9uk61;jJDDWAE=`c^03;U>p+P(btiv+ZF)*N5 ziaqBM67u=8IRM~(5EPojzXAg<(v&`6Sm?L?Qm*$h0#A+l!83*@ZPd=@tyPr8?J&k! zqrzNbT#L?BQ3*b~u{w##U>tbta)}TJI-cM0F1O3HMEO@}%o+jw!!F2`h1skXCm%ASH zwdArYhU74$+)H6jvxKx50AQwQq}qZU*Uer+sGIx~;$6!T9EX_N8LHO=}!J zuoErdtHC9Jv&*c%5qL5xUhGE6nEx1nJVC{XvP&B3v0ZEjKGJk#f;+h@c58nS7 zVg@W=Bim5Y{`7*yl7IuO4tD9Mn&xc(CGLI3jGsupZF}2>Mm=XkIPke!hUK+x#cPKS z;DU_?Z=2qVtrG_BP3%Ccp>5DAuY9LGM`e(>;s>_hysO}~#gGK8siKlOxIHCK;+Wq~da2U+*#{;@Z; z^!b`~sI~R`ZHkSdTG)|L?~fs)JHZe~FT1iAkO91QT2qs(Ac4coV1GY1Km#5$H8g0D z$JFG;faoJh;>8Y_VF1zO$er%;SDnuQuh(S7WCxO;WS4I)Z*EgT_IK;YO^j@beMmjf z@~!U8>$7fq@4O9%0);T~`76wMCK`HE1pequQ=^J=+Ao`>zgBW#gv{88oo#7gA;T`D z#pu2G#!%WQNy#hn`YHYkVb5H}AsB8(#v{;%(X09-UC-cYBk)y>{1s58=q)aRTrDq7 zmyNw4*EUJwX5t{%imvxZIliOLvrasfGVzL@Qdu+cxMNwB$LlgQ&+2b#P)EEN7Qc}H z&dgZ`#dQE^oYvH^&o~3fhAE-}q|xMLe%BNTDmFpf+Nm(blO?^+W$uP2Y<_WdZ&tBg zj59*k4c?)(e4{}j>bCHz9zIu{8+3sMg#x9@a^mm-%bRhceO~{Xr6Wbr!Qo-R9C-S> zL4Xyxg0kq?VRnTpa%@q!Ka`k0ckQ`HiJv0zQjV{3H(h$dLl7E!CbtrY0_lgVpDwt0 zE1g%v!uZlEV)T}`kU_b+EmC|9CjNZx=nXurdOkOQwp`ecUSBvbEn&io%$uugE;qnE z<(s8+oK_09iY5Nt7G<{%Omc)N+a);7$~uvm!mRZh>d+$bBC4Ik)9%FxYJg>-w&Rzu zLs8;x-$BC*U=G(d;ck6D>sqm%gLNrW6u3XNG&HN@G9tl*3hviL6^MNVNW3jFoK zmcRaX%h-HtcUg>{T3|jn%@>&XCu7i+Mc*h_*xCTIG@@-fHj@LX5R8!AP)Dv{p@dNu z@84m^sQ$CAf0dX&GO%{jN0J@S{m4XV)c z*3X2{$1qr=^26;%%JKix0$3KLm6-;1mORqOuSLnEtl-qeutSR;@Ny~i&kJ#3gomdg z^(&JC@;Rl{=OE(9Ec0-pB zGX+i}x*1k{QlhZ5)8x3)+W7p>?{3UEF3NRmL`a8{!ah4^#__Gcvr$&-CGu>U;CzJ- zcBkbpqThI4#`YkmVMn3{`a%!lkyw{2(|5zyK<*hD&W4vt}U^ok?SO1`& zAWZ;uR$n%c0equ&OHyq&$FlPpcd~7(Kt>m>cmy((1j~Qy?7q_IP*Ab;^L!mWGY#&dI+NaI5#H}MGIEBI60LpZSzTOQ z1ehRz_69gpPC)LUp$RG21IY;hW|RUd8~9KlBibv&1D%NUl1>vrRec+K-W16dC7+%k z{i~}YEC}lC$}t^!`HH4tQ2T+mDh7fWTFl|)G>e@3OyPu=%G$U3w&3Nr#raKXmj}^2 zQ7L8z2Ld5qRwY6A&B%aSDw`-GzJ!83fU^5G@M-xp9yF1Ky!nH>=PHdPXD&|FK=oIn zbp)7GU$=cRH__u&wPUN!>94zKS`|;yMNpE-__5F+7D5j}T6vv3Y{aF%VfldtMOK+x z`?0Na<-K8Mg|CfHhi{5?Vg4ctDk{??zFB`=#{Mjylvz)0ef z1a9I=4K|ZsyS=F$X6Se#$8rjxDUSC$+mvyFGJk%UrG-3CCzsJHh`nl&uX5!gkS^4k zxgHCP*g1G!xGfv}_>mD9%|JbAuHAZee-~R*I&G<~u`K%jLY%)Kz_A1TD8Mmgp`tPY zq%B5401Zt8!UDh}t01yn5fKe~mTf-o^#;HbU6Jv3_g?R%hAP}e=eTYwGT=;WyG8cP z3PP(wa?!VbGMJ;*Dgk$8uRp%EX^IG6D>9z~eJ#x;iD(xy*EbeZ$bbJeQUUPA+4(X@ zJPf3^|D?H~$p@%a40aXn%Q@BqZFV4uU#K!3qAzcm0HjgEK7h|NPbn)Y z$uplH9km5)YtS<|-j5_lcIbP{M^ygl=~mPmv~bG;Z^~_h#dJa5Bh5|k9!O^u3UIQ) z(#==f??ev$T{weDU45r*L{k8AyZeREXFvo7`rR2pKsUl9ArUg@@LeFDTllYSzUSge z|0k2bsd2Cb$v3zmMyVa)_Bj4rjv>4k^4;l{@=$+$$xOT4i-m0?Ja>6)nRX;Tw~r!% zF~nDDxSbpijCF*9O0)(B755)7WHTZEtm{ldWBnN(k@cyuJ_i)4urB2NgQf53V6bnXe^ zy(i+d?u67i=^@ftjZECu+hKLPmJn^uF~k~`7ZBB4#h4NwO92K^rtcyOe@uuGXvBf! zsl_=E2;}QFjxgaH!)B#+cD*bgi<)jfkN$@BI(i(0g+lmn_^nlqE`HkW^2nw%XwW`u zd6-_Vt2}`5{V2myP!Xps5p6S31QFulAw!_exq5!Xs1_0$y8lao4B26a%zQsa^x&ze z2^A_XE3EafbN$ub-qW08t6hIpha#~LL8hV2Iri{-ufVr_(sDima90VLnNdNF$PVq5 zF(c%nUh!g=Q~5^iiF)w9g$K&Aqx%Ovy&^~+LHcKizP`cmwDb!twe|8Wg~X6=;9D8; z>qs>O1N7i(urmZ?X~D!E|9I!RONG<_#teDI@2ra(0j3aOc!>UD?nUA|L;QN85H zGD~qnYWGGuv-mN#WD*o*BnZA(pnV%7FU;wNZnvqa3CyTIgR>YsZ;j6XN+ckRRg4rH zr!#}!L)~Flt!(#R_x@`qp>v9oUy@P&J`57Z|EZu?gqr-Oi`UR|{75tXqD>jiWC{+9 zN?nuC%lz9OaHWc;yundbYHkT=dPm&oup-fXeYagIu@PvCI--pb(Ytd$dK2~n}^PO4=v|6I;yZ# zW+*+UP#|AMvfEbLlZPDKxRV&Zk>On{Y$%+K$ypr4$m(%Mv(07uJBSbi;~(wyg%g4Z z#^{2>(XZTK&IXco?5pGZfwD1KyNWi)EqmMkxmX2RGiNj(>}0OZ*OG{i)In#IR*MP~ z?}`*;zRCVTbtU@Wi*|LTlc{-*A~JuJdmg;Z-8lJBaXshz+LG9gMY=K}n5|-WZsJRz zOva#SJGsJ#1-wT#pE&0H}Ljs zd_?@c)(*lJhY3%g9;>Pu6i+IeWL_$M37;QV&wkZ3!i?(kA+1G@65Ytz-L<@$dk?fz zp$^zW-x9Udhx*ObiTgQ+B7BG?YmtLB9tEv24)kFEy)#UMU=Gn5ZsT32sbG`c_uh~9 zEcVaFttuUorSD9Cep7MY+7pjx#(BfLoaLote&<0Ffn^{Ib!V8C)m0vltve`3Qx{_pHZR1elbz^ynMyvhlF?#BlB#^I8AXmZk#TGYo=-sxuMQ_ZP^{*ZceJ!qBDyRH^jj7$&9YW_8}GLNJbgMk z-9}yEZj`lVeLwv8jwBlMY*z6{nWZK>A9%z*we-hj4@-~hXoZcxw~4kxHW4+xk`0;x z#3CLfqf>cYA@}}^Ihfm(i~|gRr(gx-4$xj#lb4qVt4;urJU2I&Z<*Aev_3&syD9th zcW>7s^POT6KA~q$8H2w5!4MXXqSubFs^7AWtQx$agPE6t^ZTKpnGphhLXq%>)RmzTRQt-pTQnu9sHudpmK$f|85-nE@D_|t zP-%i6_YuF9X0wR3WE0#sOFngUc*{Fg5Q`!iEaLc*m*6JEqdV*KJ4 zMJng3?Iz+8?v}luCHl24Xb}JFg#MndG2Ri>Q??{;&%Yh6fUoBT1WUlT8T)5I)%+QC zOcG9)>f4vNw4MS7<0bgAZ#gX3cv=fr-#2n3outXA!uU2)EhvvhI;KI8{a`%=ajW2+ zh2PwVVo28A)jo4a?Y#VWC%9R;Odf*d^bYb~|4OZc3j+Eq7*PO_aE8bJ5718n|LN`N zacc2`7g<~uXzj!C%B5TemC%26>}h#O-Zlr^-`JBkQT%^2WtJ40o1zf-69f6)xF~{`$oa=;N8Al0c=QC4EwX znrwBLz*Z^wdnO@s=>>Er@r(GF03A}BxY_&pEUsISm4@oW?pE24Mynyc?@Wtju8FI1 zCD&+Ge_gS40(aEB(>^TtG<~|?i?u(;+oGQzhgP9T1l)~PC)L&0iq%rjAt^Y?27Pfb zX#Glp@1O?*X-)*s`l@Z^NJcj+P=CfzFV(6A#u1R*M&Pl21guNIXWVuWs8NL|*M*N^ zObO^Dj~}wIW2w`EzK_^tu_u;%W zhUxV-Azk*CC1nKWB5X*mL^$o>yq=mxXVx~Kx+#Q|XslC=a8{S7=|2tB1;A}LH3RVv zqDkR~o4kGc@P*`_xVl34C-K$o8fp`wxz7zvAz!hAB?K~yo-w`s%?yM$`o`W7Kg|lI zpjFnSh2UTKTPx>5i0LN#i;0(wB){is@|wq(BQpQ^)zkgpV^ja!15Y;O+%EGLIp#t@COPLArG@|X38C;!`r5tVwR3g!beio{t0i29LnY4 z%p5|e<*1Z2SIb{h3a;7zKc_7g8Yzuo@8>|$nPHUB_s(?v6-Z#FBK>}od(`E*$T4y{ zhHs|laU-stn;}>+1}0$XKq&yk)4dU*`qc1^n9na{HQT+@U7ta2&$cl#S%fm&zUXh} zWi6MX%B9W5a&F`w>bEziNyA0Ja8fpmZe-g(;D`VfK}4yNopTtIXN;C>Ep38qm*xQd z2Sb&f3`IQgiD*spBQle}sCZ>u<*adjS6KCKUs+uIzOOjUmvw8 zJgXKRTQr9ZSO~2hcg6_?V(`~MG>^W}HsR$Yg1V8>At1(Btmh?zg1>w@Txl0#VqyZq ztv#n#I5=RrlPd_LXB8G6rC?cen7-<++9i3{gR4Rr7|Szg7eJ;+?y zLKWU)Mo-vYOa2H|27V*>-u^`nX?Q z&S|@R4^$o?bOQQv_WPvtbg#QavVJ1poV~;O3G1JxPc+R=s`{?o)rv$*un;+wX_jjg z*|K4rzsEI39U-pmu(XmQ@tjp*KXo@&CUS(WzB&Pu2HT1r{Z4FouG=Hpq;XZI_mtwfAwMd`)Ikfc;1o_^>l=~t*Q->h8 zoYme8Sx?WBZcsjfFFXy%^y1^;Ay6JLFfm=7pBufkbtI?tcVea%Cn|2d(%$MV6(#|0BfG<2#eA5Wb4m|6=K;Wo1RfVF8?u zfk7S+9u~%BwC!el7Z$=Vg6sRwPHSUdo2rD{Hp4d0j&@74dtzFpyo_64mDy@`Bx_ta zPJBU-$*7kcRrygL-S|@-W!}DwiBse!B9szT>drBmlmO%F*5M;Ez2Xs~Z|w^?ELI-t{fgR1{>Gf`uKMSB4<3gIWcQw$To^>Yp+cqyhpm=Em`YR6%H8y4wm+6iC$CiaTm^y79Z4wMC#TvG7` zM7viL_TP(6TMCLMN{}G^3>t7?_Tg6B2gMbppQ)~19zFZvm2+V?#5AK)d+Sn&qnP_s&Wyvc(!Uda{ z>gC3i${x__w^Dnmd=|SyDZ>GHfIy1ActT`>g?ea<8B*w-hRL7`X=VFJSSU}_=kik~ z=4RPg9n=CeWx&VUel>52MI{INDIlHl*iJV6Cwm2uX|V1j66`nW`hqerFrfQe9sY(I zTi){MRqfCBmK;-aa^gX^??fMPbgeVgj%3bu*Heax_OUowD+H<=b^Lh-+joZDS#(}* z!7yLppIQ$5bf@+fD*xeeF@|`p0vF$@|K`aEKa@ZyETFAM!ttYYgyvFBt@>1E;;rAH zD@J>%*KtGX4HfivKm2ivJEm%lOWm-=d@_F@$NTNKybA(EYwG*nw>Zblf(3+4;{O!9 zdY!ofD~6y82Si$6MU*XQMnnnTem^k$_;GzF(?<|^*})2|e+4aAW{{kmOpMl%%t5J1 zjwC&~oSNviO@xVic^Uoc#QARP81#@~41C{eblH$mVu?>a(YFJ5=$GE}*Y)j%MU|<; z3P{gu#tjS21`nOg4qsJI>REEc$TvnkN%U;;XYI4j@_qWQsF9XP;^(}kZ1}9=s|aiE zy{EV5&FqYOU)gJX$Uw#}(^iGbK4igXhK5=r#$<>^~d^cnf6?U8d# z^f!St>OU77vd>2}7D&q8QE5!6*CpP_6BuYBL9v3ioIWTcN-~Jn71;MQA)n{Zi9pvA zXqD_tOt!&3xs*gPNy(Y%>4f)l{!P23nkbCCJjv(H?>$t4SrDK8G3XTWcww%$hw}>;7+MX*y*$BRW z{wyZ$2N9}_HgQ@xSDe3r_&+^@pmdl zC+-Cg-~EIvvj9*!ypdMO;Mb(V2CI?Wz@!u;{vnBpGeGX}USI#|wEIOpxV&vj>>>D^ zDBK+Fu?!bSlO7iWg0bT2l%}Dv_jRL5JncD#w;n!5hH)} z`)6E<>d1iAc_l)nJa-dp5Y&-%WS(#Wk8_VeFn5YUH(fl`MvSdDs3GrbTYu;uFC+OhI-TRvVt((BX|tb|`T zQ(HdCiY$u0F`6iMj*0-5L-O20z=t=cA-6WO&4;>4BJGH zxJ+C5&P%Ov_D|{yUHQL89i1sXOrt|$%Iz^~HpG`cpe;Lin*^;$Rp*D8Ho?z~Dj0<1 zz6s#+EEz?1Q2b*?%m?2nq-l{>s5Y&qF~yLLBRu=T{*OccoAut7Z@Nbs-!6+MJzgW( zRwzU7XARJ)M*m35f2TMPO6l4xe?IpF10}oa2d(fv9KVsA9U?wv^k3|L4@pEbeVU0W z6e{Dp(`@bjT_ew9(2(`yNoV{HjUZQG^1_IXLJfdM$6vnI6y!CPfz0XHYM+zYrhKj z$8$<~l+sV*hmZ6h1bW?hvsFt6s;)bBL@;wnc3zr=Qa?qu6>FGkN?-rA$RY;mlif6;F9UZO7AD;z_+#5xfX9`$V`(B|~^kCMPL zQ=>yq8}F}HhtgDWqR65G^Gfg{5QJa=Z%(3;f8H~ZB5TRcKG#r-+f4>?r!(FB?|nz3 zs#f({XtW>Kta8pW>gMGJxw*0Wpw(`yCgp(YuH8fCsRkR8#8;+QWamre9Os_rayzN@ zy)hEmVzI~*y8rIOx=QnbNs{UGhn8h?bFDt?e?_eh<-t_4CWo0XTz&!uE1THjUjarA zZhfIe3_8OyLQ(|Z&k;sz_VTtomLgR>>v^)z6(E{vzFg}FzA*nwK0K#MGTAQ{EY3%7 z75ErRgk8qOf>_|i_2Ksp+-IqG%_=1{U%-27!JZzHKI_}5REJjY^xJW;i9=F z5ep8VAxteLtk7B&Dw*U9CzVQd@`38+tib5yU=EA1QS4YJK49dooXXTbqOoZY`IESi z&EQ>;FH$od&+oR_-b5OyV_G==>nKZ4{vK^i^a;Us5F4>3( z3)WCGwkO6_${$`Z>|alNUI^p6!-lcrfmVp)q7;k?ZytBt0+T2dQ(oyPE|w*o+v`wVd-la5qsCY!cjai%~LhcHEDFS2d@{j_K*TtNo%QPZxr5!L84 zXOQ-c6jyW6o=Fw`%P=~wH(K=q#h&YK`O<1P8yFxp+_jaDsvxmmj;C3JgF5E)xM!Nf zJi`VuaV5sO08-r? z*5ckNugM|jz=+D|ongHDh!dm4uI|FG%}$ROdGiu*EOyVJxAdj#&lB+pAr}5gLB?C2<#G0Y>y6L{yn1+3=@tp%Pj`afKj-PN-dNze;EF`o9n?WO%F19h z%oUIg*?>U=*lY{tu$ZWUBtG}{=e!cRU;|qvFeZQj*V2^Y=Hmyi#rvVG9Nia*zcZ_w zWM-Agx4fppyF!w1KfxCdVOe7Dr2+3#jqqUaLFsSfh+N?f$oH%h9*!c+De}CQ(-nV5 zso;fIIxbDPd8E!Nol=1{Mh}y+K$)R?Aq>=c-mMv1cFg8aYCT~M!_CK+n)4m39-6#- z4{!o^ht&uO2tXNr%!?jO0rq?WL=1&Q_-=s>`E`1bY~2!;j1Teq56(5Lg*XAheeI=5 zO4#Ek@(2Mls`{@3(o=kD3@5+!S`mu_AO4rnAe#}v+puaO9L5-+3ovB zV_H>_H7k50_c(QytmpoJSO2<4c4*!k-f4zD>i$-Q7vYtyXY2xt*N}X{G7eYicJBwB zEr-TMRq_}qu!L*Y$_0%6!XnJTq9?WHPXjM!x`8|cOqN}(+hdv&Iu+92FO*rN^GtCD zqkvL<%d*DdKjTPptkWwK$aDM#9b}-@dBuDyr$_NjC zG`+$4H;Gt3BbayObE)UxG}hlBHQUJxdU`*t1tXl}%w|Xl(@}=^)js|(mIPq4P?CDD z{!a@KfSmBgZnvrIn9iRRc)5eoi5zrsadBne95r_TwuWiQ%JLmHDgHp`Dh-xU7W0F> zn5zDUc&T2g5#QK>Jm#qFIAw&~l`A)3KErli-@^I5{L{NgHH|1WjV+yzpIBTgeBF;* zn;i8y8mcWI;hv4yO=B4)DO`}E&~tIWi03SGe{3D&??@DdgGWU{jJ%9z4P;m}D7>BX z!Au=(*q38xq%-V+^JTX~mW;`vy@7#xyaV{hRN+NdPqLBb3A~yZp#>{W!~j1-c}Mdy z4a-_B?UfKQa?CKWGLrfD;+X6@oUQgs)$~#ecw8`*P4p3DJ1IhI(2)=dEv%ehIf!Q1 zrv{-4nkwtQ81#^sb6vbaHl$8h#($o7Tdl?yEtcDH;=Zoyuy4KOnt#beA z;>C^yk=6ZG0r1k90l!;U zO$Z$gjV)OYKSF};TayfUL8ScrEzM0|7LCmC>u{31nOI<7M;Z|0WfRoP785 zr1HVNLxUyK68%kC3tbU@=WDw$)_dptr}y4Fu80P5`o<3nH#Ya( zc65JqYVJnvaLRkVd~|p8_q-1?JDhNudt9j%HFRMpOCt4HWwK!S(ie*xbI0Q#augAw zC=QOIA%y(M`N>c$Z%Jg6%EP>YuG4uyC;~77XJXhO`F+kit!TVhEDb zFVqX28#!DcH}+T|viOs>g?ICNEww3eLzZ&i6j+7t1!XVoT+XWBd9fb|leh@u9j`2N zQJVJ`RS}m~prfo(xmTwq`glqBv`nBvl5{D@XP>!r+TN(B7?Z=S#vuDe2Sy!t@~K!N zLCome#gEJ1?1tj6ITl>u&FT8)-UhwF-??doWznB2uOv(Ry7uep3S=5C4#V*Ep6Cq= zY9c@#g9(2&E*TN*ojSY?3|zb{EMs7^IaE|sq}6zk*j9#i7rJOo7d}!S#kn~>>;CL8 z{nJ2CMenX`+{IRA4FLt(TfOh>s(PbEnEh#IUp`Oa-GDD8Jx@K8s{wJ?S{&|kO!3{H z8o~PB#{t@eZf*|7#qtZF=qx1=aqQ?H1|z>V-rV|_noQp_5C7R0~or~jfTzUx! zF5iJ^Eo(Ou?H9yS7)3Lcm|kvgW*raSd05k{v2%dD;sxR$e4-%xw?|Z{ckxEHceuz- zDxmz)3UL))aU)Q`d_;f4B5rFksY8?Z(6#W2TsC<=I}_WVlxQObrR{Fp7sddba==jn zcBegnZX;N;lgOye>97fUHhpA*y#|N7Lr*W;x5v=`glY&b}C#J=TE|n-zH?bOZM?En)V$+wiyWQ zu)c*kffW7?L)Epo`$w|XH6+jCOGnwJHT#9hD26iw49B#W8%l0BM5^Als`T_yGHB_> zAKQfL|22HqCAlBq13_F)yrTHsSFcTqc{{?=hQq7~|Ex2h$ns=82!V~H$B+h4J8~q; zfo*P;m6hDf7sX?1b}Y&DnUkSmVUrfMih?(9fJ|!e`3UpKuI!}(VL+cJYH!df3*;P0 z>FDkJv$H^ZkbxERI^~~`0*IGxaPe2qb#&FfF^c`t5EPcEIWBJl5$)Qc29@b-3xk;u zE;k^>M@+@ioS*$`hk=rhxuWLKQ=auVPlBsRQh0$p(YmRJ7+*}Qfh?!t&H;F#_dK74;1*7W*O zN3w z{*8vT53Md3I-oS08(7;<%s46N!;EW4#a;TK*A~BEYh9-d-~x(oNSIH4f0%CGTv?9J zAfziT1+BLI5)letb&DAIG{829zug6r6iRlYd<5`Mza2QJWSSuGTWo5>u?+@|lnLj+H8G_$W>4_)_Lv=L! z8xSFZ=xX(Cg`S=~oc_ZA*U^4AwEA5rpO1IQ@;7FOo#kG6&18>qUc)*oxG%%prnRnu zt!8a$Zpr&wkB-qh%t%fjx+NxldYHELDrMR0l(^y%MKu3@*AxEL@Lq%I{Ls|-KuA_JMD3P`4l?BOX}na!7rr9prM&@NXe~l+OA={qGI*>^?g*tdv-#a z+OEq0*e4Wonzy?5*iaAL^uD8B-3%eu&J%bttOxH?C61pzihq{wvig%Ql?B}S zo*YBZ%+UWXzk|a&jGva-BZ}`-P)|;?z|u4)pQ2JWeOhR~`-+B>H8nqXD*s z{Z}3f70az&>Hk2*WAa^K%+8^0<~gyP+_IGx%`S%Dp=l(GIy2J4J-^S0#PrT6zH65a zlA^5+ZrEZT%65<~4g6sDRnQ?Jm#I&yEtP}^X~$#b{jk#(ACyAC8HW4F{LIuM>KA*O zUJr&OuSGR$f$yY|mbQ-?2*!Ni=HK=`L4Wg{3TZ2^V?FP}W!|9h!bQe1_nC`~sU^b? z_85htEuUySMDNcMAzv`53?-zKVcsFWcY2i2y&|v8&ZFH5WDi~P0cwDp-MVaCh(=qq zJHs$Ch>fv@sB>HV*LEM%U$V?2nUVXoj#pFx&s{9^Bmzbh9tvLw6`ayqo^h%-?kjPO zC^Z$2=jEFe3mIERM-3YeV!`Y->C#5dTg_Ah?c^5}lEt=Wpn!-0s@4fr9luGOSBwht z>v=F8BIBIYM|tK@1+RHnTwQEU06da70a5&v^ubZhPw5zTZd!0frEjb&>gj4<2l+8) zl6^FM_ln7QqYXAF)A#)!WLg5##(Mbi_bo%wHwjH^?f^0dLkKJ<6u3U+`w zew%>h*xZkdw@U*8N!ZK=n-*07Be}l)CyZp9qj4ypeUu zQEPcnw>9=H{)B0m5ZlksW)JeRd$+LU)wr>H#6A`3NkD~kl$Ao#i3AxqPn31cHR^Uj zN$|bK2Kcg4FJOU&3oK;-RhUo@Z{!tllZ5@jWDi z(UG#of=J8t&|K1*b3|#dZ|fz$kSmwwAPmD6B-#D?;j8;qQTxT~sJ3~ZDe4Ofb@oVv zKKyNJ8S*?iC<|sBxO?__WEE`jQU9VZEGZpV&2W8g|!;gPF zTMxZG6ZT<#_V7zCNx#E$IDfDJCkc|PJtU}NRBdkz)zGgAPKYo1VL`L-5(cYHR4j7+ zU0}^R3%Z{@9v&8wAeQNRQc{HDYrHUs)6f1jHyjcx0WQm#8ddFIYG>0D&6Dr4E(D-O zD7bvh;l9X!BV;`Fm-_!zc9sEAMcv*XLIflSq$GqvN~A#$qy#}g2c)|@1Vlg@K|s1& zke2T5?(UAE8w8}e8=rgM`}Mu^ZQ|^6&f2looW1_Pl^Kw%R$$o?i(DA?FhP8gPDWK5 z6p0Ah5MoPo>P_U{D1V5$$kvgVUCt^{@I$#cO5-|xM$4QU18e=PM6WX`1qsjvO6zjf{`Y_;FRZz)G5}8Y zBHH7d7TDoqG9-n4-nHVFcDO}+5n9<~cYp6X5s_O#uOno{& zW;6J;K8uRe>5B<2K>BAy??q>KdxWL@HK8E*I{;m(Y7=Xdb`L=Ho&_L-{PPQA!*B8EfwQ)B=-*7Fjt6{ls+Ru6p&iOxaDexS5S@pmbF(ya$6#8L@d zmf;oE+}(Uv5^UKS??*M@GmC#&j}!kU*732vhJP6Nn#_rXgW1HV1p71Yxxi{~pTIqk zT`wOkw*D!m_s@Jzp8yS_95%xVheqQ+yW>4;Xbo16>=YYrscKi;Ze(V2NE{l!rm0wZ zN=>N0J(1`X$QJFVDny)dy?R#eDEjUicc4fK_RR0NY7oNaNsWZ!%cfMZY`J%VIo^c5 zF}C2nd-#obO`htICa74(-L<oAQLH`O|?MGJMozlbPdlDwj#T{n_P^oiY8qo32h_e2;^w8%Ew(#D z+p0S~`X^@NCj@jzU4u1$g*5|C7dkSgV1BZIYE)@22CqzyPZGILz zU#|PQgD8C|`P~LlE6h(Lakkc(-YMkbPn@)Q!-E8ILB}9Lw){13Tc9z1SmASH?}QH* z?st2|lBGZtwwZ7jIoUwWinnm2 zHHQqQ7x?ovJyns}ohN{7YWSdHdFpH#vj9)psBF3Apfny^!NugBMMK?t|KpM~&GG9! zUGqgnP;zUjYUo1~c)pT5uB4!#Lk2aTmf2nNs{g{TKv!Ox<6|M>*v!%%`7Er#wNPY@ zw11IG7mfSdxkWb$y<;lsq7@ZH=XduN8ydgNn-%8Sr?ZFA>n?_s4Xvt*FqSv5jqj5# z(@0hj#;=QfI^NXGY@qAoFB}QatuRU9A!c6!@E6)>C>!>V&ni!5?Zg~_Aspr}(z`Yd zM6ABMtRspe3zJLRNTO;6liADb;pjj59C_%BsW4elgqy&nT7RqmHD1jTmD#L1#3VY9 z+{mXppoa0{Xtd*Szaq57^vRAZSfG6txV=+MU9E~Ds7vX>eIebE^bLg3n zbqad;XENU-HH_4+s*T}Bw;Y1Z6Au-+eM+_qNa7bc-2OOsOua)-frY0M?_$C=#a&z# zNg+*z;MC8z12PBQ=f~~!n(&u>|Li*{g=;20_5b^B+mJM^C&#?#M5E|r0@q$~_QbMs zK~jL915tfQ3YRNmrRP9`prS$99Dg5NE>(Y2MBu-;IO7pa@`x|xv1&GgW2zM^q3CZ{ zV3(;}6|#4H=*Tk)WHQ%I%fEZ2zfU?7P9KS$b<3vLA+PH%&b#x#W9U077Q#qDb*JKs zwp)2ju}gw8BgY>b8>{ckMm4?Plmf?JSqBX->hzhJYnNL7iek5)MpLr{?T)>kk&1lk z&zc0o8(fy&$BAHtw#|#zeH8#uikIH@$Zx5GA*Cmrr_STVe{)`-01J2brXGBiV~KlC z<8AoDl_$-gJ=@}vNBxewW6F?|iB$fjz7l7qRmaqt9>Q)_AxZMB#D@(15tFb$Viv^r z=jZI4Tfa?tM;}0NM5%EIR}P6M%yeG3GIMstjw!i1%u3Wx3YpOJ%m*Hrnud9<<91|j zr+>b@pb0wNNh%0XYf+)V&85O-6$qnx{gb$0={x;#+Q-dJa2hFz_gS#4r@hF+CUI@w zc~xd{sWh5k6AlY=q`L)<-^=4vb|B`QLGyNmff*qxLCmCrk$L077H^|%h*I@lpyVkY z_!W7PMHk~mgEhg3+nkf2r6k(T;p3JcgBvZJ7V#rpAS^IgYPmE0NQ@(iA&FjU>Bp)- zSmesZZptGFM1zg=kWrq%yur#1kDBWnvCqIl`che43f-lX&w* zc_RyW6&j3soq*kaW7;zG#>XfS$LHPzY(nZ;JA<^6hRf2 zH!-KzO5>A-<|I3z+4XS0&%K@TGr%U4BFIU*XkRKW=eGl{obu3s?-`?NUsddR_Ssux zmju$(=7TEmRW+zjNNaq|QaR4aB6x`+fac)qJLkj{GZV1#`n<`9|NJi5D1bN zs(@)x`l*mG)S8RI?@%=;ZRvti_@FR|NvDnD;D^CL`=40Gv z&7au0)k;10@6V467?o8-fp`#vdeBEU3$CwdowhIj1`{raOrFY*X^IgZ8-ROXOB(xC72j~E z$5y^isu4g_+#f9pfm(0MO^}%ND(q3=^3r@`SeOTk=8Y7S-&;j&FoZo&$)yxF zf;M^-{tYOwqFn_VG_QMGllnj*Pa~IpQ;>~m$D2ty*&Ij}Cu%I`W3=}SnZbJG zAV?OW&Jxl0_(3r!cDeMLR)?kJzZWdGtY3=9C7X5mCEgZ)iMdi~x6ahAr}kJ7h|434*ykkAXRTG78$`K>_L)r{$58hzQo~(QALN7a z7%xn#Q#$PeWYqwMcac8b*2=M(z@%xJEj4RmkD8W+VcTQKnT+@6ybJUdL8$u<&!$}s zP~6jjisJ?bGCyCH=jHWz89CLv0d1FypnKW)8?~!Nw1xhQbpyFt*p(0c;ej)s%@=v6 z4mcvz6$wJebVs)YWImMq_7>A6hQ7E|N(_YRl~w>yF;o=~cpqyU8&t2I#*9kYu|8kb zq~u;bLipmAxtt42|9z158cNjKJImy}l5p~MXGQJ<6r!V-rV>q28zrHpt}ZVx4`kqu zmnWv8k^n_5CFL)gVq#`yTRPp;B>eFsGWoQ@=exx9`!jOXpsz!SV3EFGb%0z$GHGG9yErnaH^aUnmI)z;Yjb z7p>OV_oJn!pG8>lq%lY_ki+t^@}`=SNxDLg#!t zeom_r1>H|->YSqc*U;_3_O{u;vn5haqs>#Nptl6X#Ks|I6%|lXuzez6LZoK(e(!~x zX@ZZ;-g}}|%c!iv;0%*hu!?mLgb0abWn~eFl97>-hjnzkm2j!+f15sTrmn6IY?70k z>pEs$Se(As)>QkbAc@(`!C(>0>-xK>sv36J^$5NDJNS_TWKXH7slXyxqe1hRJZ>^g z0ImM ztA4rQh=@|wl4BqQv|QZRCwSDfG&G{L(08=Z$$s+P?x~-Vv3c=~n{Elt z)rNQooG-=~YWA2SX4cW^41Dhwd1p4ve+GRL!YTK3z=IxbqJ!sF%b`GFdT~83hdPO| zZ;=juV}rG}*eL~y8Hy3iU`)w9nrWQ$P#rmzyW2>JtdIHGUY(kW3A_?#G9e-i48Mqo z8?vI#@?UTGkqGXzQTBN=3g=UIultt#z-)e?ZtyudOh=0q(q!Oc-gH}omY2sq7M(M5 z=g@?YFLumv_a^@I8y7QLBQFXV$yI2(>N&3v)f|dD+8~~wOpgEa$>x!i0lw`nJ6OJv z(jyKwFM1TzQ)_NLOMg9Xhi&Dy@fns(k?P(@1P~dvl%F21js!~XxfvA-)93szY_4hH zVP%ht`7$^Z#zE@y>@pqmr%x>$*_K~s760QxtqeN!@4xRRPX|E>38_`f@iiTDK+=V+ z_TcxJ8egI^DJ`O(%8c+X=tX7#1j3fGOqX|595-F4eULvpVJWLdA@bF&?RD*{1G7KY zecYiF9&3kjt|XFctLWbQ3r6zaK7bajoEG5e+34hvjk?SKUYS)ea4Yu(tBetfe2BA{ zkY_M?078z(z~(o#zxZ$AcNZNjYkX-in(&cFJl*SpuoQ7gU~e|7sz*+NwZF!R-zR_C zHRIEQ>0{#!nvR!$cot*CquGvPApPdtbi< z%8@1Hxd%5CJ|A{2r2Z3oLosuO<%Y1 zmZ~2-Js8R%8>tn);9u>=6~A}a5NlZzdYycwPCGvw2D7aN1_{|jmcHD``3u%!!hIWX z`o_4r(NHJW1Zey|l!V6A_W9LYIt<%hgHkvD`wLid(E9KOa~bt|Sg0HmOU}E<8&8+~ zwYz+aW@G4K>wWMA@sw5h_X0J)wxC4}NpLlcUi}SXP)R-%v)!)985OirfG4PZJ)FJe zRcb}{r(pdc6g;1R2%BImbLxn24dx8_*gXRm8(SuNjs=F;Q#&y&Eet|$RP~M4&C~zcg+<$!@9rK-6^cKsp?>}!*k{<4M%ab615TOMjLwIc51k95H z{_}$dK~w=g{|5O#y*Xq9_JP2cbg>*s{#_1bhlekiBEm!9qx-f||4+^Re_n!1w1*mAPWLE5P%IO#K!U(_C(gz)d93u@RUr}C=mH`P*YRG zVEQ2G73@^*Gt+p3l@g?_A6;DQ+KBqyJKpjIchtiO;JyU%;}C3b=X}{$ctbeDDlt^j zhMBb+uEFLxI1~UgSMGxu*OOtOP?%e=-J2-~;5zjRi|OT7-^ZBkAi*D(;uY6=Dp-d> zp&TGVow4BY(e<$;z=%ZvY|(d=hn>2CRk-?XHX_phWP%`Y0S%j)Zuww8(E`{&K+piX z0Ns8N-{j`xfE=a<(1_s0D!7}Zz~JD8Qsa;vaTF93096N~DgoP7znGhohuW?$PA&MY z3b>6pC$ZnEztT%IUmSIvqQd1_yJcDk9Iiq$(WuA73JmMi#3Ui#6xa#puY2DFTv?PP zt@%V=aU<|tQt#gJfdru=3yaHWsV*j8w36|LpsK38t#5L zKKXI50QxnP8xeSkH&w)~wYA-$2 ziG)+YIo8+H8%X3s_yN1t6%<%a6%Nf-SUzWD+}hn$U?4o}3WG`9gQNxpuXX_wfz(n? zM5K9X>6a|S?$%bAR0gnic3vKN&2(FvSh?D3!ydvb>0%XTqJa7fUIYjys8C;)L+cHpL1tvZ9&r_rWY3||;7-K(mei0#*SNn*L>cQotO zFe9FHv|Q_4#Q0bF$SAObTNu{C{x*>ea9@zTQ07fqm;IzOK6ZvwAyyQTjYvB5ioL&o z$Htz~j_+Sj!I-k(`E%jopGuDJYy>u{S%`wBJx_Ng0n2b9Aq31mJVGr^luT1605;s) z+k4|>X=!r!T$aXQzx)5a2A8+wcO;10umggrKD_&yL!PRZHP6Irk2)z|0Nj007^#Xb`H## zS6Il(!U8CzPC#G&U38h%{h}9ya)8|pc!Z$Z+U@NvNEa)uten(gvzRJc?qzKhu-{ct zQ;QD}4|ZTD3u3K5837Q8XlB)wJ$kS-Eg?^sgMkbvoM-t!p5hLKu4j&_s;Vj~Q$V+| z$BK>iMovynObnG;EJap9N$FLE^%YIV$LZnWWs{-N(KqNISBCU#qBS1dkRz@@qk82g z3&o+Tu~HL@6cu_a47qN*5n`dD)v2ABm;kvC*pG0)D*)6R(WtTpGMM>>2Un@!kH!m) zs?bh^9AQ*Kg7Zq-5B$abldaJ-ZjeL(^sRou!F1j-aU2nOnLxhk-lw zuOkDf^;ORR-y+1%udA!;&^?Bp|F18WR|^HNwaw6;*UBwb%+En+5&Y!rOo}!f1m{4Z zpjm7GE@K4z9K@71+|B^3iB1hp!wWE80F{PL4Rmwyu5$YN2%ufvqu&7&31ibZ;g`nl zUWx`5;99v{Ze{Ixg(oFZ9>UqSsyGcu2tPD?26(+CCwv*=i!&$H1U7q~c>~?s;_ZkQ zvJ>dm{g>vZrprf;px2UJ<=}8Q&=;$zk@c3`+}wctLg(Gr1 zX?0G{Js^PV{lk(!5fKS*d_h4xZqFcSdp-Dc=fkhI{@)k)GL-kQELo z+IRjoJ$4)o4bGKcRqg_IOGBh=|5kyYJeD)}tAMS9gs)biLup(<&j_J-bpbOrVh!A& z<+@Xs^)Fo7m;bMy{Jd7ysU~H~rJ4$!OV>{KCG?E2X<6-CzLX$BhPXckO6O)OVqa)c zLR5z4%QuEw!nU73)oOE+Ut|C8mu#eP!>!@?loGqA)s2<&Al`m??Fl*m@z7lZbcmHw zwEZwvR0c}->4N>|uBV}MR2&czVt7diRhCpx@~}xF-{(vq0cmu<1F4D;;1wQj_llyo zWM?8D=3NKGSp^Bj%vUXsSn))YfCv<1Re>cg6wej_yi*SJ8X3t)w_IA<7wp};b^(Gk zkTDBsX+3oMf4Yr_LEk7@w<^j*weq=i$VA{5Rl6ChvYwG8Bx2{;8|qT^5(A7JN;HqF zHywJiRjBtp{hvb^?7Iy4_D#&qOQ$UWp@xdAOobWQQ>V|!-l@JJJDU+yi0nj64DJ$) zm^eFYyg~C^y$wZbs;WwM<&D3OR_J&VDUkm+3VQl4Bx=4xS)%@a6@dl^fd~ZhPW*#d JfvC>6{{lr($BzI2 literal 0 HcmV?d00001 diff --git a/examples/03.IAXO/limits/IAXOPlus_Combined.csv b/examples/03.IAXO/limits/IAXOPlus_Combined.csv new file mode 100644 index 00000000..32cc801d --- /dev/null +++ b/examples/03.IAXO/limits/IAXOPlus_Combined.csv @@ -0,0 +1,466 @@ +0.001 5.88336e-07 +0.00102 5.88336e-07 +0.0010404 5.88336e-07 +0.00106121 5.88336e-07 +0.00108243 5.88336e-07 +0.00110408 5.88336e-07 +0.00112616 5.88336e-07 +0.00114869 5.88336e-07 +0.00117166 5.88336e-07 +0.00119509 5.88336e-07 +0.00121899 5.88336e-07 +0.00124337 5.88336e-07 +0.00126824 5.88336e-07 +0.00129361 5.88336e-07 +0.00131948 5.88336e-07 +0.00134587 5.88336e-07 +0.00137279 5.88454e-07 +0.00140024 5.88454e-07 +0.00142825 5.88454e-07 +0.00145681 5.88454e-07 +0.00148595 5.88454e-07 +0.00151567 5.88454e-07 +0.00154598 5.88454e-07 +0.0015769 5.88454e-07 +0.00160844 5.88454e-07 +0.00164061 5.88571e-07 +0.00167342 5.88571e-07 +0.00170689 5.88571e-07 +0.00174102 5.88571e-07 +0.00177584 5.88571e-07 +0.00181136 5.88689e-07 +0.00184759 5.88689e-07 +0.00188454 5.88689e-07 +0.00192223 5.88807e-07 +0.00196068 5.88807e-07 +0.00199989 5.88807e-07 +0.00203989 5.88925e-07 +0.00208069 5.88925e-07 +0.0021223 5.88925e-07 +0.00216474 5.89042e-07 +0.00220804 5.89042e-07 +0.0022522 5.8916e-07 +0.00229724 5.89278e-07 +0.00234319 5.89278e-07 +0.00239005 5.89396e-07 +0.00243785 5.89514e-07 +0.00248661 5.89514e-07 +0.00253634 5.89632e-07 +0.00258707 5.8975e-07 +0.00263881 5.89868e-07 +0.00269159 5.89986e-07 +0.00274542 5.90222e-07 +0.00280033 5.9034e-07 +0.00285633 5.90458e-07 +0.00291346 5.90694e-07 +0.00297173 5.90812e-07 +0.00303117 5.91048e-07 +0.00309179 5.91285e-07 +0.00315362 5.91521e-07 +0.0032167 5.91758e-07 +0.00328103 5.92113e-07 +0.00334665 5.9235e-07 +0.00341358 5.92706e-07 +0.00348186 5.93061e-07 +0.00355149 5.93417e-07 +0.00362252 5.93773e-07 +0.00369497 5.94248e-07 +0.00376887 5.94724e-07 +0.00384425 5.952e-07 +0.00392114 5.95798e-07 +0.00399956 5.96275e-07 +0.00407955 5.96871e-07 +0.00416114 5.97588e-07 +0.00424436 5.98305e-07 +0.00432925 5.99024e-07 +0.00441584 5.99863e-07 +0.00450415 6.00703e-07 +0.00459424 6.01665e-07 +0.00468612 6.02628e-07 +0.00477984 6.03714e-07 +0.00487544 6.04922e-07 +0.00497295 6.06133e-07 +0.00507241 6.07471e-07 +0.00517386 6.08809e-07 +0.00527733 6.10394e-07 +0.00538288 6.11983e-07 +0.00549054 6.13821e-07 +0.00560035 6.15665e-07 +0.00571235 6.17638e-07 +0.0058266 6.19868e-07 +0.00594313 6.22104e-07 +0.006062 6.24722e-07 +0.00618324 6.27351e-07 +0.0063069 6.30243e-07 +0.00643304 6.33278e-07 +0.0065617 6.36707e-07 +0.00669293 6.40154e-07 +0.00682679 6.44006e-07 +0.00696333 6.48014e-07 +0.00710259 6.52304e-07 +0.00724465 6.57017e-07 +0.00738954 6.619e-07 +0.00753733 6.67082e-07 +0.00768808 6.72577e-07 +0.00784184 6.78386e-07 +0.00799867 6.84522e-07 +0.00815865 6.91054e-07 +0.00832182 6.97859e-07 +0.00848826 7.05157e-07 +0.00865802 7.12813e-07 +0.00883118 7.20844e-07 +0.00900781 7.29403e-07 +0.00918796 7.38207e-07 +0.00937172 7.4757e-07 +0.00955916 7.57351e-07 +0.00975034 7.6757e-07 +0.00994535 7.78394e-07 +0.0101443 7.89687e-07 +0.0103471 8.0146e-07 +0.0105541 8.13738e-07 +0.0107652 8.26615e-07 +0.0109805 8.39946e-07 +0.0112001 8.53837e-07 +0.0114241 8.68132e-07 +0.0116526 8.82666e-07 +0.0118856 8.97622e-07 +0.0121233 9.1265e-07 +0.0123658 9.27739e-07 +0.0126131 9.42894e-07 +0.0128654 9.57879e-07 +0.0131227 9.72942e-07 +0.0133851 9.88238e-07 +0.0136528 1.00438e-06 +0.0139259 1.0216e-06 +0.0142044 1.0412e-06 +0.0144885 1.06394e-06 +0.0147783 1.09131e-06 +0.0150738 1.12433e-06 +0.0153753 1.16473e-06 +0.0156828 1.21396e-06 +0.0159965 1.27469e-06 +0.0163164 1.34866e-06 +0.0166427 1.43938e-06 +0.0169756 1.55057e-06 +0.0173151 1.68798e-06 +0.0176614 1.85772e-06 +0.0180146 2.06829e-06 +0.0183749 2.32945e-06 +0.0187424 2.65343e-06 +0.0191173 3.05375e-06 +0.0194996 3.5441e-06 +0.0198896 4.12915e-06 +0.0202874 4.79794e-06 +0.0206931 5.5229e-06 +0.021107 6.27968e-06 +0.0215291 7.07971e-06 +0.0219597 8.00297e-06 +0.0223989 9.19564e-06 +0.0228469 1.08433e-05 +0.0233038 1.30903e-05 +0.0237699 1.58086e-05 +0.0242453 1.84207e-05 +0.0247302 2.0273e-05 +0.0252248 2.12359e-05 +0.0257293 2.1544e-05 +0.0262439 2.1185e-05 +0.0267688 2.01315e-05 +0.0273042 1.87479e-05 +0.0278502 1.7367e-05 +0.0284072 1.5834e-05 +0.0289754 1.39346e-05 +0.0295549 1.17712e-05 +0.030146 9.70978e-06 +0.0307489 8.0206e-06 +0.0313639 6.80071e-06 +0.0319912 6.12217e-06 +0.032631 6.13933e-06 +0.0332836 6.92979e-06 +0.0339493 8.33462e-06 +0.0346283 1.02118e-05 +0.0353208 1.25368e-05 +0.0360272 1.54368e-05 +0.0367478 1.84946e-05 +0.0374827 1.95443e-05 +0.0382324 1.72217e-05 +0.0389971 1.38291e-05 +0.039777 1.1215e-05 +0.0405725 9.81721e-06 +0.041384 1.01914e-05 +0.0422117 1.27518e-05 +0.0430559 1.79031e-05 +0.043917 2.54271e-05 +0.0447954 3.03482e-05 +0.0456913 2.95042e-05 +0.0466051 2.33689e-05 +0.0475372 1.78067e-05 +0.0484879 1.7517e-05 +0.0494577 2.38554e-05 +0.0504468 3.63837e-05 +0.0514558 5.42753e-05 +0.0524849 5.4591e-05 +0.0535346 4.10519e-05 +0.0546053 3.02876e-05 +0.0556974 3.4943e-05 +0.0568113 5.67851e-05 +0.0579476 8.07195e-05 +0.0591065 7.01944e-05 +0.0602886 4.88991e-05 +0.0614944 5.33176e-05 +0.0627243 9.68247e-05 +0.0639788 0.000121733 +0.0652584 9.45472e-05 +0.0665635 6.15007e-05 +0.0678948 0.000103971 +0.0692527 0.000190042 +0.0706378 0.000135397 +0.0720505 9.23788e-05 +0.0734915 0.00016904 +0.0749614 0.000201433 +0.0764606 0.000139716 +0.0779898 0.000167894 +0.0795496 0.000334715 +0.0811406 0.000174084 +0.0827634 0.000200508 +0.0844187 0.00050275 +0.086107 0.000190919 +0.0878292 0.000360319 +0.0895858 0.000428421 +0.0913775 0.000255022 +0.093205 0.000555521 +0.0950691 0.000297813 +0.0969705 0.000670368 +0.0989099 0.000404158 +0.100888 0.000708489 +0.102906 0.000547796 +0.104964 0.000861141 +0.107063 0.000516407 +0.109205 0.00120202 +0.111389 0.000522121 +0.113616 0.00145227 +0.115889 0.00100289 +0.118207 0.000768733 +0.120571 0.00172332 +0.122982 0.00122239 +0.125442 0.000864074 +0.127951 0.00175076 +0.13051 0.00278312 +0.13312 0.00201704 +0.135782 0.00116614 +0.138498 0.00133886 +0.141268 0.00185347 +0.144093 0.00256603 +0.146975 0.00325858 +0.149914 0.0042973 +0.152913 0.00379774 +0.155971 0.00321455 +0.15909 0.00278034 +0.162272 0.00214607 +0.165518 0.00345975 +0.168828 0.00654589 +0.172205 0.00589453 +0.175649 0.00303399 +0.179162 0.0100127 +0.182745 0.00507695 +0.1864 0.00873499 +0.190128 0.00480137 +0.19393 0.0139167 +0.197809 0.00660378 +0.201765 0.00636514 +0.2058 0.0124333 +0.209916 0.0161331 +0.214115 0.0185578 +0.218397 0.0201056 +0.222765 0.0170727 +0.22722 0.0117985 +0.231765 0.00953954 +0.2364 0.0261679 +0.241128 0.0119577 +0.245951 0.0358819 +0.25087 0.0139195 +0.255887 0.200692 +0.261005 0.125702 +0.266225 0.21221 +0.271549 0.134952 +0.27698 0.180072 +0.28252 0.290173 +0.28817 0.277515 +0.293934 0.237244 +0.299812 0.343709 +0.305809 0.246384 +0.311925 0.428171 +0.318163 0.38944 +0.324526 0.323691 +0.331017 0.51595 +0.337637 0.508674 +0.34439 0.335692 +0.351278 0.447836 +0.358303 1.1773 +0.36547 0.665502 +0.372779 0.69322 +0.380235 1.09091 +0.387839 0.89067 +0.395596 0.635704 +0.403508 1.417 +0.411578 0.614207 +0.41981 1.49577 +0.428206 1.20168 +0.43677 1.15191 +0.445505 1.38672 +0.454415 1.1982 +0.463504 2.38254 +0.472774 1.47557 +0.482229 2.40817 +0.491874 2.28819 +0.501711 1.40627 +0.511746 2.10676 +0.52198 1.87531 +0.53242 1.65841 +0.543069 3.69995 +0.55393 2.15061 +0.565008 2.4314 +0.576309 2.57198 +0.587835 3.76114 +0.599592 2.36261 +0.611583 6.41956 +0.623815 2.99394 +0.636291 6.03118 +0.649017 6.89338 +0.661997 5.82021 +0.675237 4.34621 +0.688742 9.53587 +0.702517 6.23229 +0.716567 12.7725 +0.730899 7.84341 +0.745517 12.3776 +0.760427 17.4057 +0.775636 19.8164 +0.791148 13.784 +0.806971 11.3134 +0.823111 17.4685 +0.839573 14.5765 +0.856364 16.9895 +0.873492 24.2844 +0.890961 18.3715 +0.908781 21.3344 +0.926956 25.6372 +0.945495 34.5339 +0.964405 34.3205 +0.983693 43.1839 +1.00337 22.7765 +1.02343 37.3358 +1.0439 36.8094 +1.06478 38.6002 +1.08608 38.1664 +1.1078 72.7405 +1.12995 43.3659 +1.15255 64.8633 +1.1756 60.9412 +1.19912 104.746 +1.2231 83.7147 +1.24756 86.888 +1.27251 60.3469 +1.29796 68.9299 +1.32392 133.224 +1.3504 139.497 +1.37741 107.635 +1.40496 110.725 +1.43306 152.421 +1.46172 149.045 +1.49095 179.248 +1.52077 295.065 +1.55119 164.376 +1.58221 154.462 +1.61385 182.54 +1.64613 302.777 +1.67905 471.609 +1.71263 195.523 +1.74689 306.924 +1.78182 250.388 +1.81746 328.819 +1.85381 289.511 +1.89089 541.384 +1.9287 293.181 +1.96728 557.54 +2.00662 369.009 +2.04676 438.798 +2.08769 402.635 +2.12945 1134.43 +2.17203 564.835 +2.21547 597.253 +2.25978 1144 +2.30498 1168.28 +2.35108 789.164 +2.3981 726.956 +2.44606 1226.96 +2.49498 1629.66 +2.54488 1369.78 +2.59578 1556.38 +2.6477 1502.24 +2.70065 1110.19 +2.75466 1473.83 +2.80976 1938.07 +2.86595 1326.9 +2.92327 1656.61 +2.98174 3811.55 +3.04137 1875.14 +3.1022 4198.02 +3.16424 2877.15 +3.22753 3596.74 +3.29208 4312.06 +3.35792 6699.74 +3.42508 3771.36 +3.49358 4500.64 +3.56345 4818.35 +3.63472 7565.38 +3.70742 11536.3 +3.78156 8334.11 +3.8572 6646.36 +3.93434 8803.63 +4.01303 8893.92 +4.09329 7866.3 +4.17515 13284.8 +4.25866 14598.6 +4.34383 13431.7 +4.4307 19668.7 +4.51932 10322.1 +4.60971 16605 +4.7019 18252.8 +4.79594 20239.3 +4.89186 21789.7 +4.98969 21711.5 +5.08949 19312 +5.19128 22278.9 +5.2951 47171.8 +5.401 26601.4 +5.50902 40934.7 +5.61921 41189.3 +5.73159 26756.1 +5.84622 35518.8 +5.96315 36106.1 +6.08241 60936 +6.20406 48361.2 +6.32814 93236.7 +6.4547 52905.5 +6.58379 80618.1 +6.71547 48817.9 +6.84978 64523.6 +6.98678 109712 +7.12651 123171 +7.26904 126188 +7.41442 98617.4 +7.56271 78431.3 +7.71396 136996 +7.86824 105832 +8.02561 130736 +8.18612 150199 +8.34984 209014 +8.51684 233951 +8.68718 160914 +8.86092 390777 +9.03814 203649 +9.2189 260689 +9.40328 338872 +9.59135 241754 +9.78317 262984 +9.97884 290356 diff --git a/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv b/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv new file mode 100644 index 00000000..606021f7 --- /dev/null +++ b/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv @@ -0,0 +1,466 @@ +0.001 4.36853e-07 +0.00102 4.36853e-07 +0.0010404 4.36853e-07 +0.00106121 4.36853e-07 +0.00108243 4.36853e-07 +0.00110408 4.36853e-07 +0.00112616 4.36853e-07 +0.00114869 4.36853e-07 +0.00117166 4.36853e-07 +0.00119509 4.36853e-07 +0.00121899 4.36853e-07 +0.00124337 4.36853e-07 +0.00126824 4.36853e-07 +0.00129361 4.36853e-07 +0.00131948 4.36853e-07 +0.00134587 4.36853e-07 +0.00137279 4.36853e-07 +0.00140024 4.36853e-07 +0.00142825 4.36853e-07 +0.00145681 4.36853e-07 +0.00148595 4.3694e-07 +0.00151567 4.3694e-07 +0.00154598 4.3694e-07 +0.0015769 4.3694e-07 +0.00160844 4.3694e-07 +0.00164061 4.3694e-07 +0.00167342 4.3694e-07 +0.00170689 4.3694e-07 +0.00174102 4.37027e-07 +0.00177584 4.37027e-07 +0.00181136 4.37027e-07 +0.00184759 4.37027e-07 +0.00188454 4.37115e-07 +0.00192223 4.37115e-07 +0.00196068 4.37115e-07 +0.00199989 4.37115e-07 +0.00203989 4.37204e-07 +0.00208069 4.37204e-07 +0.0021223 4.37204e-07 +0.00216474 4.37292e-07 +0.00220804 4.37292e-07 +0.0022522 4.37379e-07 +0.00229724 4.37379e-07 +0.00234319 4.37467e-07 +0.00239005 4.37554e-07 +0.00243785 4.37554e-07 +0.00248661 4.37642e-07 +0.00253634 4.37729e-07 +0.00258707 4.37817e-07 +0.00263881 4.37904e-07 +0.00269159 4.37992e-07 +0.00274542 4.38079e-07 +0.00280033 4.38167e-07 +0.00285633 4.38255e-07 +0.00291346 4.3843e-07 +0.00297173 4.38518e-07 +0.00303117 4.38693e-07 +0.00309179 4.38869e-07 +0.00315362 4.39044e-07 +0.0032167 4.3922e-07 +0.00328103 4.39395e-07 +0.00334665 4.39659e-07 +0.00341358 4.39835e-07 +0.00348186 4.40099e-07 +0.00355149 4.40363e-07 +0.00362252 4.40716e-07 +0.00369497 4.41068e-07 +0.00376887 4.41421e-07 +0.00384425 4.41774e-07 +0.00392114 4.42216e-07 +0.00399956 4.42659e-07 +0.00407955 4.4319e-07 +0.00416114 4.43722e-07 +0.00424436 4.44344e-07 +0.00432925 4.44966e-07 +0.00441584 4.45679e-07 +0.00450415 4.46394e-07 +0.00459424 4.47288e-07 +0.00468612 4.48183e-07 +0.00477984 4.4917e-07 +0.00487544 4.5016e-07 +0.00497295 4.51331e-07 +0.00507241 4.52597e-07 +0.00517386 4.53866e-07 +0.00527733 4.55322e-07 +0.00538288 4.56873e-07 +0.00549054 4.58612e-07 +0.00560035 4.6045e-07 +0.00571235 4.62388e-07 +0.0058266 4.64522e-07 +0.00594313 4.66756e-07 +0.006062 4.6919e-07 +0.00618324 4.7173e-07 +0.0063069 4.74571e-07 +0.00643304 4.77505e-07 +0.0065617 4.80763e-07 +0.00669293 4.8414e-07 +0.00682679 4.87738e-07 +0.00696333 4.91655e-07 +0.00710259 4.95802e-07 +0.00724465 5.00286e-07 +0.00738954 5.04909e-07 +0.00753733 5.09985e-07 +0.00768808 5.15316e-07 +0.00784184 5.20914e-07 +0.00799867 5.26993e-07 +0.00815865 5.33248e-07 +0.00832182 5.40011e-07 +0.00848826 5.47077e-07 +0.00865802 5.54459e-07 +0.00883118 5.62277e-07 +0.00900781 5.70549e-07 +0.00918796 5.79228e-07 +0.00937172 5.88336e-07 +0.00955916 5.97947e-07 +0.00975034 6.08079e-07 +0.00994535 6.18627e-07 +0.0101443 6.29739e-07 +0.0103471 6.41435e-07 +0.0105541 6.5361e-07 +0.0107652 6.66549e-07 +0.0109805 6.7988e-07 +0.0112001 6.93962e-07 +0.0114241 7.08408e-07 +0.0116526 7.23443e-07 +0.0118856 7.38946e-07 +0.0121233 7.5463e-07 +0.0123658 7.70646e-07 +0.0126131 7.86688e-07 +0.0128654 8.03064e-07 +0.0131227 8.19617e-07 +0.0133851 8.36761e-07 +0.0136528 8.54863e-07 +0.0139259 8.74408e-07 +0.0142044 8.96367e-07 +0.0144885 9.21453e-07 +0.0147783 9.51041e-07 +0.0150738 9.85672e-07 +0.0153753 1.02672e-06 +0.0156828 1.07507e-06 +0.0159965 1.13177e-06 +0.0163164 1.19757e-06 +0.0166427 1.27418e-06 +0.0169756 1.3633e-06 +0.0173151 1.467e-06 +0.0176614 1.58856e-06 +0.0180146 1.73003e-06 +0.0183749 1.89449e-06 +0.0187424 2.08532e-06 +0.0191173 2.30582e-06 +0.0194996 2.55908e-06 +0.0198896 2.84214e-06 +0.0202874 3.14298e-06 +0.0206931 3.43867e-06 +0.021107 3.71394e-06 +0.0215291 3.98312e-06 +0.0219597 4.2908e-06 +0.0223989 4.70669e-06 +0.0228469 5.30686e-06 +0.0233038 6.17875e-06 +0.0237699 7.40265e-06 +0.0242453 8.98565e-06 +0.0247302 1.08629e-05 +0.0252248 1.3038e-05 +0.0257293 1.55764e-05 +0.0262439 1.82101e-05 +0.0267688 2.04972e-05 +0.0273042 2.27371e-05 +0.0278502 2.60709e-05 +0.0284072 3.11279e-05 +0.0289754 3.59139e-05 +0.0295549 3.76836e-05 +0.030146 3.68636e-05 +0.0307489 3.32719e-05 +0.0313639 2.66215e-05 +0.0319912 2.08821e-05 +0.032631 1.84392e-05 +0.0332836 1.89818e-05 +0.0339493 2.14795e-05 +0.0346283 2.56518e-05 +0.0353208 3.22883e-05 +0.0360272 4.31053e-05 +0.0367478 5.7944e-05 +0.0374827 6.90524e-05 +0.0382324 6.8694e-05 +0.0389971 6.72663e-05 +0.039777 7.25495e-05 +0.0405725 7.20003e-05 +0.041384 6.89144e-05 +0.0422117 7.12124e-05 +0.0430559 9.8623e-05 +0.043917 0.000133327 +0.0447954 0.000131158 +0.0456913 0.000134748 +0.0466051 0.000122805 +0.0475372 0.000105638 +0.0484879 0.000127664 +0.0494577 0.00016776 +0.0504468 0.00015717 +0.0514558 0.000172318 +0.0524849 0.000212292 +0.0535346 0.000314968 +0.0546053 0.000296861 +0.0556974 0.000257533 +0.0568113 0.000260226 +0.0579476 0.000352901 +0.0591065 0.000245512 +0.0602886 0.000257327 +0.0614944 0.000577964 +0.0627243 0.000618079 +0.0639788 0.000396947 +0.0652584 0.000474433 +0.0665635 0.000428679 +0.0678948 0.000552088 +0.0692527 0.000595744 +0.0706378 0.000826463 +0.0720505 0.000881708 +0.0734915 0.000553414 +0.0749614 0.000834768 +0.0764606 0.00094319 +0.0779898 0.000815623 +0.0795496 0.00142607 +0.0811406 0.000851207 +0.0827634 0.00110594 +0.0844187 0.00208431 +0.086107 0.00113849 +0.0878292 0.00204099 +0.0895858 0.00146101 +0.0913775 0.00266437 +0.093205 0.0013507 +0.0950691 0.0043379 +0.0969705 0.00157198 +0.0989099 0.00365467 +0.100888 0.00188827 +0.102906 0.00700864 +0.104964 0.00308541 +0.107063 0.00621418 +0.109205 0.00340211 +0.111389 0.00348684 +0.113616 0.00625658 +0.115889 0.00437886 +0.118207 0.00646004 +0.120571 0.00506273 +0.122982 0.00447807 +0.125442 0.00763664 +0.127951 0.00691674 +0.13051 0.00687534 +0.13312 0.0115049 +0.135782 0.00647041 +0.138498 0.00900107 +0.141268 0.00898488 +0.144093 0.00900287 +0.146975 0.0113449 +0.149914 0.0126972 +0.152913 0.015896 +0.155971 0.0113132 +0.15909 0.0275123 +0.162272 0.013287 +0.165518 0.0195231 +0.168828 0.0150458 +0.172205 0.0329247 +0.175649 0.0183438 +0.179162 0.0233528 +0.182745 0.0421297 +0.1864 0.0196053 +0.190128 0.0226354 +0.19393 0.0420539 +0.197809 0.0265104 +0.201765 0.0461301 +0.2058 0.0442458 +0.209916 0.0664184 +0.214115 0.0621035 +0.218397 0.042358 +0.222765 0.0395255 +0.22722 0.0608858 +0.231765 0.0714917 +0.2364 0.0622403 +0.241128 0.0604004 +0.245951 0.109566 +0.25087 0.119097 +0.255887 0.225311 +0.261005 0.0966616 +0.266225 0.180758 +0.271549 0.16149 +0.27698 0.183122 +0.28252 0.172475 +0.28817 0.230278 +0.293934 0.142926 +0.299812 0.208841 +0.305809 0.19601 +0.311925 0.49862 +0.318163 0.242618 +0.324526 0.257614 +0.331017 0.460555 +0.337637 0.407206 +0.34439 0.358311 +0.351278 0.50959 +0.358303 0.860811 +0.36547 0.497226 +0.372779 0.545781 +0.380235 0.837037 +0.387839 0.59302 +0.395596 0.559487 +0.403508 1.25951 +0.411578 0.472782 +0.41981 0.987116 +0.428206 1.10496 +0.43677 0.94311 +0.445505 1.17447 +0.454415 1.0018 +0.463504 1.45709 +0.472774 1.19198 +0.482229 1.4688 +0.491874 1.53365 +0.501711 1.34223 +0.511746 1.68684 +0.52198 1.76962 +0.53242 1.45389 +0.543069 2.82269 +0.55393 1.80646 +0.565008 2.23616 +0.576309 1.87082 +0.587835 2.6313 +0.599592 2.48748 +0.611583 4.85794 +0.623815 2.37635 +0.636291 4.16326 +0.649017 5.37107 +0.661997 7.0488 +0.675237 4.98891 +0.688742 6.05293 +0.702517 3.6383 +0.716567 9.02372 +0.730899 6.59263 +0.745517 9.57605 +0.760427 10.9811 +0.775636 20.8035 +0.791148 9.28555 +0.806971 11.489 +0.823111 13.3151 +0.839573 9.70423 +0.856364 16.5401 +0.873492 18.9198 +0.890961 19.0413 +0.908781 19.026 +0.926956 15.3977 +0.945495 33.0208 +0.964405 24.8495 +0.983693 43.653 +1.00337 28.0378 +1.02343 27.3756 +1.0439 35.7285 +1.06478 23.3414 +1.08608 26.3231 +1.1078 50.2891 +1.12995 37.5006 +1.15255 46.4129 +1.1756 51.4593 +1.19912 70.7036 +1.2231 52.4675 +1.24756 51.552 +1.27251 56.199 +1.29796 47.1334 +1.32392 139.636 +1.3504 112.849 +1.37741 81.1102 +1.40496 85.0992 +1.43306 117.455 +1.46172 115.452 +1.49095 130.533 +1.52077 254.325 +1.55119 135.481 +1.58221 118.469 +1.61385 212.872 +1.64613 243.862 +1.67905 374.51 +1.71263 198.995 +1.74689 219.048 +1.78182 303.93 +1.81746 273.359 +1.85381 244.498 +1.89089 352.947 +1.9287 243.083 +1.96728 680.113 +2.00662 336.134 +2.04676 478.448 +2.08769 410.359 +2.12945 922.322 +2.17203 524.333 +2.21547 373.986 +2.25978 1001.95 +2.30498 1112.41 +2.35108 631.595 +2.3981 736.913 +2.44606 992.573 +2.49498 1180.02 +2.54488 1074.14 +2.59578 1357.51 +2.6477 1049.92 +2.70065 824.337 +2.75466 1715.97 +2.80976 2240.44 +2.86595 1384.66 +2.92327 1648.34 +2.98174 3343.18 +3.04137 1654.95 +3.1022 4019.84 +3.16424 2595.01 +3.22753 2605.93 +3.29208 2347.8 +3.35792 4052.94 +3.42508 4276.85 +3.49358 4102.56 +3.56345 2878.88 +3.63472 3290.1 +3.70742 5253.74 +3.78156 5864.7 +3.8572 4534.09 +3.93434 6885.87 +4.01303 4395.66 +4.09329 5603.25 +4.17515 17210.3 +4.25866 15031.2 +4.34383 12221.6 +4.4307 15097.5 +4.51932 13290.1 +4.60971 13157.8 +4.7019 18289.3 +4.79594 18528.7 +4.89186 13913 +4.98969 10497 +5.08949 13205.2 +5.19128 20312.3 +5.2951 39376.7 +5.401 25691.5 +5.50902 27587.6 +5.61921 18831.4 +5.73159 23593 +5.84622 31496.7 +5.96315 23411.9 +6.08241 30842.1 +6.20406 42733.5 +6.32814 99608.4 +6.4547 44906.8 +6.58379 51393.2 +6.71547 39677.1 +6.84978 57767.1 +6.98678 91921.8 +7.12651 125258 +7.26904 104800 +7.41442 98597.7 +7.56271 86395 +7.71396 145468 +7.86824 69784.2 +8.02561 154898 +8.18612 90462.9 +8.34984 223053 +8.51684 240258 +8.68718 181869 +8.86092 269804 +9.03814 203893 +9.2189 256038 +9.40328 227491 +9.59135 176246 +9.78317 166813 +9.97884 242044 diff --git a/examples/03.IAXO/limits/IAXO_Combined.csv b/examples/03.IAXO/limits/IAXO_Combined.csv new file mode 100644 index 00000000..aa5b8925 --- /dev/null +++ b/examples/03.IAXO/limits/IAXO_Combined.csv @@ -0,0 +1,466 @@ +0.001 1.38043e-05 +0.00102 1.38043e-05 +0.0010404 1.38043e-05 +0.00106121 1.38043e-05 +0.00108243 1.38043e-05 +0.00110408 1.38043e-05 +0.00112616 1.38043e-05 +0.00114869 1.38043e-05 +0.00117166 1.38043e-05 +0.00119509 1.38043e-05 +0.00121899 1.38043e-05 +0.00124337 1.38043e-05 +0.00126824 1.3807e-05 +0.00129361 1.3807e-05 +0.00131948 1.3807e-05 +0.00134587 1.3807e-05 +0.00137279 1.3807e-05 +0.00140024 1.3807e-05 +0.00142825 1.3807e-05 +0.00145681 1.3807e-05 +0.00148595 1.3807e-05 +0.00151567 1.3807e-05 +0.00154598 1.3807e-05 +0.0015769 1.3807e-05 +0.00160844 1.3807e-05 +0.00164061 1.3807e-05 +0.00167342 1.3807e-05 +0.00170689 1.3807e-05 +0.00174102 1.3807e-05 +0.00177584 1.3807e-05 +0.00181136 1.3807e-05 +0.00184759 1.3807e-05 +0.00188454 1.38098e-05 +0.00192223 1.38098e-05 +0.00196068 1.38098e-05 +0.00199989 1.38098e-05 +0.00203989 1.38098e-05 +0.00208069 1.38098e-05 +0.0021223 1.38098e-05 +0.00216474 1.38126e-05 +0.00220804 1.38126e-05 +0.0022522 1.38126e-05 +0.00229724 1.38126e-05 +0.00234319 1.38153e-05 +0.00239005 1.38153e-05 +0.00243785 1.38153e-05 +0.00248661 1.38153e-05 +0.00253634 1.38181e-05 +0.00258707 1.38181e-05 +0.00263881 1.38208e-05 +0.00269159 1.38208e-05 +0.00274542 1.38236e-05 +0.00280033 1.38236e-05 +0.00285633 1.38264e-05 +0.00291346 1.38264e-05 +0.00297173 1.38291e-05 +0.00303117 1.38319e-05 +0.00309179 1.38319e-05 +0.00315362 1.38347e-05 +0.0032167 1.38374e-05 +0.00328103 1.38402e-05 +0.00334665 1.3843e-05 +0.00341358 1.38457e-05 +0.00348186 1.38513e-05 +0.00355149 1.3854e-05 +0.00362252 1.38568e-05 +0.00369497 1.38624e-05 +0.00376887 1.38679e-05 +0.00384425 1.38707e-05 +0.00392114 1.38762e-05 +0.00399956 1.38818e-05 +0.00407955 1.38901e-05 +0.00416114 1.38957e-05 +0.00424436 1.3904e-05 +0.00432925 1.39096e-05 +0.00441584 1.39179e-05 +0.00450415 1.39291e-05 +0.00459424 1.39374e-05 +0.00468612 1.39486e-05 +0.00477984 1.39597e-05 +0.00487544 1.39709e-05 +0.00497295 1.39849e-05 +0.00507241 1.39989e-05 +0.00517386 1.40129e-05 +0.00527733 1.40298e-05 +0.00538288 1.40466e-05 +0.00549054 1.40663e-05 +0.00560035 1.4086e-05 +0.00571235 1.41057e-05 +0.0058266 1.41283e-05 +0.00594313 1.41538e-05 +0.006062 1.41793e-05 +0.00618324 1.42076e-05 +0.0063069 1.42389e-05 +0.00643304 1.42703e-05 +0.0065617 1.43046e-05 +0.00669293 1.43419e-05 +0.00682679 1.43821e-05 +0.00696333 1.44224e-05 +0.00710259 1.44686e-05 +0.00724465 1.45179e-05 +0.00738954 1.45674e-05 +0.00753733 1.46229e-05 +0.00768808 1.46815e-05 +0.00784184 1.47432e-05 +0.00799867 1.48083e-05 +0.00815865 1.48766e-05 +0.00832182 1.49512e-05 +0.00848826 1.50291e-05 +0.00865802 1.51135e-05 +0.00883118 1.52045e-05 +0.00900781 1.52985e-05 +0.00918796 1.53967e-05 +0.00937172 1.55049e-05 +0.00955916 1.5617e-05 +0.00975034 1.57361e-05 +0.00994535 1.58625e-05 +0.0101443 1.59963e-05 +0.0103471 1.61409e-05 +0.0105541 1.62902e-05 +0.0107652 1.64506e-05 +0.0109805 1.6616e-05 +0.0112001 1.67964e-05 +0.0114241 1.69822e-05 +0.0116526 1.71804e-05 +0.0118856 1.73913e-05 +0.0121233 1.76119e-05 +0.0123658 1.78459e-05 +0.0126131 1.80867e-05 +0.0128654 1.83435e-05 +0.0131227 1.8617e-05 +0.0133851 1.89022e-05 +0.0136528 1.92071e-05 +0.0139259 1.95326e-05 +0.0142044 1.98914e-05 +0.0144885 2.02892e-05 +0.0147783 2.07447e-05 +0.0150738 2.12657e-05 +0.0153753 2.18828e-05 +0.0156828 2.26192e-05 +0.0159965 2.35095e-05 +0.0163164 2.45967e-05 +0.0166427 2.59305e-05 +0.0169756 2.75754e-05 +0.0173151 2.96047e-05 +0.0176614 3.21016e-05 +0.0180146 3.51745e-05 +0.0183749 3.89326e-05 +0.0187424 4.34688e-05 +0.0191173 4.88893e-05 +0.0194996 5.52392e-05 +0.0198896 6.24929e-05 +0.0202874 7.0518e-05 +0.0206931 7.89471e-05 +0.021107 8.71465e-05 +0.0215291 9.43018e-05 +0.0219597 9.95548e-05 +0.0223989 0.00010228 +0.0228469 0.000102198 +0.0233038 9.94553e-05 +0.0237699 9.45283e-05 +0.0242453 8.83311e-05 +0.0247302 8.17269e-05 +0.0252248 7.51716e-05 +0.0257293 6.86116e-05 +0.0262439 6.16978e-05 +0.0267688 5.38536e-05 +0.0273042 4.4896e-05 +0.0278502 3.5878e-05 +0.0284072 2.82058e-05 +0.0289754 2.25109e-05 +0.0295549 1.86842e-05 +0.030146 1.6099e-05 +0.0307489 1.39933e-05 +0.0313639 1.24369e-05 +0.0319912 1.18042e-05 +0.032631 1.18397e-05 +0.0332836 1.24917e-05 +0.0339493 1.43161e-05 +0.0346283 1.72838e-05 +0.0353208 2.23628e-05 +0.0360272 3.23855e-05 +0.0367478 4.69251e-05 +0.0374827 5.85382e-05 +0.0382324 6.08058e-05 +0.0389971 5.3243e-05 +0.039777 4.35994e-05 +0.0405725 3.77893e-05 +0.041384 3.83145e-05 +0.0422117 4.60603e-05 +0.0430559 6.07815e-05 +0.043917 6.8942e-05 +0.0447954 6.25304e-05 +0.0456913 6.07937e-05 +0.0466051 6.55529e-05 +0.0475372 5.76319e-05 +0.0484879 5.42427e-05 +0.0494577 6.6637e-05 +0.0504468 7.02225e-05 +0.0514558 9.09668e-05 +0.0524849 0.000117428 +0.0535346 8.62968e-05 +0.0546053 6.08058e-05 +0.0556974 7.83808e-05 +0.0568113 0.00016424 +0.0579476 0.000237359 +0.0591065 0.000152952 +0.0602886 9.66119e-05 +0.0614944 0.000102916 +0.0627243 0.000192761 +0.0639788 0.000259706 +0.0652584 0.000139576 +0.0665635 7.25205e-05 +0.0678948 0.000125136 +0.0692527 0.000257739 +0.0706378 0.000166556 +0.0720505 9.75832e-05 +0.0734915 0.000210201 +0.0749614 0.000309782 +0.0764606 0.000148104 +0.0779898 0.000192838 +0.0795496 0.000419308 +0.0811406 0.000210032 +0.0827634 0.000243808 +0.0844187 0.000523166 +0.086107 0.000227641 +0.0878292 0.000419392 +0.0895858 0.000534911 +0.0913775 0.000271716 +0.093205 0.000814808 +0.0950691 0.000313022 +0.0969705 0.000890925 +0.0989099 0.000439973 +0.100888 0.000943756 +0.102906 0.000547796 +0.104964 0.00114031 +0.107063 0.000550985 +0.109205 0.00157293 +0.111389 0.000556522 +0.113616 0.00160599 +0.115889 0.00118744 +0.118207 0.00084527 +0.120571 0.0023621 +0.122982 0.00151034 +0.125442 0.000926362 +0.127951 0.00222253 +0.13051 0.00339124 +0.13312 0.00218244 +0.135782 0.00130111 +0.138498 0.00144705 +0.141268 0.00216808 +0.144093 0.00311643 +0.146975 0.00404378 +0.149914 0.00458596 +0.152913 0.00448795 +0.155971 0.00397719 +0.15909 0.00300441 +0.162272 0.0025112 +0.165518 0.00405998 +0.168828 0.00998271 +0.172205 0.0072005 +0.175649 0.00344801 +0.179162 0.0125457 +0.182745 0.0053974 +0.1864 0.0117938 +0.190128 0.00565998 +0.19393 0.0180887 +0.197809 0.00721058 +0.201765 0.00705366 +0.2058 0.0145108 +0.209916 0.0226671 +0.214115 0.0274904 +0.218397 0.0271353 +0.222765 0.0237913 +0.22722 0.0140117 +0.231765 0.0108598 +0.2364 0.0383036 +0.241128 0.0144154 +0.245951 0.0442458 +0.25087 0.015501 +0.255887 0.720144 +0.261005 0.88747 +0.266225 0.908302 +0.271549 1.30438 +0.27698 1.46998 +0.28252 1.11875 +0.28817 1.24998 +0.293934 1.75798 +0.299812 1.49787 +0.305809 2.00802 +0.311925 2.4101 +0.318163 2.67964 +0.324526 3.17783 +0.331017 3.12052 +0.337637 2.93348 +0.34439 4.57272 +0.351278 3.97462 +0.358303 3.40488 +0.36547 4.05639 +0.372779 4.7842 +0.380235 4.66791 +0.387839 4.3523 +0.395596 6.45174 +0.403508 11.2772 +0.411578 5.45772 +0.41981 8.1649 +0.428206 12.8186 +0.43677 8.42199 +0.445505 12.7649 +0.454415 12.4223 +0.463504 13.2434 +0.472774 13.8268 +0.482229 16.9997 +0.491874 20.1442 +0.501711 16.7834 +0.511746 22.568 +0.52198 30.047 +0.53242 23.6611 +0.543069 16.3789 +0.55393 32.9746 +0.565008 24.4013 +0.576309 27.2336 +0.587835 26.9141 +0.599592 37.5832 +0.611583 38.5539 +0.623815 26.4763 +0.636291 34.7766 +0.649017 38.0292 +0.661997 40.3528 +0.675237 53.9359 +0.688742 91.3798 +0.702517 48.2398 +0.716567 66.2267 +0.730899 79.5198 +0.745517 56.3566 +0.760427 81.7947 +0.775636 70.916 +0.791148 140.476 +0.806971 109.262 +0.823111 145.51 +0.839573 107.248 +0.856364 156.39 +0.873492 184.689 +0.890961 190.542 +0.908781 213.682 +0.926956 219.048 +0.945495 180.688 +0.964405 258.469 +0.983693 394.424 +1.00337 295.833 +1.02343 255.958 +1.0439 277.435 +1.06478 286.916 +1.08608 289.916 +1.1078 421.506 +1.12995 650.44 +1.15255 587.419 +1.1756 449.592 +1.19912 371.229 +1.2231 637.177 +1.24756 469.538 +1.27251 1015.67 +1.29796 745.434 +1.32392 687.497 +1.3504 1131.26 +1.37741 821.868 +1.40496 1067.29 +1.43306 1201.22 +1.46172 1122.24 +1.49095 1075 +1.52077 1923.01 +1.55119 2087.7 +1.58221 1339.7 +1.61385 2045.62 +1.64613 1848.34 +1.67905 1806.31 +1.71263 1654.95 +1.74689 2631.6 +1.78182 2812.29 +1.81746 2952.66 +1.85381 3187.74 +1.89089 3263.89 +1.9287 2834.32 +1.96728 3777.4 +2.00662 2917.73 +2.04676 5661.85 +2.08769 5150.72 +2.12945 5563.06 +2.17203 6799.66 +2.21547 6841.94 +2.25978 7621.57 +2.30498 6945.36 +2.35108 10111.6 +2.3981 9117.27 +2.44606 7360.86 +2.49498 8674.27 +2.54488 12042 +2.59578 11813 +2.6477 17127.9 +2.70065 11307.9 +2.75466 9419.45 +2.80976 18726.1 +2.86595 30237.3 +2.92327 16021.6 +2.98174 21646.3 +3.04137 21124.5 +3.1022 18318.6 +3.16424 25112.3 +3.22753 54900 +3.29208 28889.3 +3.35792 31591.3 +3.42508 58816.2 +3.49358 37579.8 +3.56345 33356.4 +3.63472 40470.6 +3.70742 43631.8 +3.78156 46283.9 +3.8572 75854.5 +3.93434 62167.1 +4.01303 41470.3 +4.09329 100731 +4.17515 77993 +4.25866 80280.3 +4.34383 96317 +4.4307 67748.4 +4.51932 108534 +4.60971 99648.3 +4.7019 118958 +4.79594 146081 +4.89186 115511 +4.98969 175437 +5.08949 244232 +5.19128 185247 +5.2951 301664 +5.401 177236 +5.50902 245555 +5.61921 212470 +5.73159 258766 +5.84622 342073 +5.96315 325583 +6.08241 215380 +6.20406 437359 +6.32814 582223 +6.4547 389062 +6.58379 405023 +6.71547 770536 +6.84978 463525 +6.98678 618849 +7.12651 435439 +7.26904 538853 +7.41442 662332 +7.56271 881038 +7.71396 818681 +7.86824 1.24291e+06 +8.02561 935805 +8.18612 768225 +8.34984 1.21683e+06 +8.51684 1.5095e+06 +8.68718 1.1745e+06 +8.86092 1.71342e+06 +9.03814 1.94217e+06 +9.2189 1.62854e+06 +9.40328 2.30433e+06 +9.59135 2.20204e+06 +9.78317 3.19193e+06 +9.97884 3.21244e+06 diff --git a/examples/03.IAXO/limits/IAXO_Vacuum.csv b/examples/03.IAXO/limits/IAXO_Vacuum.csv new file mode 100644 index 00000000..7570f899 --- /dev/null +++ b/examples/03.IAXO/limits/IAXO_Vacuum.csv @@ -0,0 +1,466 @@ +0.001 9.87036e-06 +0.00102 9.87036e-06 +0.0010404 9.87036e-06 +0.00106121 9.87036e-06 +0.00108243 9.87036e-06 +0.00110408 9.87036e-06 +0.00112616 9.87036e-06 +0.00114869 9.87036e-06 +0.00117166 9.87036e-06 +0.00119509 9.87036e-06 +0.00121899 9.87036e-06 +0.00124337 9.87036e-06 +0.00126824 9.87036e-06 +0.00129361 9.87036e-06 +0.00131948 9.87036e-06 +0.00134587 9.87036e-06 +0.00137279 9.87036e-06 +0.00140024 9.87036e-06 +0.00142825 9.87036e-06 +0.00145681 9.87036e-06 +0.00148595 9.87036e-06 +0.00151567 9.87036e-06 +0.00154598 9.87036e-06 +0.0015769 9.87036e-06 +0.00160844 9.87036e-06 +0.00164061 9.87036e-06 +0.00167342 9.87036e-06 +0.00170689 9.87036e-06 +0.00174102 9.87036e-06 +0.00177584 9.87036e-06 +0.00181136 9.87036e-06 +0.00184759 9.87036e-06 +0.00188454 9.87036e-06 +0.00192223 9.87036e-06 +0.00196068 9.87036e-06 +0.00199989 9.87036e-06 +0.00203989 9.87036e-06 +0.00208069 9.87036e-06 +0.0021223 9.87036e-06 +0.00216474 9.87036e-06 +0.00220804 9.87036e-06 +0.0022522 9.87036e-06 +0.00229724 9.87036e-06 +0.00234319 9.87036e-06 +0.00239005 9.87036e-06 +0.00243785 9.87036e-06 +0.00248661 9.87036e-06 +0.00253634 9.87036e-06 +0.00258707 9.87036e-06 +0.00263881 9.87036e-06 +0.00269159 9.87036e-06 +0.00274542 9.87036e-06 +0.00280033 9.87036e-06 +0.00285633 9.87036e-06 +0.00291346 9.87036e-06 +0.00297173 9.87036e-06 +0.00303117 9.87036e-06 +0.00309179 9.87233e-06 +0.00315362 9.87233e-06 +0.0032167 9.87233e-06 +0.00328103 9.87233e-06 +0.00334665 9.87233e-06 +0.00341358 9.87233e-06 +0.00348186 9.87233e-06 +0.00355149 9.87233e-06 +0.00362252 9.87233e-06 +0.00369497 9.87233e-06 +0.00376887 9.87233e-06 +0.00384425 9.87233e-06 +0.00392114 9.87233e-06 +0.00399956 9.87036e-06 +0.00407955 9.87036e-06 +0.00416114 9.87036e-06 +0.00424436 9.87036e-06 +0.00432925 9.87036e-06 +0.00441584 9.86839e-06 +0.00450415 9.86839e-06 +0.00459424 9.86641e-06 +0.00468612 9.86641e-06 +0.00477984 9.86444e-06 +0.00487544 9.86444e-06 +0.00497295 9.86247e-06 +0.00507241 9.8605e-06 +0.00517386 9.85852e-06 +0.00527733 9.85655e-06 +0.00538288 9.85261e-06 +0.00549054 9.85064e-06 +0.00560035 9.8467e-06 +0.00571235 9.84473e-06 +0.0058266 9.8408e-06 +0.00594313 9.83686e-06 +0.006062 9.83293e-06 +0.00618324 9.829e-06 +0.0063069 9.82507e-06 +0.00643304 9.82114e-06 +0.0065617 9.81721e-06 +0.00669293 9.81328e-06 +0.00682679 9.80936e-06 +0.00696333 9.80544e-06 +0.00710259 9.80348e-06 +0.00724465 9.80152e-06 +0.00738954 9.79956e-06 +0.00753733 9.7976e-06 +0.00768808 9.79956e-06 +0.00784184 9.79956e-06 +0.00799867 9.80348e-06 +0.00815865 9.8074e-06 +0.00832182 9.81525e-06 +0.00848826 9.82507e-06 +0.00865802 9.83883e-06 +0.00883118 9.85458e-06 +0.00900781 9.87431e-06 +0.00918796 9.89803e-06 +0.00937172 9.92781e-06 +0.00955916 9.96162e-06 +0.00975034 1.00015e-05 +0.00994535 1.00456e-05 +0.0101443 1.0094e-05 +0.0103471 1.01487e-05 +0.0105541 1.02097e-05 +0.0107652 1.02773e-05 +0.0109805 1.03496e-05 +0.0112001 1.04285e-05 +0.0114241 1.05144e-05 +0.0116526 1.06074e-05 +0.0118856 1.07097e-05 +0.0121233 1.08238e-05 +0.0123658 1.09502e-05 +0.0126131 1.10967e-05 +0.0128654 1.12645e-05 +0.0131227 1.14599e-05 +0.0133851 1.16891e-05 +0.0136528 1.19563e-05 +0.0139259 1.22713e-05 +0.0142044 1.26375e-05 +0.0144885 1.30641e-05 +0.0147783 1.35526e-05 +0.0150738 1.41142e-05 +0.0153753 1.4758e-05 +0.0156828 1.54956e-05 +0.0159965 1.63489e-05 +0.0163164 1.73427e-05 +0.0166427 1.85094e-05 +0.0169756 1.98795e-05 +0.0173151 2.14881e-05 +0.0176614 2.33596e-05 +0.0180146 2.55188e-05 +0.0183749 2.79811e-05 +0.0187424 3.07627e-05 +0.0191173 3.38898e-05 +0.0194996 3.73984e-05 +0.0198896 4.13073e-05 +0.0202874 4.55836e-05 +0.0206931 5.02073e-05 +0.021107 5.5206e-05 +0.0215291 6.06601e-05 +0.0219597 6.66237e-05 +0.0223989 7.28403e-05 +0.0228469 7.88209e-05 +0.0233038 8.42333e-05 +0.0237699 8.92545e-05 +0.0242453 9.42452e-05 +0.0247302 9.93758e-05 +0.0252248 0.000105058 +0.0257293 0.000112081 +0.0262439 0.000120041 +0.0267688 0.000127205 +0.0273042 0.000133755 +0.0278502 0.00014251 +0.0284072 0.000156824 +0.0289754 0.000183249 +0.0295549 0.000234153 +0.030146 0.000321461 +0.0307489 0.000446176 +0.0313639 0.000574507 +0.0319912 0.000645756 +0.032631 0.000644079 +0.0332836 0.000623046 +0.0339493 0.00064138 +0.0346283 0.000670234 +0.0353208 0.000705661 +0.0360272 0.000735051 +0.0367478 0.000729483 +0.0374827 0.00067955 +0.0382324 0.000613891 +0.0389971 0.000532031 +0.039777 0.000486058 +0.0405725 0.000483825 +0.041384 0.000560767 +0.0422117 0.000816439 +0.0430559 0.00119483 +0.043917 0.00164896 +0.0447954 0.00232298 +0.0456913 0.00288948 +0.0466051 0.0024659 +0.0475372 0.00214736 +0.0484879 0.00174063 +0.0494577 0.00140963 +0.0504468 0.00151064 +0.0514558 0.0022747 +0.0524849 0.00283452 +0.0535346 0.00269168 +0.0546053 0.00276094 +0.0556974 0.00375245 +0.0568113 0.00489642 +0.0579476 0.00418449 +0.0591065 0.00394156 +0.0602886 0.00512284 +0.0614944 0.00553626 +0.0627243 0.00329529 +0.0639788 0.00621791 +0.0652584 0.00867407 +0.0665635 0.00650674 +0.0678948 0.00888123 +0.0692527 0.00719186 +0.0706378 0.00632324 +0.0720505 0.0131311 +0.0734915 0.00919579 +0.0749614 0.0113381 +0.0764606 0.0124433 +0.0779898 0.00947868 +0.0795496 0.0158326 +0.0811406 0.0171103 +0.0827634 0.0154422 +0.0844187 0.0201862 +0.086107 0.0195153 +0.0878292 0.0171926 +0.0895858 0.0235122 +0.0913775 0.0263676 +0.093205 0.0203322 +0.0950691 0.0305771 +0.0969705 0.0316335 +0.0989099 0.0339819 +0.100888 0.0346062 +0.102906 0.0567121 +0.104964 0.0423072 +0.107063 0.0421634 +0.109205 0.0410483 +0.111389 0.0410319 +0.113616 0.0634191 +0.115889 0.0546956 +0.118207 0.0527247 +0.120571 0.0512173 +0.122982 0.0839902 +0.125442 0.0901081 +0.127951 0.25844 +0.13051 0.094577 +0.13312 0.0831545 +0.135782 0.181083 +0.138498 0.0994866 +0.141268 0.123192 +0.144093 0.179587 +0.146975 0.217953 +0.149914 0.112836 +0.152913 0.126332 +0.155971 0.181409 +0.15909 0.246434 +0.162272 0.276517 +0.165518 0.32395 +0.168828 0.338187 +0.172205 0.34179 +0.175649 0.234273 +0.179162 0.414023 +0.182745 0.346957 +0.1864 0.681669 +0.190128 0.309942 +0.19393 0.526585 +0.197809 0.854461 +0.201765 0.423911 +0.2058 0.896209 +0.209916 0.570791 +0.214115 0.8055 +0.218397 0.585124 +0.222765 0.629883 +0.22722 0.843085 +0.231765 0.779819 +0.2364 1.06248 +0.241128 0.912307 +0.245951 2.03917 +0.25087 1.11473 +0.255887 2.29506 +0.261005 1.0475 +0.266225 1.35302 +0.271549 2.00721 +0.27698 2.46076 +0.28252 1.57028 +0.28817 1.27115 +0.293934 2.72831 +0.299812 2.6893 +0.305809 2.41444 +0.311925 2.89328 +0.318163 4.01523 +0.324526 5.75253 +0.331017 4.67725 +0.337637 4.11277 +0.34439 5.14807 +0.351278 4.42339 +0.358303 6.24979 +0.36547 5.28052 +0.372779 8.77802 +0.380235 8.69938 +0.387839 6.85622 +0.395596 5.93305 +0.403508 15.1321 +0.411578 7.97472 +0.41981 9.94594 +0.428206 16.4774 +0.43677 9.50351 +0.445505 22.4959 +0.454415 20.8994 +0.463504 24.6023 +0.472774 14.6936 +0.482229 16.4675 +0.491874 19.7058 +0.501711 23.718 +0.511746 16.8339 +0.52198 30.1132 +0.53242 27.403 +0.543069 39.7043 +0.55393 30.1735 +0.565008 36.2178 +0.576309 35.6999 +0.587835 32.0384 +0.599592 29.4167 +0.611583 41.3248 +0.623815 41.3662 +0.636291 77.3704 +0.649017 68.2031 +0.661997 65.3322 +0.675237 51.2846 +0.688742 61.3204 +0.702517 58.4461 +0.716567 99.14 +0.730899 110.426 +0.745517 74.597 +0.760427 104.537 +0.775636 124.719 +0.791148 205.344 +0.806971 114.463 +0.823111 163.034 +0.839573 214.367 +0.856364 201.963 +0.873492 332.789 +0.890961 211.555 +0.908781 177.322 +0.926956 501.477 +0.945495 300.125 +0.964405 345.195 +0.983693 372.345 +1.00337 297.375 +1.02343 507.733 +1.0439 412.746 +1.06478 329.345 +1.08608 434.867 +1.1078 575.556 +1.12995 853.022 +1.15255 607.86 +1.1756 794.39 +1.19912 642.811 +1.2231 783.817 +1.24756 818.26 +1.27251 1012.22 +1.29796 1296.21 +1.32392 802.216 +1.3504 1435.7 +1.37741 894.163 +1.40496 1360.23 +1.43306 1632.6 +1.46172 1344.8 +1.49095 2374.25 +1.52077 4019.84 +1.55119 2127.75 +1.58221 1961.86 +1.61385 2143.56 +1.64613 2960.35 +1.67905 2445.09 +1.71263 1704.34 +1.74689 3000.88 +1.78182 2412.07 +1.81746 2646.38 +1.85381 3008.7 +1.89089 3453.97 +1.9287 5017.52 +1.96728 4760.86 +2.00662 4079.79 +2.04676 5230.67 +2.08769 6103.46 +2.12945 7259.98 +2.17203 7538.2 +2.21547 6960.66 +2.25978 6592.06 +2.30498 8952.81 +2.35108 14905.4 +2.3981 20227.2 +2.44606 14751.3 +2.49498 12886.9 +2.54488 14255.2 +2.59578 11520.2 +2.6477 21655 +2.70065 12789.3 +2.75466 13637.4 +2.80976 24365.1 +2.86595 36113.3 +2.92327 16628.3 +2.98174 34669.3 +3.04137 21768 +3.1022 22756.4 +3.16424 27264 +3.22753 106597 +3.29208 45494.5 +3.35792 26960.2 +3.42508 45258.6 +3.49358 49585.6 +3.56345 48206.7 +3.63472 47669.6 +3.70742 85912.6 +3.78156 59765 +3.8572 98854.3 +3.93434 83139.9 +4.01303 64821.1 +4.09329 78462.7 +4.17515 101215 +4.25866 78431.3 +4.34383 138650 +4.4307 97090.6 +4.51932 109427 +4.60971 92808.8 +4.7019 182124 +4.79594 185321 +4.89186 234232 +4.98969 275365 +5.08949 270560 +5.19128 312159 +5.2951 492290 +5.401 369901 +5.50902 341800 +5.61921 367393 +5.73159 243111 +5.84622 809075 +5.96315 736110 +6.08241 359470 +6.20406 326626 +6.32814 574701 +6.4547 603206 +6.58379 636740 +6.71547 843446 +6.84978 585141 +6.98678 792418 +7.12651 725007 +7.26904 578622 +7.41442 781242 +7.56271 1.13683e+06 +7.71396 905337 +7.86824 1.42871e+06 +8.02561 1.16375e+06 +8.18612 1.09772e+06 +8.34984 1.42528e+06 +8.51684 1.61266e+06 +8.68718 1.38897e+06 +8.86092 1.96995e+06 +9.03814 2.79355e+06 +9.2189 1.92245e+06 +9.40328 1.99532e+06 +9.59135 2.65941e+06 +9.78317 2.07843e+06 +9.97884 3.71414e+06 From a71a2c669f9f10a88160cbadb8e559651bbc726c Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 19:38:08 +0200 Subject: [PATCH 48/64] Adding output empty directory --- examples/03.IAXO/output/.gitignore | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 examples/03.IAXO/output/.gitignore diff --git a/examples/03.IAXO/output/.gitignore b/examples/03.IAXO/output/.gitignore new file mode 100644 index 00000000..5e7d2734 --- /dev/null +++ b/examples/03.IAXO/output/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore From f56a4a932a95469ef144d9e4b98067bcbae1e4db Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 19:39:14 +0200 Subject: [PATCH 49/64] IAXOPlus. Adding average flag --- examples/03.IAXO/IAXO.rml | 4 ++-- examples/03.IAXO/IAXOPlus.rml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/03.IAXO/IAXO.rml b/examples/03.IAXO/IAXO.rml index 600e90d5..2f90f257 100644 --- a/examples/03.IAXO/IAXO.rml +++ b/examples/03.IAXO/IAXO.rml @@ -34,7 +34,7 @@ - + @@ -63,7 +63,7 @@ - diff --git a/examples/03.IAXO/IAXOPlus.rml b/examples/03.IAXO/IAXOPlus.rml index b24ea83d..e596657f 100644 --- a/examples/03.IAXO/IAXOPlus.rml +++ b/examples/03.IAXO/IAXOPlus.rml @@ -3,7 +3,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -63,7 +63,7 @@ - From cffea4eb49f5ea642bd2f8e3d3291f0560586b47 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 19:46:57 +0200 Subject: [PATCH 50/64] Updating README.md --- examples/03.IAXO/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 92b34a73..0a47e469 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -67,3 +67,16 @@ A detailed detector x-ray response could be considered by adding the pre-calcula - The number of parameter nodes, mass values at which the signal is calculated is of the order of 500 points, which will lead to a HD curve. Reducing the number of points by increasing the parameter `stepParameterValue` will also reduce the computational cost. - The parameter `useAverage` has been enabled for all examples, meaning that the tracking mock MonteCarlo data will be generated using exactly the average number of background counts, thus representing an average experiment but not a realistic data taking program. Still good enough to present prospects. A more complete exclusion could be achieved by disabling the `useAverage` parameter and generating several sensitivity curves, using `TRestSensitivity::GenerateCurves(N)` and then drawing them using `TRestSensitivity::DrawLevelCurves`. - We are using here the Primakoff flux for the calculation, but obviously just replacing the `TRestAxionQCDSolarFlux` by the corresponding definition would allow to get limit to e.g. the ABC electron coupling flux. + +### Results + +The limits directory contains the sensitivity results obtained with each of the TRestSensitivity definitions defined in this example. It also contains a `.gp` file to reproduce the plot shown here. + +![Limits](limits/IAXO.png) + +### Credit + +Consider citing any of the following publications: + +- E. Armengaud et al JCAP06(2019)047, Physics Potential of the International Axion Observatory". +- Javier Galan, Johanna von Oy, Kresimir Jakovcic, Francisco Rodríguez Candón, Juan Antonio García, Luis Antonio Obis Aparicio, Sebastian Smith, Konrad Altenmüller, Louis Helary, Tomas O'Shea. (2024). rest-for-physics/axionlib: v2.4 (v2.4). Zenodo. https://doi.org/10.5281/zenodo.11110335 From 6285dfe873e02ad62175109e3234dadb1e2fe1ee Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 17:47:08 +0000 Subject: [PATCH 51/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.IAXO/limits/IAXO.gp | 62 ++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/examples/03.IAXO/limits/IAXO.gp b/examples/03.IAXO/limits/IAXO.gp index dd592034..8c1b8897 100644 --- a/examples/03.IAXO/limits/IAXO.gp +++ b/examples/03.IAXO/limits/IAXO.gp @@ -1,12 +1,12 @@ #!/usr/local/Cellar/gnuplot/6.0.0/bin/gnuplot # -# +# # G N U P L O T -# Version 6.0 patchlevel 0 last modified 2023-12-09 -# +# Version 6.0 patchlevel 0 last modified 2023-12-09 +# # Copyright (C) 1986-1993, 1998, 2004, 2007-2023 # Thomas Williams, Colin Kelley and many others -# +# # gnuplot home: http://www.gnuplot.info # faq, bugs, etc: type "help FAQ" # immediate help: type "help" (plot window: hit 'h') @@ -16,28 +16,28 @@ unset clip points set clip one unset clip two unset clip radial -set errorbars front 1.000000 +set errorbars front 1.000000 set border 31 front lt black linewidth 1.000 dashtype solid set cornerpoles -set zdata -set ydata -set xdata -set y2data -set x2data +set zdata +set ydata +set xdata +set y2data +set x2data set boxwidth set boxdepth 0 set style fill empty border set style rectangle back fc bgnd fillstyle solid 1.00 border lt -1 -set style circle radius graph 0.02 +set style circle radius graph 0.02 set style ellipse size graph 0.05, 0.03 angle 0 units xy set dummy x, y -set format x "% h" -set format y "% h" -set format x2 "% h" -set format y2 "% h" -set format z "% h" -set format cb "% h" -set format r "% h" +set format x "% h" +set format y "% h" +set format x2 "% h" +set format y2 "% h" +set format z "% h" +set format cb "% h" +set format r "% h" set ttics format "% h" set timefmt "%d/%m/%y,%H:%M" set angles radians @@ -123,33 +123,33 @@ set cbtics norangelimit autofreq font ",16" set rtics axis in scale 1,0.5 nomirror norotate autojustify set rtics norangelimit autofreq font ",16" unset ttics -set title "" +set title "" set title font "" textcolor lt -1 norotate -set timestamp bottom -set timestamp "" +set timestamp bottom +set timestamp "" set timestamp font "" textcolor lt -1 norotate set trange [ * : * ] noreverse nowriteback set urange [ * : * ] noreverse nowriteback set vrange [ * : * ] noreverse nowriteback -set xlabel "" +set xlabel "" set xlabel font ",16" textcolor lt -1 norotate -set x2label "" +set x2label "" set x2label font "" textcolor lt -1 norotate set xrange [ * : * ] noreverse writeback set x2range [ * : * ] noreverse writeback -set ylabel "g_{a{/Symbol g}} [10^{-10} GeV^{-1}]" +set ylabel "g_{a{/Symbol g}} [10^{-10} GeV^{-1}]" set ylabel offset character 1, 0, 0 font ",16" textcolor lt -1 rotate -set y2label "" +set y2label "" set y2label font "" textcolor lt -1 rotate set yrange [ * : * ] noreverse writeback set y2range [ * : * ] noreverse writeback -set zlabel "" +set zlabel "" set zlabel font "" textcolor lt -1 norotate set zrange [ * : * ] noreverse writeback -set cblabel "" +set cblabel "" set cblabel font "" textcolor lt -1 rotate set cbrange [ * : * ] noreverse writeback -set rlabel "" +set rlabel "" set rlabel font "" textcolor lt -1 norotate set rrange [ * : * ] noreverse writeback unset logscale @@ -165,15 +165,15 @@ set locale "en_US.UTF-8" set pm3d explicit at s set pm3d scansautomatic set pm3d interpolate 1,1 flush begin noftriangles noborder corners2color mean -set pm3d clip z +set pm3d clip z set pm3d nolighting -set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB +set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB set palette rgbformulae 7, 5, 15 set colorbox default set colorbox vertical origin screen 0.9, 0.2 size screen 0.05, 0.6 front noinvert bdefault set style boxplot candles range 1.50 outliers pt 7 separation 1 labels auto unsorted set chi_shapes fraction 0.60 -set loadpath +set loadpath set fontpath set psdir set fit brief errorvariables nocovariancevariables errorscaling prescale nowrap v5 From 3d66e49acd6f3624b27c8597cf2dad7bc2b1fc6f Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 20:01:15 +0200 Subject: [PATCH 52/64] Updating README.md --- examples/03.IAXO/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 0a47e469..68915212 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -26,7 +26,7 @@ Each of the RML files contains a description of the data taking program for 2 sc restRoot [0] TRestSensitivity sens("BabyIAXO.rml", "VacuumPhase"); [1] sens.GenerateCurve() -[2] sens.ExportCurve("output/BabyIAXO_vacuum.txt", 0 ) +[2] sens.ExportCurve("limits/BabyIAXO_Vacuum.csv", 0 ) ``` ## Combined vacuum and gas phase sensitivity curve generation @@ -53,7 +53,7 @@ The first density setting will be skipped since it exceeds the total time requir ``` [0] TRestSensitivity sens("BabyIAXO.rml", "CombinedPhase"); [1] sens.GenerateCurve() -[2] sens.ExportCurve("output/BabyIAXO_vacuum.txt", 0 ) +[2] sens.ExportCurve("lomits/BabyIAXO_Combined.csv", 0 ) ### Detector response From 7da7b0f0751c827d37666ffe8b7d9ca56101bb7f Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 22:29:31 +0200 Subject: [PATCH 53/64] Adding validation pipeline --- .github/workflows/validation.yml | 24 +++++++++++++++++++ pipeline/sensitivity/DummyIAXO.rml | 31 +++++++++++++++++++++++++ pipeline/sensitivity/Validation.C | 37 ++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 pipeline/sensitivity/DummyIAXO.rml create mode 100644 pipeline/sensitivity/Validation.C diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 1671e337..53d6eaf0 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -266,3 +266,27 @@ jobs: export REST_GAS_STEP=2 restManager --c BabyIAXO_Micromegas_XMM.rml --o output.root restRoot -q ValidateChain.C'("output.root")' + + Sensitivity: + name: Sensitivity tests + runs-on: ubuntu-latest + container: + image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + needs: [ build-axionlib ] + steps: + - uses: rest-for-physics/framework/.github/actions/checkout@master + with: + branch: ${{ env.BRANCH_NAME }} + repository: rest-for-physics/axionlib + path: ${{ env.AXION_LIB_PATH }} + - name: Restore cache + uses: actions/cache@v3 + id: axionlib-install-cache + with: + key: ${{ env.BRANCH_NAME }}-${{ github.sha }} + path: ${{ env.REST_PATH }} + - name: Dummy IAXO + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/sensitivity/ + restRoot -b -q Validation.C diff --git a/pipeline/sensitivity/DummyIAXO.rml b/pipeline/sensitivity/DummyIAXO.rml new file mode 100644 index 00000000..ef009b41 --- /dev/null +++ b/pipeline/sensitivity/DummyIAXO.rml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pipeline/sensitivity/Validation.C b/pipeline/sensitivity/Validation.C new file mode 100644 index 00000000..4e051c61 --- /dev/null +++ b/pipeline/sensitivity/Validation.C @@ -0,0 +1,37 @@ + +Int_t Validation() +{ + TRestSensitivity sens("DummyIAXO.rml", "VacuumPhase"); + sens.GenerateCurve(); + sens.GetExperiment(0)->GetSignal()->PrintMetadata(); + sens.GetExperiment(0)->GetBackground()->PrintMetadata(); + + if( sens.GetExperiment(0)->GetSignal()->GetParameterizationNodes().size() != 2 ) + { + std::cout << "Error! The number of parameterization nodes is not two!" << std::endl; + return 1; + } + + + std::cout << sens.GetCurve()[0] << std::endl; + if( sens.GetCurve().size() != 2 ) + { + std::cout << "Error! The generated sensitivity curve should have 2 nodes!" << std::endl; + return 2; + } + + if( sens.getcurve()[0] != 0.000715751 ) + { + std::cout << "error! the first point on the sensitivity curve should have 0.000715751!" << std::endl; + std::cout << "present value: " << sens.getcurve[0] << std::endl; + return 3; + } + + if( sens.getcurve()[1] != 0.613593 ) + { + std::cout << "error! the second point on the sensitivity curve should be 0.613593!" << std::endl; + std::cout << "present value: " << sens.getcurve[1] << std::endl; + return 4; + } + return 0; +} From 0f21d6fc7e911469b62df8bf942c07651af6e520 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Wed, 29 May 2024 22:29:52 +0200 Subject: [PATCH 54/64] Updating README.md --- examples/03.IAXO/README.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 68915212..61e607c4 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -14,11 +14,7 @@ $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | t | $year$ | 1.5+1.5 | 3+3 | 5+5 | File | | BabyIAXO.rml | IAXO.rml | IAXOPlus.rml | -We consider a tracking of 12 hours which is why we define $\epsilon_t$ efficiency, and we consider a data taking efficiency of 300days out of 365 natural days available. - -Each of the RML files contains a description of the data taking program for 2 scenarios. -- Vacuum phase: Where we consider the total exposure time if we would only take datra in vacuum, and add one extra year that would be required for the commissioning of a gas phase. -- Combined phase: Where we use the strict scenario proposed in the CDR with half the time in vacuum phase, and half the time distributed in 72 density settings required to reach ~0.25eV coherent mass. +We consider a tracking of 12 hours which is why we define $\epsilon_t$ efficiency equal to 0.5, in addition we have considered an additional data taking efficiency of 300days out of 365 natural days available. The macro `GenerateSignalComponents.C` will produce a set of continuous density settings covering masses up to 0.25\,eV, which translates into 73 density settings. ## Vacuum sensitivity curve generation @@ -53,7 +49,8 @@ The first density setting will be skipped since it exceeds the total time requir ``` [0] TRestSensitivity sens("BabyIAXO.rml", "CombinedPhase"); [1] sens.GenerateCurve() -[2] sens.ExportCurve("lomits/BabyIAXO_Combined.csv", 0 ) +[2] sens.ExportCurve("limits/BabyIAXO_Combined.csv", 0 ) +``` ### Detector response From 1f47292e42ab829607712b9417be1db24c268f0a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 20:30:53 +0000 Subject: [PATCH 55/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pipeline/sensitivity/Validation.C | 56 ++++++++++++++----------------- 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/pipeline/sensitivity/Validation.C b/pipeline/sensitivity/Validation.C index 4e051c61..9e7b25fb 100644 --- a/pipeline/sensitivity/Validation.C +++ b/pipeline/sensitivity/Validation.C @@ -1,37 +1,31 @@ -Int_t Validation() -{ - TRestSensitivity sens("DummyIAXO.rml", "VacuumPhase"); - sens.GenerateCurve(); - sens.GetExperiment(0)->GetSignal()->PrintMetadata(); - sens.GetExperiment(0)->GetBackground()->PrintMetadata(); +Int_t Validation() { + TRestSensitivity sens("DummyIAXO.rml", "VacuumPhase"); + sens.GenerateCurve(); + sens.GetExperiment(0)->GetSignal()->PrintMetadata(); + sens.GetExperiment(0)->GetBackground()->PrintMetadata(); - if( sens.GetExperiment(0)->GetSignal()->GetParameterizationNodes().size() != 2 ) - { - std::cout << "Error! The number of parameterization nodes is not two!" << std::endl; - return 1; - } + if (sens.GetExperiment(0)->GetSignal()->GetParameterizationNodes().size() != 2) { + std::cout << "Error! The number of parameterization nodes is not two!" << std::endl; + return 1; + } + std::cout << sens.GetCurve()[0] << std::endl; + if (sens.GetCurve().size() != 2) { + std::cout << "Error! The generated sensitivity curve should have 2 nodes!" << std::endl; + return 2; + } - std::cout << sens.GetCurve()[0] << std::endl; - if( sens.GetCurve().size() != 2 ) - { - std::cout << "Error! The generated sensitivity curve should have 2 nodes!" << std::endl; - return 2; - } + if (sens.getcurve()[0] != 0.000715751) { + std::cout << "error! the first point on the sensitivity curve should have 0.000715751!" << std::endl; + std::cout << "present value: " << sens.getcurve[0] << std::endl; + return 3; + } - if( sens.getcurve()[0] != 0.000715751 ) - { - std::cout << "error! the first point on the sensitivity curve should have 0.000715751!" << std::endl; - std::cout << "present value: " << sens.getcurve[0] << std::endl; - return 3; - } - - if( sens.getcurve()[1] != 0.613593 ) - { - std::cout << "error! the second point on the sensitivity curve should be 0.613593!" << std::endl; - std::cout << "present value: " << sens.getcurve[1] << std::endl; - return 4; - } - return 0; + if (sens.getcurve()[1] != 0.613593) { + std::cout << "error! the second point on the sensitivity curve should be 0.613593!" << std::endl; + std::cout << "present value: " << sens.getcurve[1] << std::endl; + return 4; + } + return 0; } From 2d3fc71b90623c37143b9b3d15667492fd258fd8 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Thu, 30 May 2024 15:03:56 +0200 Subject: [PATCH 56/64] GenerateSignalComponents.C now allows to define the first N steps with a fixed exposure time --- examples/03.IAXO/GenerateSignalComponents.C | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index cf12df7e..fd8893ae 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -2,7 +2,7 @@ Double_t Eo = 0.5; // keV Double_t Ef = 10; // keV Int_t GenerateSignalComponents(std::string rmlFile, std::string name, - Double_t totalExposureTime = 1.5 * 300 * 12 * 3600, size_t skipSteps = 1) { + Double_t totalExposureTime = 1.5 * 300 * 12 * 3600, size_t firstSteps = 5, Double_t firstStepsExposure = 0.5*300*12*3600) { TRestAxionField field; std::vector> scanSteps = field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV @@ -20,7 +20,7 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, TFile* f = TFile::Open((TString)componentsFile, "RECREATE"); std::vector exposureTimes; - for (size_t n = skipSteps; n < scanSteps.size(); n++) { + for (size_t n = 0; n < scanSteps.size(); n++) { Double_t mass = scanSteps[n].first; Double_t density = scanSteps[n].second; @@ -30,7 +30,11 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t nGamma = gasPhase.GetSignalRate(mass, Eo, Ef); Double_t ksvzFactor = 3.75523 * mass; - Double_t exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; + Double_t exposureTime = 0; + if( n < firstSteps ) + exposureTime = firstStepsExposure/firstSteps; + else + exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; exposureTimes.push_back(exposureTime); gasPhase.Write("P" + (TString)IntegerToString(n + 1)); @@ -40,12 +44,15 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, std::cout << "Generated signals file: " << componentsFile << std::endl; Double_t generatedExposureTime = 0; - for (size_t n = skipSteps; n < scanSteps.size(); n++) - generatedExposureTime += exposureTimes[n - skipSteps]; + for (size_t n = firstSteps; n < scanSteps.size(); n++) + generatedExposureTime += exposureTimes[n]; FILE* g = fopen(settingsFile.c_str(), "wt"); - for (size_t n = skipSteps; n < scanSteps.size(); n++) - fprintf(g, "%lf\tP%d\n", totalExposureTime * exposureTimes[n - skipSteps] / generatedExposureTime, + for (size_t n = 0; n < firstSteps; n++) + fprintf(g, "%lf\tP%d\n", exposureTimes[n], (int)(n + 1)); + + for (size_t n = firstSteps; n < scanSteps.size(); n++) + fprintf(g, "%lf\tP%d\n", (totalExposureTime-firstStepsExposure) * exposureTimes[n] / generatedExposureTime, (int)(n + 1)); fclose(g); From 405be83943a5f9ee06f3d2175bea1e80dbf62b30 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 13:04:50 +0000 Subject: [PATCH 57/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.IAXO/GenerateSignalComponents.C | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index fd8893ae..cae55af2 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -2,7 +2,8 @@ Double_t Eo = 0.5; // keV Double_t Ef = 10; // keV Int_t GenerateSignalComponents(std::string rmlFile, std::string name, - Double_t totalExposureTime = 1.5 * 300 * 12 * 3600, size_t firstSteps = 5, Double_t firstStepsExposure = 0.5*300*12*3600) { + Double_t totalExposureTime = 1.5 * 300 * 12 * 3600, size_t firstSteps = 5, + Double_t firstStepsExposure = 0.5 * 300 * 12 * 3600) { TRestAxionField field; std::vector> scanSteps = field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV @@ -31,10 +32,10 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t nGamma = gasPhase.GetSignalRate(mass, Eo, Ef); Double_t ksvzFactor = 3.75523 * mass; Double_t exposureTime = 0; - if( n < firstSteps ) - exposureTime = firstStepsExposure/firstSteps; - else - exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; + if (n < firstSteps) + exposureTime = firstStepsExposure / firstSteps; + else + exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma; exposureTimes.push_back(exposureTime); gasPhase.Write("P" + (TString)IntegerToString(n + 1)); @@ -44,15 +45,14 @@ Int_t GenerateSignalComponents(std::string rmlFile, std::string name, std::cout << "Generated signals file: " << componentsFile << std::endl; Double_t generatedExposureTime = 0; - for (size_t n = firstSteps; n < scanSteps.size(); n++) - generatedExposureTime += exposureTimes[n]; + for (size_t n = firstSteps; n < scanSteps.size(); n++) generatedExposureTime += exposureTimes[n]; FILE* g = fopen(settingsFile.c_str(), "wt"); - for (size_t n = 0; n < firstSteps; n++) - fprintf(g, "%lf\tP%d\n", exposureTimes[n], (int)(n + 1)); + for (size_t n = 0; n < firstSteps; n++) fprintf(g, "%lf\tP%d\n", exposureTimes[n], (int)(n + 1)); for (size_t n = firstSteps; n < scanSteps.size(); n++) - fprintf(g, "%lf\tP%d\n", (totalExposureTime-firstStepsExposure) * exposureTimes[n] / generatedExposureTime, + fprintf(g, "%lf\tP%d\n", + (totalExposureTime - firstStepsExposure) * exposureTimes[n] / generatedExposureTime, (int)(n + 1)); fclose(g); From 3beb8664bd6116dd812af20dafd8177a3d4856e0 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Sun, 9 Jun 2024 06:53:50 +0200 Subject: [PATCH 58/64] Improving RML templates using constants. Fixing wrong spot window radius --- examples/03.IAXO/BabyIAXO.rml | 47 ++++++++++++++++----------- examples/03.IAXO/IAXO.rml | 60 +++++++++++++++++++---------------- examples/03.IAXO/IAXOPlus.rml | 59 +++++++++++++++++++--------------- 3 files changed, 94 insertions(+), 72 deletions(-) diff --git a/examples/03.IAXO/BabyIAXO.rml b/examples/03.IAXO/BabyIAXO.rml index dc89d043..36a44cc3 100644 --- a/examples/03.IAXO/BabyIAXO.rml +++ b/examples/03.IAXO/BabyIAXO.rml @@ -1,22 +1,33 @@ + + + + + + + + + + + + - + - - + + conversionType="IAXO" bores="Bores" + magnetRadius="MagnetRadius cm" magnetLength="MagnetLength m" magnetStrength="BField T" + opticsEfficiency="OpticsEff" windowEfficiency="WindowEff" > @@ -26,7 +37,7 @@ + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> @@ -38,20 +49,19 @@ - - + + conversionType="IAXO" bores="Bores" + magnetRadius="MagnetRadius cm" magnetLength="MagnetLength m" magnetStrength="BField T" + opticsEfficiency="OpticsEff" windowEfficiency="WindowEff" > + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> @@ -67,16 +77,15 @@ - - + + conversionType="IAXO" bores="Bores" + magnetRadius="MagnetRadius cm" magnetLength="MagnetLength m" magnetStrength="BField T" + opticsEfficiency="OpticsEff" windowEfficiency="WindowEff" > @@ -86,7 +95,7 @@ + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> diff --git a/examples/03.IAXO/IAXO.rml b/examples/03.IAXO/IAXO.rml index 2f90f257..327e4d5e 100644 --- a/examples/03.IAXO/IAXO.rml +++ b/examples/03.IAXO/IAXO.rml @@ -1,22 +1,33 @@ + + + + + + + + + + + + - + - - + + conversionType="IAXO" bores="Bores" + magnetRadius="MagnetRadius cm" magnetLength="MagnetLength m" magnetStrength="BField T" + opticsEfficiency="OpticsEff" windowEfficiency="WindowEff" > @@ -26,59 +37,54 @@ - + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> - + - - + - + - + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> - - + - - + + conversionType="IAXO" bores="Bores" + magnetRadius="MagnetRadius cm" magnetLength="MagnetLength m" magnetStrength="BField T" + opticsEfficiency="OpticsEff" windowEfficiency="WindowEff" > @@ -88,12 +94,12 @@ + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> - + diff --git a/examples/03.IAXO/IAXOPlus.rml b/examples/03.IAXO/IAXOPlus.rml index e596657f..1f246c32 100644 --- a/examples/03.IAXO/IAXOPlus.rml +++ b/examples/03.IAXO/IAXOPlus.rml @@ -1,22 +1,33 @@ + + + + + + + + + + + + - + - - + + conversionType="IAXO" bores="Bores" + magnetRadius="MagnetRadius cm" magnetLength="MagnetLength m" magnetStrength="BField T" + opticsEfficiency="OpticsEff" windowEfficiency="WindowEff" > @@ -26,59 +37,55 @@ - + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> - + - - + - + + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> - - + - - + + conversionType="IAXO" bores="Bores" + magnetRadius="MagnetRadius cm" magnetLength="MagnetLength m" magnetStrength="BField T" + opticsEfficiency="OpticsEff" windowEfficiency="WindowEff" > @@ -88,12 +95,12 @@ + fluxDataFile="Primakoff_LennertHoof_202203.dat" seed="137" /> - + From 6fa6b53c778060ce94d84dc63ec2c4b6a3aa1c19 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Sun, 9 Jun 2024 06:54:57 +0200 Subject: [PATCH 59/64] IAXO.rml Updating data taking years --- examples/03.IAXO/IAXO.rml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/03.IAXO/IAXO.rml b/examples/03.IAXO/IAXO.rml index 327e4d5e..cf5920f0 100644 --- a/examples/03.IAXO/IAXO.rml +++ b/examples/03.IAXO/IAXO.rml @@ -5,7 +5,7 @@ - + From ac1d62dd65e5ca8435348ab2ab2941994447ce49 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Sun, 9 Jun 2024 07:20:23 +0200 Subject: [PATCH 60/64] Updating README.md --- examples/03.IAXO/README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index 61e607c4..a7fba7a5 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -2,7 +2,7 @@ This example is used to reproduce the different scenarios considered inside the Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded | :---: | :---: | :---: | :---: | :---: | -B | $T$ | ~2 | ~2.5 | ~3.5 | +B | $T$ | ~1.73 | ~2.55 | ~3.57 | L | $m$ | 10 | 20 | 22 | A | $m^2$ | 0.77 | 2.3 | 3.9 | -- | -- | -- | -- | -- | @@ -14,7 +14,7 @@ $\epsilon_t$ | | 0.5 | 0.5 | 0.5 | t | $year$ | 1.5+1.5 | 3+3 | 5+5 | File | | BabyIAXO.rml | IAXO.rml | IAXOPlus.rml | -We consider a tracking of 12 hours which is why we define $\epsilon_t$ efficiency equal to 0.5, in addition we have considered an additional data taking efficiency of 300days out of 365 natural days available. The macro `GenerateSignalComponents.C` will produce a set of continuous density settings covering masses up to 0.25\,eV, which translates into 73 density settings. +We consider a tracking of 12 hours which is why we define $\epsilon_t$ efficiency equal to 0.5. The magnetic field considered is obtained from the $f_M$ divided by $L^2 A$ from the table found in the original publication. The macro `GenerateSignalComponents.C` will produce a set of continuous density settings covering masses up to 0.25\,eV, which translates into 73 density settings. ## Vacuum sensitivity curve generation @@ -41,7 +41,17 @@ The `GenerateSignalComponents` macro defines a default total exposure time that ``` restRoot [0] .L GenerateSignalComponents.C -[1] GenerateSignalComponents( "BabyIAXO.rml", "GasSignal", 5*300*12*3600 ); +[1] GenerateSignalComponents( "BabyIAXO.rml", "GasSignal", 5, 5, 1.66 ); +``` + +The two last arguments specify the number of steps (5) that will equaly share the exposure time (1.66). The remaining density settings will share the remaining exposure time following a KSVZ trend. + +For the scenarios given in this example (BabyIAXO/IAXO/IAXOPlus) we have used: + +``` +GenerateSignalComponents("BabyIAXO.rml", "GasSignal", 1.5, 5, 0.5 ); +GenerateSignalComponents("IAXO.rml", "GasSignal", 3, 5, 1 ); +GenerateSignalComponents("IAXOPlus.rml", "GasSignal", 5, 5, 1.66 ); ``` The first density setting will be skipped since it exceeds the total time required to reach the KSVZ line. We may also change the number of skipped settings. Then, inside `TRestSensitivity` we define an experiment list, the `settings` file with a column which the calculated exposure time, and the signal to be used, with a common background defined inside . From 176326994d09319ade2a794784cc99e2e907ad02 Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Sun, 9 Jun 2024 07:20:41 +0200 Subject: [PATCH 61/64] GenerateSignalComponents.C updated --- examples/03.IAXO/GenerateSignalComponents.C | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index cae55af2..9efd65bd 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -2,8 +2,11 @@ Double_t Eo = 0.5; // keV Double_t Ef = 10; // keV Int_t GenerateSignalComponents(std::string rmlFile, std::string name, - Double_t totalExposureTime = 1.5 * 300 * 12 * 3600, size_t firstSteps = 5, - Double_t firstStepsExposure = 0.5 * 300 * 12 * 3600) { + Double_t totalYears = 1.5, size_t firstSteps = 5, Double_t firstYears = 0.5) { + + Double_t totalExposureTime = totalYears * 365. * 12 * 3600; + Double_t firstStepsExposure = firstYears * 365. * 12 * 3600; + TRestAxionField field; std::vector> scanSteps = field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV From ff9a81794fd36ad11f219ca17db4b4cc267b0c6f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 9 Jun 2024 05:20:56 +0000 Subject: [PATCH 62/64] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/03.IAXO/GenerateSignalComponents.C | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C index 9efd65bd..53a5e077 100644 --- a/examples/03.IAXO/GenerateSignalComponents.C +++ b/examples/03.IAXO/GenerateSignalComponents.C @@ -1,11 +1,10 @@ Double_t Eo = 0.5; // keV Double_t Ef = 10; // keV -Int_t GenerateSignalComponents(std::string rmlFile, std::string name, - Double_t totalYears = 1.5, size_t firstSteps = 5, Double_t firstYears = 0.5) { - - Double_t totalExposureTime = totalYears * 365. * 12 * 3600; - Double_t firstStepsExposure = firstYears * 365. * 12 * 3600; +Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t totalYears = 1.5, + size_t firstSteps = 5, Double_t firstYears = 0.5) { + Double_t totalExposureTime = totalYears * 365. * 12 * 3600; + Double_t firstStepsExposure = firstYears * 365. * 12 * 3600; TRestAxionField field; std::vector> scanSteps = From 4f855b38d6583508b8689f0c0e1f0e37e25c289d Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Sun, 9 Jun 2024 13:25:15 +0200 Subject: [PATCH 63/64] Updating reviewed limits --- examples/03.IAXO/BabyIAXO.rml | 6 +- examples/03.IAXO/IAXO.rml | 8 +- examples/03.IAXO/IAXOPlus.rml | 8 +- examples/03.IAXO/limits/BabyIAXO_Combined.csv | 932 +++++++++--------- examples/03.IAXO/limits/BabyIAXO_Vacuum.csv | 932 +++++++++--------- examples/03.IAXO/limits/IAXO.gp | 2 +- examples/03.IAXO/limits/IAXO.png | Bin 43405 -> 44981 bytes examples/03.IAXO/limits/IAXOPlus_Combined.csv | 932 +++++++++--------- examples/03.IAXO/limits/IAXOPlus_Vacuum.csv | 932 +++++++++--------- examples/03.IAXO/limits/IAXO_Combined.csv | 932 +++++++++--------- examples/03.IAXO/limits/IAXO_Vacuum.csv | 932 +++++++++--------- 11 files changed, 2808 insertions(+), 2808 deletions(-) diff --git a/examples/03.IAXO/BabyIAXO.rml b/examples/03.IAXO/BabyIAXO.rml index 36a44cc3..b52005b0 100644 --- a/examples/03.IAXO/BabyIAXO.rml +++ b/examples/03.IAXO/BabyIAXO.rml @@ -20,7 +20,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -77,7 +77,7 @@ - + diff --git a/examples/03.IAXO/IAXO.rml b/examples/03.IAXO/IAXO.rml index cf5920f0..f229f130 100644 --- a/examples/03.IAXO/IAXO.rml +++ b/examples/03.IAXO/IAXO.rml @@ -20,7 +20,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -71,12 +71,12 @@ + componentPattern="output/SignalsIAXO.root" experimentsFile="output/IAXO.settings" useAverage="true"> - + diff --git a/examples/03.IAXO/IAXOPlus.rml b/examples/03.IAXO/IAXOPlus.rml index 1f246c32..bd8ddb9f 100644 --- a/examples/03.IAXO/IAXOPlus.rml +++ b/examples/03.IAXO/IAXOPlus.rml @@ -20,7 +20,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -72,12 +72,12 @@ + componentPattern="output/SignalsIAXOPlus.root" experimentsFile="output/IAXOPlus.settings" useAverage="true"> - + diff --git a/examples/03.IAXO/limits/BabyIAXO_Combined.csv b/examples/03.IAXO/limits/BabyIAXO_Combined.csv index beba5ca2..a183f966 100644 --- a/examples/03.IAXO/limits/BabyIAXO_Combined.csv +++ b/examples/03.IAXO/limits/BabyIAXO_Combined.csv @@ -1,466 +1,466 @@ -0.001 0.0018266 -0.00102 0.0018266 -0.0010404 0.0018266 -0.00106121 0.0018266 -0.00108243 0.0018266 -0.00110408 0.00182697 -0.00112616 0.00182697 -0.00114869 0.00182697 -0.00117166 0.00182697 -0.00119509 0.00182697 -0.00121899 0.00182697 -0.00124337 0.00182697 -0.00126824 0.00182697 -0.00129361 0.00182697 -0.00131948 0.00182697 -0.00134587 0.00182697 -0.00137279 0.00182697 -0.00140024 0.00182697 -0.00142825 0.00182697 -0.00145681 0.00182697 -0.00148595 0.00182697 -0.00151567 0.00182697 -0.00154598 0.00182697 -0.0015769 0.00182697 -0.00160844 0.00182697 -0.00164061 0.00182697 -0.00167342 0.00182697 -0.00170689 0.00182697 -0.00174102 0.00182697 -0.00177584 0.00182697 -0.00181136 0.00182697 -0.00184759 0.00182697 -0.00188454 0.00182697 -0.00192223 0.00182697 -0.00196068 0.00182697 -0.00199989 0.00182697 -0.00203989 0.00182697 -0.00208069 0.00182697 -0.0021223 0.00182697 -0.00216474 0.00182697 -0.00220804 0.00182697 -0.0022522 0.00182697 -0.00229724 0.00182697 -0.00234319 0.00182697 -0.00239005 0.00182697 -0.00243785 0.00182697 -0.00248661 0.00182697 -0.00253634 0.00182697 -0.00258707 0.00182697 -0.00263881 0.00182697 -0.00269159 0.00182697 -0.00274542 0.00182697 -0.00280033 0.00182697 -0.00285633 0.00182697 -0.00291346 0.00182697 -0.00297173 0.00182697 -0.00303117 0.00182697 -0.00309179 0.00182697 -0.00315362 0.00182697 -0.0032167 0.00182697 -0.00328103 0.00182697 -0.00334665 0.00182697 -0.00341358 0.00182697 -0.00348186 0.00182697 -0.00355149 0.00182697 -0.00362252 0.00182697 -0.00369497 0.00182697 -0.00376887 0.00182697 -0.00384425 0.00182697 -0.00392114 0.00182697 -0.00399956 0.00182697 -0.00407955 0.00182697 -0.00416114 0.00182697 -0.00424436 0.0018266 -0.00432925 0.0018266 -0.00441584 0.0018266 -0.00450415 0.0018266 -0.00459424 0.0018266 -0.00468612 0.0018266 -0.00477984 0.0018266 -0.00487544 0.00182623 -0.00497295 0.00182623 -0.00507241 0.00182623 -0.00517386 0.00182623 -0.00527733 0.00182587 -0.00538288 0.00182587 -0.00549054 0.0018255 -0.00560035 0.0018255 -0.00571235 0.00182514 -0.0058266 0.00182514 -0.00594313 0.00182477 -0.006062 0.00182441 -0.00618324 0.00182404 -0.0063069 0.00182368 -0.00643304 0.00182331 -0.0065617 0.00182295 -0.00669293 0.00182258 -0.00682679 0.00182185 -0.00696333 0.00182149 -0.00710259 0.00182076 -0.00724465 0.00182003 -0.00738954 0.0018193 -0.00753733 0.00181821 -0.00768808 0.00181749 -0.00784184 0.0018164 -0.00799867 0.00181531 -0.00815865 0.00181422 -0.00832182 0.00181277 -0.00848826 0.00181132 -0.00865802 0.00180987 -0.00883118 0.00180842 -0.00900781 0.00180662 -0.00918796 0.00180481 -0.00937172 0.00180265 -0.00955916 0.00180084 -0.00975034 0.00179868 -0.00994535 0.00179653 -0.0101443 0.00179401 -0.0103471 0.0017915 -0.0105541 0.00178899 -0.0107652 0.00178649 -0.0109805 0.00178399 -0.0112001 0.00178114 -0.0114241 0.00177829 -0.0116526 0.0017758 -0.0118856 0.00177296 -0.0121233 0.00177048 -0.0123658 0.00176836 -0.0126131 0.00176624 -0.0128654 0.00176447 -0.0131227 0.00176271 -0.0133851 0.00176165 -0.0136528 0.00176095 -0.0139259 0.0017606 -0.0142044 0.00176095 -0.0144885 0.00176201 -0.0147783 0.00176342 -0.0150738 0.00176589 -0.0153753 0.00176942 -0.0156828 0.00177403 -0.0159965 0.00178007 -0.0163164 0.00178756 -0.0166427 0.00179689 -0.0169756 0.00180842 -0.0173151 0.00182258 -0.0176614 0.0018398 -0.0180146 0.00186127 -0.0183749 0.00188676 -0.0187424 0.00191758 -0.0191173 0.0019543 -0.0194996 0.00199737 -0.0198896 0.00204794 -0.0202874 0.0021061 -0.0206931 0.00217242 -0.021107 0.00224712 -0.0215291 0.00233089 -0.0219597 0.00242336 -0.0223989 0.0025258 -0.0228469 0.0026389 -0.0233038 0.00276315 -0.0237699 0.00289874 -0.0242453 0.00304434 -0.0247302 0.00319596 -0.0252248 0.00334643 -0.0257293 0.00348336 -0.0262439 0.00359234 -0.0267688 0.00366125 -0.0273042 0.00368255 -0.0278502 0.00365686 -0.0284072 0.00359162 -0.0289754 0.00349522 -0.0295549 0.00337399 -0.030146 0.00323391 -0.0307489 0.00308417 -0.0313639 0.0029455 -0.0319912 0.00284702 -0.032631 0.00281222 -0.0332836 0.00284588 -0.0339493 0.00292085 -0.0346283 0.00298584 -0.0353208 0.00300141 -0.0360272 0.00295671 -0.0367478 0.00284873 -0.0374827 0.00266917 -0.0382324 0.00244332 -0.0389971 0.00223233 -0.039777 0.00208431 -0.0405725 0.0020504 -0.041384 0.00220968 -0.0422117 0.00262679 -0.0430559 0.00328278 -0.043917 0.00410326 -0.0447954 0.00495652 -0.0456913 0.00558519 -0.0466051 0.00586514 -0.0475372 0.00585225 -0.0484879 0.00600161 -0.0494577 0.00678112 -0.0504468 0.00784852 -0.0514558 0.00830562 -0.0524849 0.00770259 -0.0535346 0.00655506 -0.0546053 0.00574324 -0.0556974 0.00537476 -0.0568113 0.00568153 -0.0579476 0.00615356 -0.0591065 0.00629423 -0.0602886 0.00654459 -0.0614944 0.00664484 -0.0627243 0.00746149 -0.0639788 0.00973617 -0.0652584 0.0117632 -0.0665635 0.0126642 -0.0678948 0.012682 -0.0692527 0.0123194 -0.0706378 0.0110615 -0.0720505 0.0114452 -0.0734915 0.0167715 -0.0749614 0.019834 -0.0764606 0.0166013 -0.0779898 0.0167782 -0.0795496 0.0189006 -0.0811406 0.0145341 -0.0827634 0.0133777 -0.0844187 0.0149439 -0.086107 0.0135677 -0.0878292 0.0160527 -0.0895858 0.0181903 -0.0913775 0.0165814 -0.093205 0.0215982 -0.0950691 0.0196838 -0.0969705 0.0247425 -0.0989099 0.0234465 -0.100888 0.0286238 -0.102906 0.0278836 -0.104964 0.0340296 -0.107063 0.0314632 -0.109205 0.0406725 -0.111389 0.0367537 -0.113616 0.0468836 -0.115889 0.0462501 -0.118207 0.04744 -0.120571 0.0622403 -0.122982 0.0580666 -0.125442 0.0597875 -0.127951 0.0741423 -0.13051 0.0860994 -0.13312 0.0826568 -0.135782 0.0800695 -0.138498 0.0892738 -0.141268 0.100647 -0.144093 0.11991 -0.146975 0.129971 -0.149914 0.146281 -0.152913 0.151295 -0.155971 0.16107 -0.15909 0.164062 -0.162272 0.164325 -0.165518 0.187835 -0.168828 0.240301 -0.172205 0.247125 -0.175649 0.22635 -0.179162 0.306858 -0.182745 0.285224 -0.1864 0.337916 -0.190128 0.325315 -0.19393 0.419272 -0.197809 0.379824 -0.201765 0.418519 -0.2058 0.498121 -0.209916 0.587942 -0.214115 0.624615 -0.218397 0.680443 -0.222765 0.705813 -0.22722 0.682624 -0.231765 0.692804 -0.2364 0.906669 -0.241128 0.848841 -0.245951 1.05993 -0.25087 1.10695 -0.255887 18.969 -0.261005 23.9324 -0.266225 36.0805 -0.271549 50.8964 -0.27698 44.9917 -0.28252 57.4837 -0.28817 56.628 -0.293934 80.2229 -0.299812 59.5316 -0.305809 102.775 -0.311925 58.6216 -0.318163 75.861 -0.324526 94.1725 -0.331017 143.515 -0.337637 87.6209 -0.34439 120.597 -0.351278 169.18 -0.358303 152.941 -0.36547 152.879 -0.372779 138.773 -0.380235 154.586 -0.387839 154.927 -0.395596 204.975 -0.403508 256.512 -0.411578 445.297 -0.41981 274.509 -0.428206 395.056 -0.43677 284.118 -0.445505 251.894 -0.454415 765.683 -0.463504 810.602 -0.472774 414.234 -0.482229 414.483 -0.491874 728.557 -0.501711 888.993 -0.511746 911.499 -0.52198 633.112 -0.53242 861.077 -0.543069 1260.16 -0.55393 862.111 -0.565008 1138.29 -0.576309 1480.77 -0.587835 1050.98 -0.599592 1040.72 -0.611583 1429.4 -0.623815 1338.63 -0.636291 1059.63 -0.649017 1717.34 -0.661997 1859.09 -0.675237 2201.79 -0.688742 2534.98 -0.702517 1691.77 -0.716567 2007.11 -0.730899 3662.07 -0.745517 2632.13 -0.760427 3842.94 -0.775636 4757.05 -0.791148 4440.74 -0.806971 4482.68 -0.823111 3242.41 -0.839573 4654.46 -0.856364 4865.8 -0.873492 3918.23 -0.890961 7280.34 -0.908781 5510.99 -0.926956 12820.1 -0.945495 6138.98 -0.964405 5419.16 -0.983693 10805.9 -1.00337 10659.9 -1.02343 12329.6 -1.0439 11428.3 -1.06478 14312.3 -1.08608 9161.13 -1.1078 13170.9 -1.12995 13749.7 -1.15255 14143.1 -1.1756 14584 -1.19912 16426.6 -1.2231 15748.3 -1.24756 27057.4 -1.27251 27106.3 -1.29796 25866.7 -1.32392 27231.3 -1.3504 38270.1 -1.37741 26111.1 -1.40496 35447.7 -1.43306 25717.2 -1.46172 36193 -1.49095 34524.1 -1.52077 40446.3 -1.55119 50800.3 -1.58221 71852 -1.61385 72559.9 -1.64613 58091.5 -1.67905 80151.6 -1.71263 89026.7 -1.74689 61807.6 -1.78182 142902 -1.81746 114384 -1.85381 134929 -1.89089 170934 -1.9287 121361 -1.96728 133881 -2.00662 176352 -2.04676 147077 -2.08769 233344 -2.12945 143045 -2.17203 275310 -2.21547 206232 -2.25978 188009 -2.30498 177130 -2.35108 394785 -2.3981 275696 -2.44606 227764 -2.49498 458728 -2.54488 412133 -2.59578 623944 -2.6477 613180 -2.70065 458178 -2.75466 533596 -2.80976 519503 -2.86595 1.21878e+06 -2.92327 630657 -2.98174 804074 -3.04137 690193 -3.1022 814595 -3.16424 817863 -3.22753 881567 -3.29208 1.33878e+06 -3.35792 1.05257e+06 -3.42508 1.10853e+06 -3.49358 1.07083e+06 -3.56345 1.555e+06 -3.63472 2.53578e+06 -3.70742 1.54601e+06 -3.78156 1.16748e+06 -3.8572 2.55308e+06 -3.93434 1.8114e+06 -4.01303 3.19193e+06 -4.09329 2.00854e+06 -4.17515 3.29707e+06 -4.25866 4.03965e+06 -4.34383 2.58391e+06 -4.4307 2.91165e+06 -4.51932 4.66338e+06 -4.60971 3.29773e+06 -4.7019 4.83241e+06 -4.79594 4.10399e+06 -4.89186 5.4546e+06 -4.98969 4.76998e+06 -5.08949 6.77597e+06 -5.19128 5.50391e+06 -5.2951 9.06373e+06 -5.401 6.1791e+06 -5.50902 1.03812e+07 -5.61921 8.33872e+06 -5.73159 6.30268e+06 -5.84622 1.15168e+07 -5.96315 9.57053e+06 -6.08241 1.62104e+07 -6.20406 1.49639e+07 -6.32814 1.61166e+07 -6.4547 2.11354e+07 -6.58379 1.9164e+07 -6.71547 1.52723e+07 -6.84978 1.48239e+07 -6.98678 3.5473e+07 -7.12651 3.07346e+07 -7.26904 3.1855e+07 -7.41442 4.79477e+07 -7.56271 3.0661e+07 -7.71396 3.88608e+07 -7.86824 3.53385e+07 -8.02561 3.09754e+07 -8.18612 3.08394e+07 -8.34984 4.02653e+07 -8.51684 5.56694e+07 -8.68718 6.21245e+07 -8.86092 6.2837e+07 -9.03814 7.6335e+07 -9.2189 6.32657e+07 -9.40328 1.04018e+08 -9.59135 1.25749e+08 -9.78317 7.06629e+07 -9.97884 1.4034e+08 +0.001 1.66553e-11 +0.00102 1.66553e-11 +0.0010404 1.66553e-11 +0.00106121 1.66553e-11 +0.00108243 1.66553e-11 +0.00110408 1.66553e-11 +0.00112616 1.66553e-11 +0.00114869 1.66553e-11 +0.00117166 1.66553e-11 +0.00119509 1.66553e-11 +0.00121899 1.66553e-11 +0.00124337 1.66553e-11 +0.00126824 1.66553e-11 +0.00129361 1.66553e-11 +0.00131948 1.66553e-11 +0.00134587 1.66553e-11 +0.00137279 1.66545e-11 +0.00140024 1.66545e-11 +0.00142825 1.66545e-11 +0.00145681 1.66545e-11 +0.00148595 1.66545e-11 +0.00151567 1.66545e-11 +0.00154598 1.66545e-11 +0.0015769 1.66545e-11 +0.00160844 1.66545e-11 +0.00164061 1.66545e-11 +0.00167342 1.66545e-11 +0.00170689 1.66545e-11 +0.00174102 1.66536e-11 +0.00177584 1.66536e-11 +0.00181136 1.66536e-11 +0.00184759 1.66536e-11 +0.00188454 1.66536e-11 +0.00192223 1.66536e-11 +0.00196068 1.66536e-11 +0.00199989 1.66536e-11 +0.00203989 1.66536e-11 +0.00208069 1.66528e-11 +0.0021223 1.66528e-11 +0.00216474 1.66528e-11 +0.00220804 1.66528e-11 +0.0022522 1.66528e-11 +0.00229724 1.66528e-11 +0.00234319 1.66528e-11 +0.00239005 1.66528e-11 +0.00243785 1.6652e-11 +0.00248661 1.6652e-11 +0.00253634 1.6652e-11 +0.00258707 1.6652e-11 +0.00263881 1.6652e-11 +0.00269159 1.6652e-11 +0.00274542 1.6652e-11 +0.00280033 1.6652e-11 +0.00285633 1.66511e-11 +0.00291346 1.66511e-11 +0.00297173 1.66511e-11 +0.00303117 1.66511e-11 +0.00309179 1.66511e-11 +0.00315362 1.66511e-11 +0.0032167 1.66511e-11 +0.00328103 1.66511e-11 +0.00334665 1.66511e-11 +0.00341358 1.66511e-11 +0.00348186 1.66511e-11 +0.00355149 1.66511e-11 +0.00362252 1.66511e-11 +0.00369497 1.66511e-11 +0.00376887 1.66511e-11 +0.00384425 1.66511e-11 +0.00392114 1.66511e-11 +0.00399956 1.6652e-11 +0.00407955 1.6652e-11 +0.00416114 1.6652e-11 +0.00424436 1.66528e-11 +0.00432925 1.66528e-11 +0.00441584 1.66536e-11 +0.00450415 1.66536e-11 +0.00459424 1.66545e-11 +0.00468612 1.66553e-11 +0.00477984 1.66561e-11 +0.00487544 1.6657e-11 +0.00497295 1.66578e-11 +0.00507241 1.66586e-11 +0.00517386 1.66603e-11 +0.00527733 1.6662e-11 +0.00538288 1.66636e-11 +0.00549054 1.66653e-11 +0.00560035 1.6667e-11 +0.00571235 1.66695e-11 +0.0058266 1.6672e-11 +0.00594313 1.66745e-11 +0.006062 1.6677e-11 +0.00618324 1.66803e-11 +0.0063069 1.66845e-11 +0.00643304 1.66878e-11 +0.0065617 1.66928e-11 +0.00669293 1.66978e-11 +0.00682679 1.67029e-11 +0.00696333 1.67087e-11 +0.00710259 1.67154e-11 +0.00724465 1.67221e-11 +0.00738954 1.67296e-11 +0.00753733 1.6738e-11 +0.00768808 1.67472e-11 +0.00784184 1.67572e-11 +0.00799867 1.67673e-11 +0.00815865 1.6779e-11 +0.00832182 1.67916e-11 +0.00848826 1.68051e-11 +0.00865802 1.68193e-11 +0.00883118 1.68345e-11 +0.00900781 1.68505e-11 +0.00918796 1.68682e-11 +0.00937172 1.68868e-11 +0.00955916 1.6907e-11 +0.00975034 1.69282e-11 +0.00994535 1.69511e-11 +0.0101443 1.69748e-11 +0.0103471 1.70003e-11 +0.0105541 1.70267e-11 +0.0107652 1.70544e-11 +0.0109805 1.70842e-11 +0.0112001 1.7115e-11 +0.0114241 1.71476e-11 +0.0116526 1.71819e-11 +0.0118856 1.72172e-11 +0.0121233 1.72534e-11 +0.0123658 1.72914e-11 +0.0126131 1.73303e-11 +0.0128654 1.73702e-11 +0.0131227 1.74111e-11 +0.0133851 1.7453e-11 +0.0136528 1.74949e-11 +0.0139259 1.75378e-11 +0.0142044 1.75817e-11 +0.0144885 1.76249e-11 +0.0147783 1.7669e-11 +0.0150738 1.77122e-11 +0.0153753 1.77556e-11 +0.0156828 1.77983e-11 +0.0159965 1.78402e-11 +0.0163164 1.78804e-11 +0.0166427 1.79188e-11 +0.0169756 1.79547e-11 +0.0173151 1.79871e-11 +0.0176614 1.8015e-11 +0.0180146 1.80384e-11 +0.0183749 1.80565e-11 +0.0187424 1.80682e-11 +0.0191173 1.80754e-11 +0.0194996 1.80782e-11 +0.0198896 1.80791e-11 +0.0202874 1.808e-11 +0.0206931 1.80836e-11 +0.021107 1.80953e-11 +0.0215291 1.8118e-11 +0.0219597 1.81543e-11 +0.0223989 1.8207e-11 +0.0228469 1.82772e-11 +0.0233038 1.83652e-11 +0.0237699 1.84674e-11 +0.0242453 1.85837e-11 +0.0247302 1.87114e-11 +0.0252248 1.88485e-11 +0.0257293 1.89923e-11 +0.0262439 1.91392e-11 +0.0267688 1.92833e-11 +0.0273042 1.94182e-11 +0.0278502 1.95351e-11 +0.0284072 1.96281e-11 +0.0289754 1.96911e-11 +0.0295549 1.97186e-11 +0.030146 1.97098e-11 +0.0307489 1.96704e-11 +0.0313639 1.96242e-11 +0.0319912 1.96026e-11 +0.032631 1.96399e-11 +0.0332836 1.97522e-11 +0.0339493 1.99318e-11 +0.0346283 2.01523e-11 +0.0353208 2.03767e-11 +0.0360272 2.05682e-11 +0.0367478 2.0693e-11 +0.0374827 2.07313e-11 +0.0382324 2.06909e-11 +0.0389971 2.06001e-11 +0.039777 2.05055e-11 +0.0405725 2.0483e-11 +0.041384 2.06145e-11 +0.0422117 2.08926e-11 +0.0430559 2.11892e-11 +0.043917 2.13669e-11 +0.0447954 2.13658e-11 +0.0456913 2.11743e-11 +0.0466051 2.08665e-11 +0.0475372 2.05548e-11 +0.0484879 2.04349e-11 +0.0494577 2.06248e-11 +0.0504468 2.09219e-11 +0.0514558 2.10824e-11 +0.0524849 2.09743e-11 +0.0535346 2.06516e-11 +0.0546053 2.03248e-11 +0.0556974 2.02361e-11 +0.0568113 2.02741e-11 +0.0579476 2.06661e-11 +0.0591065 2.13337e-11 +0.0602886 2.14482e-11 +0.0614944 2.16237e-11 +0.0627243 2.20722e-11 +0.0639788 2.16996e-11 +0.0652584 2.15051e-11 +0.0665635 2.14557e-11 +0.0678948 2.22807e-11 +0.0692527 2.31918e-11 +0.0706378 2.28585e-11 +0.0720505 2.21109e-11 +0.0734915 2.25824e-11 +0.0749614 2.29203e-11 +0.0764606 2.23365e-11 +0.0779898 2.29479e-11 +0.0795496 2.43768e-11 +0.0811406 2.41427e-11 +0.0827634 2.44892e-11 +0.0844187 2.5683e-11 +0.086107 2.51341e-11 +0.0878292 2.62642e-11 +0.0895858 2.71197e-11 +0.0913775 2.67146e-11 +0.093205 2.85111e-11 +0.0950691 2.7732e-11 +0.0969705 2.95393e-11 +0.0989099 2.92088e-11 +0.100888 3.05225e-11 +0.102906 3.04585e-11 +0.104964 3.19955e-11 +0.107063 3.14672e-11 +0.109205 3.34793e-11 +0.111389 3.25727e-11 +0.113616 3.47631e-11 +0.115889 3.46832e-11 +0.118207 3.49094e-11 +0.120571 3.71562e-11 +0.122982 3.68021e-11 +0.125442 3.6815e-11 +0.127951 3.90917e-11 +0.13051 4.03187e-11 +0.13312 3.99894e-11 +0.135782 3.97879e-11 +0.138498 4.07698e-11 +0.141268 4.23423e-11 +0.144093 4.38091e-11 +0.146975 4.50588e-11 +0.149914 4.60359e-11 +0.152913 4.68616e-11 +0.155971 4.72759e-11 +0.15909 4.75985e-11 +0.162272 4.76675e-11 +0.165518 4.91206e-11 +0.168828 5.2337e-11 +0.172205 5.27363e-11 +0.175649 5.15693e-11 +0.179162 5.54973e-11 +0.182745 5.46724e-11 +0.1864 5.69508e-11 +0.190128 5.64801e-11 +0.19393 6.02686e-11 +0.197809 5.85609e-11 +0.201765 6.00009e-11 +0.2058 6.30824e-11 +0.209916 6.51616e-11 +0.214115 6.63154e-11 +0.218397 6.775e-11 +0.222765 6.86727e-11 +0.22722 6.83096e-11 +0.231765 6.81647e-11 +0.2364 7.28024e-11 +0.241128 7.17184e-11 +0.245951 7.59276e-11 +0.25087 7.64839e-11 +0.255887 1.527e-10 +0.261005 1.66416e-10 +0.266225 1.71226e-10 +0.271549 1.96404e-10 +0.27698 1.81311e-10 +0.28252 1.87681e-10 +0.28817 1.92625e-10 +0.293934 2.08893e-10 +0.299812 2.07799e-10 +0.305809 2.17196e-10 +0.311925 2.19539e-10 +0.318163 2.21202e-10 +0.324526 2.32295e-10 +0.331017 2.26962e-10 +0.337637 2.38437e-10 +0.34439 2.35218e-10 +0.351278 2.41183e-10 +0.358303 2.52241e-10 +0.36547 2.67981e-10 +0.372779 2.70486e-10 +0.380235 2.62793e-10 +0.387839 2.82563e-10 +0.395596 2.82125e-10 +0.403508 2.80661e-10 +0.411578 2.9673e-10 +0.41981 3.07577e-10 +0.428206 3.11563e-10 +0.43677 3.32615e-10 +0.445505 3.12702e-10 +0.454415 3.55565e-10 +0.463504 3.31486e-10 +0.472774 3.5404e-10 +0.482229 3.55975e-10 +0.491874 3.41084e-10 +0.501711 3.72818e-10 +0.511746 3.64003e-10 +0.52198 3.72836e-10 +0.53242 3.85723e-10 +0.543069 4.12967e-10 +0.55393 4.02468e-10 +0.565008 4.003e-10 +0.576309 4.1025e-10 +0.587835 4.29984e-10 +0.599592 4.34458e-10 +0.611583 4.59002e-10 +0.623815 4.34328e-10 +0.636291 4.75945e-10 +0.649017 4.75592e-10 +0.661997 4.90564e-10 +0.675237 4.91497e-10 +0.688742 5.30099e-10 +0.702517 4.88678e-10 +0.716567 5.24824e-10 +0.730899 5.50123e-10 +0.745517 5.29278e-10 +0.760427 5.39216e-10 +0.775636 5.65549e-10 +0.791148 5.95808e-10 +0.806971 6.05873e-10 +0.823111 6.23906e-10 +0.839573 6.60357e-10 +0.856364 6.60357e-10 +0.873492 6.29075e-10 +0.890961 6.48738e-10 +0.908781 6.53655e-10 +0.926956 6.87683e-10 +0.945495 7.03931e-10 +0.964405 6.83398e-10 +0.983693 7.6459e-10 +1.00337 7.5313e-10 +1.02343 7.5956e-10 +1.0439 7.80877e-10 +1.06478 7.3107e-10 +1.08608 7.78187e-10 +1.1078 8.21445e-10 +1.12995 8.18124e-10 +1.15255 8.6169e-10 +1.1756 8.42305e-10 +1.19912 8.95717e-10 +1.2231 8.74758e-10 +1.24756 9.55274e-10 +1.27251 9.0228e-10 +1.29796 9.37771e-10 +1.32392 9.94912e-10 +1.3504 9.46534e-10 +1.37741 1.00695e-09 +1.40496 1.04042e-09 +1.43306 1.07752e-09 +1.46172 1.00479e-09 +1.49095 1.10659e-09 +1.52077 1.1294e-09 +1.55119 1.12119e-09 +1.58221 1.14e-09 +1.61385 1.19681e-09 +1.64613 1.23765e-09 +1.67905 1.26124e-09 +1.71263 1.20383e-09 +1.74689 1.22552e-09 +1.78182 1.33914e-09 +1.81746 1.32422e-09 +1.85381 1.39127e-09 +1.89089 1.49351e-09 +1.9287 1.41942e-09 +1.96728 1.43641e-09 +2.00662 1.47451e-09 +2.04676 1.52903e-09 +2.08769 1.53324e-09 +2.12945 1.56856e-09 +2.17203 1.5648e-09 +2.21547 1.6254e-09 +2.25978 1.68183e-09 +2.30498 1.70222e-09 +2.35108 1.65336e-09 +2.3981 1.80872e-09 +2.44606 1.68891e-09 +2.49498 1.86143e-09 +2.54488 1.80754e-09 +2.59578 1.80818e-09 +2.6477 1.95071e-09 +2.70065 1.99455e-09 +2.75466 2.01571e-09 +2.80976 2.11965e-09 +2.86595 2.18799e-09 +2.92327 2.10539e-09 +2.98174 2.20148e-09 +3.04137 2.16887e-09 +3.1022 2.31945e-09 +3.16424 2.21839e-09 +3.22753 2.26308e-09 +3.29208 2.44957e-09 +3.35792 2.46481e-09 +3.42508 2.44761e-09 +3.49358 2.66278e-09 +3.56345 2.57086e-09 +3.63472 2.72976e-09 +3.70742 2.67252e-09 +3.78156 2.70639e-09 +3.8572 2.92633e-09 +3.93434 2.88983e-09 +4.01303 3.01222e-09 +4.09329 3.0349e-09 +4.17515 3.05195e-09 +4.25866 3.25178e-09 +4.34383 3.21797e-09 +4.4307 3.189e-09 +4.51932 3.23831e-09 +4.60971 3.40122e-09 +4.7019 3.41143e-09 +4.79594 3.49851e-09 +4.89186 3.54917e-09 +4.98969 3.61129e-09 +5.08949 3.67037e-09 +5.19128 3.68416e-09 +5.2951 3.90493e-09 +5.401 4.09522e-09 +5.50902 3.94517e-09 +5.61921 4.09154e-09 +5.73159 4.33102e-09 +5.84622 4.17243e-09 +5.96315 4.29823e-09 +6.08241 4.4098e-09 +6.20406 4.67266e-09 +6.32814 4.98102e-09 +6.4547 4.88764e-09 +6.58379 5.15254e-09 +6.71547 4.79539e-09 +6.84978 4.78055e-09 +6.98678 5.16441e-09 +7.12651 5.53706e-09 +7.26904 5.30271e-09 +7.41442 5.38174e-09 +7.56271 5.526e-09 +7.71396 5.53789e-09 +7.86824 5.68364e-09 +8.02561 6.11366e-09 +8.18612 5.90425e-09 +8.34984 6.15692e-09 +8.51684 6.42918e-09 +8.68718 6.40416e-09 +8.86092 6.89145e-09 +9.03814 6.6983e-09 +9.2189 7.32478e-09 +9.40328 6.78341e-09 +9.59135 6.94646e-09 +9.78317 7.23162e-09 +9.97884 7.33249e-09 diff --git a/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv b/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv index 04c9dc7b..710a7f5a 100644 --- a/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv +++ b/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv @@ -1,466 +1,466 @@ -0.001 0.00073197 -0.00102 0.00073197 -0.0010404 0.00073197 -0.00106121 0.00073197 -0.00108243 0.00073197 -0.00110408 0.00073197 -0.00112616 0.00073197 -0.00114869 0.00073197 -0.00117166 0.00073197 -0.00119509 0.00073197 -0.00121899 0.00073197 -0.00124337 0.00073197 -0.00126824 0.00073197 -0.00129361 0.00073197 -0.00131948 0.00073197 -0.00134587 0.00073197 -0.00137279 0.00073197 -0.00140024 0.00073197 -0.00142825 0.00073197 -0.00145681 0.00073197 -0.00148595 0.00073197 -0.00151567 0.00073197 -0.00154598 0.00073197 -0.0015769 0.00073197 -0.00160844 0.00073197 -0.00164061 0.00073197 -0.00167342 0.00073197 -0.00170689 0.00073197 -0.00174102 0.00073197 -0.00177584 0.00073197 -0.00181136 0.00073197 -0.00184759 0.00073197 -0.00188454 0.00073197 -0.00192223 0.00073197 -0.00196068 0.00073197 -0.00199989 0.00073197 -0.00203989 0.00073197 -0.00208069 0.00073197 -0.0021223 0.00073197 -0.00216474 0.00073197 -0.00220804 0.00073197 -0.0022522 0.00073197 -0.00229724 0.00073197 -0.00234319 0.00073197 -0.00239005 0.00073197 -0.00243785 0.00073197 -0.00248661 0.00073197 -0.00253634 0.00073197 -0.00258707 0.00073197 -0.00263881 0.00073197 -0.00269159 0.00073197 -0.00274542 0.00073197 -0.00280033 0.00073197 -0.00285633 0.00073197 -0.00291346 0.00073197 -0.00297173 0.00073197 -0.00303117 0.00073197 -0.00309179 0.00073197 -0.00315362 0.00073197 -0.0032167 0.00073197 -0.00328103 0.000732117 -0.00334665 0.000732117 -0.00341358 0.000732117 -0.00348186 0.000732117 -0.00355149 0.000732117 -0.00362252 0.000732117 -0.00369497 0.000732117 -0.00376887 0.000732117 -0.00384425 0.000732117 -0.00392114 0.000732117 -0.00399956 0.000732117 -0.00407955 0.000732117 -0.00416114 0.000732117 -0.00424436 0.000732263 -0.00432925 0.000732263 -0.00441584 0.000732263 -0.00450415 0.000732263 -0.00459424 0.000732263 -0.00468612 0.000732263 -0.00477984 0.00073241 -0.00487544 0.00073241 -0.00497295 0.00073241 -0.00507241 0.00073241 -0.00517386 0.000732556 -0.00527733 0.000732556 -0.00538288 0.000732703 -0.00549054 0.000732703 -0.00560035 0.000732849 -0.00571235 0.000732849 -0.0058266 0.000732996 -0.00594313 0.000733142 -0.006062 0.000733142 -0.00618324 0.000733289 -0.0063069 0.000733436 -0.00643304 0.000733582 -0.0065617 0.000733729 -0.00669293 0.000734022 -0.00682679 0.000734169 -0.00696333 0.000734463 -0.00710259 0.00073461 -0.00724465 0.000734904 -0.00738954 0.000735198 -0.00753733 0.000735639 -0.00768808 0.000735933 -0.00784184 0.000736375 -0.00799867 0.000736817 -0.00815865 0.000737259 -0.00832182 0.000737701 -0.00848826 0.000738292 -0.00865802 0.000738883 -0.00883118 0.000739474 -0.00900781 0.000740214 -0.00918796 0.000740954 -0.00937172 0.000741695 -0.00955916 0.000742437 -0.00975034 0.000743329 -0.00994535 0.000744221 -0.0101443 0.000745264 -0.0103471 0.000746311 -0.0105541 0.000747506 -0.0107652 0.000748703 -0.0109805 0.000750202 -0.0112001 0.000751703 -0.0114241 0.000753359 -0.0116526 0.000755169 -0.0118856 0.000757135 -0.0121233 0.000759257 -0.0123658 0.000761694 -0.0126131 0.000764441 -0.0128654 0.000767505 -0.0131227 0.000770734 -0.0133851 0.000774597 -0.0136528 0.000778795 -0.0139259 0.000783638 -0.0142044 0.000789142 -0.0144885 0.000795324 -0.0147783 0.000802353 -0.0150738 0.00081042 -0.0153753 0.000819547 -0.0156828 0.000829941 -0.0159965 0.000841813 -0.0163164 0.000855473 -0.0166427 0.000871014 -0.0169756 0.000888789 -0.0173151 0.000909107 -0.0176614 0.000932127 -0.0180146 0.000958406 -0.0183749 0.000988548 -0.0187424 0.00102254 -0.0191173 0.0010613 -0.0194996 0.00110506 -0.0198896 0.00115477 -0.0202874 0.00121095 -0.0206931 0.00127458 -0.021107 0.00134665 -0.0215291 0.00142836 -0.0219597 0.00152125 -0.0223989 0.00162766 -0.0228469 0.00174971 -0.0233038 0.00189129 -0.0237699 0.00205574 -0.0242453 0.00224892 -0.0247302 0.00247677 -0.0252248 0.00274663 -0.0257293 0.00306511 -0.0262439 0.00343836 -0.0267688 0.00387215 -0.0273042 0.0043675 -0.0278502 0.00492096 -0.0284072 0.00552631 -0.0289754 0.00617204 -0.0295549 0.00684789 -0.030146 0.00753798 -0.0307489 0.00822131 -0.0313639 0.00885817 -0.0319912 0.0093825 -0.032631 0.0097206 -0.0332836 0.00983602 -0.0339493 0.00977132 -0.0346283 0.00965473 -0.0353208 0.00966053 -0.0360272 0.00992692 -0.0367478 0.0105282 -0.0374827 0.0114934 -0.0382324 0.0128994 -0.0389971 0.0149888 -0.039777 0.018245 -0.0405725 0.0233108 -0.041384 0.0307181 -0.0422117 0.0404856 -0.0430559 0.0516183 -0.043917 0.062029 -0.0447954 0.0686606 -0.0456913 0.0690741 -0.0466051 0.0656784 -0.0475372 0.0632671 -0.0484879 0.0610565 -0.0494577 0.0581479 -0.0504468 0.0565197 -0.0514558 0.055091 -0.0524849 0.0529042 -0.0535346 0.0530101 -0.0546053 0.0541406 -0.0556974 0.0566555 -0.0568113 0.0646358 -0.0579476 0.0771452 -0.0591065 0.106722 -0.0602886 0.157219 -0.0614944 0.21944 -0.0627243 0.259527 -0.0639788 0.232266 -0.0652584 0.179659 -0.0665635 0.151689 -0.0678948 0.157219 -0.0692527 0.16788 -0.0706378 0.184446 -0.0720505 0.2354 -0.0734915 0.368672 -0.0749614 0.338931 -0.0764606 0.23606 -0.0779898 0.26754 -0.0795496 0.623489 -0.0811406 0.622243 -0.0827634 0.321176 -0.0844187 0.400341 -0.086107 0.75813 -0.0878292 0.457524 -0.0895858 0.452519 -0.0913775 0.704967 -0.093205 0.726799 -0.0950691 1.04415 -0.0969705 1.29166 -0.0989099 0.495734 -0.100888 0.804695 -0.102906 1.53918 -0.104964 1.30726 -0.107063 1.29839 -0.109205 1.24125 -0.111389 1.07209 -0.113616 2.66521 -0.115889 1.39506 -0.118207 2.03795 -0.120571 1.98214 -0.122982 1.58257 -0.125442 4.14 -0.127951 1.92857 -0.13051 1.91014 -0.13312 4.97197 -0.135782 2.61818 -0.138498 3.34146 -0.141268 2.77122 -0.144093 4.28749 -0.146975 3.00235 -0.149914 4.75271 -0.152913 12.1059 -0.155971 4.98093 -0.15909 8.27007 -0.162272 5.90347 -0.165518 9.27441 -0.168828 8.68026 -0.172205 8.2091 -0.175649 11.6218 -0.179162 8.91427 -0.182745 6.99264 -0.1864 16.7332 -0.190128 16.4741 -0.19393 12.1131 -0.197809 29.3873 -0.201765 13.7481 -0.2058 11.0185 -0.209916 14.4257 -0.214115 16.2515 -0.218397 21.4757 -0.222765 22.0592 -0.22722 24.0765 -0.231765 35.6001 -0.2364 50.9983 -0.241128 22.9595 -0.245951 24.2165 -0.25087 36.0805 -0.255887 26.8227 -0.261005 28.2913 -0.266225 47.8265 -0.271549 74.1211 -0.27698 42.2104 -0.28252 52.995 -0.28817 83.6812 -0.293934 131.793 -0.299812 63.3652 -0.305809 108.695 -0.311925 66.0812 -0.318163 94.7961 -0.324526 89.9111 -0.331017 224.347 -0.337637 63.3779 -0.34439 105.969 -0.351278 178.14 -0.358303 154.648 -0.36547 108.804 -0.372779 169.926 -0.380235 178.389 -0.387839 135.508 -0.395596 222.293 -0.403508 299.704 -0.411578 480.848 -0.41981 282.135 -0.428206 469.067 -0.43677 446.813 -0.445505 183.75 -0.454415 792.486 -0.463504 618.839 -0.472774 455.567 -0.482229 330.996 -0.491874 407.334 -0.501711 858.155 -0.511746 580.761 -0.52198 542.684 -0.53242 640.117 -0.543069 936.447 -0.55393 813.362 -0.565008 935.885 -0.576309 2079.78 -0.587835 1004.36 -0.599592 1601.23 -0.611583 1961.47 -0.623815 804.787 -0.636291 1162.45 -0.649017 1793.7 -0.661997 2816.79 -0.675237 1809.2 -0.688742 2925.91 -0.702517 1615.7 -0.716567 2638.98 -0.730899 3235.28 -0.745517 2496.73 -0.760427 3300.65 -0.775636 4263.18 -0.791148 4112.42 -0.806971 7251.28 -0.823111 3188.38 -0.839573 6598.65 -0.856364 6023.43 -0.873492 5102.51 -0.890961 7571.44 -0.908781 6012.57 -0.926956 14241 -0.945495 5767.01 -0.964405 5863.53 -0.983693 9279.18 -1.00337 14145.9 -1.02343 8443.19 -1.0439 37005.6 -1.06478 11638.3 -1.08608 10619.4 -1.1078 10851.3 -1.12995 12302.5 -1.15255 14543.2 -1.1756 16638.2 -1.19912 17127.9 -1.2231 18491.7 -1.24756 21341.1 -1.27251 18812.5 -1.29796 20607 -1.32392 56076.4 -1.3504 32287.6 -1.37741 27084.5 -1.40496 61437.9 -1.43306 21720.1 -1.46172 33303.1 -1.49095 25107.2 -1.52077 35214.5 -1.55119 62754.5 -1.58221 51785.2 -1.61385 54082.4 -1.64613 69979.8 -1.67905 93460.7 -1.71263 75748.4 -1.74689 51826.7 -1.78182 105452 -1.81746 93460.7 -1.85381 154991 -1.89089 115441 -1.9287 101195 -1.96728 185395 -2.00662 154589 -2.04676 254658 -2.08769 201703 -2.12945 179555 -2.17203 203404 -2.21547 190260 -2.25978 124384 -2.30498 182744 -2.35108 356891 -2.3981 292629 -2.44606 254964 -2.49498 328725 -2.54488 346826 -2.59578 482541 -2.6477 909782 -2.70065 445928 -2.75466 488171 -2.80976 615024 -2.86595 1.24191e+06 -2.92327 700627 -2.98174 709087 -3.04137 754750 -3.1022 813943 -3.16424 822620 -3.22753 704702 -3.29208 1.3965e+06 -3.35792 1.56186e+06 -3.42508 857395 -3.49358 1.4213e+06 -3.56345 1.44683e+06 -3.63472 1.90981e+06 -3.70742 925939 -3.78156 1.17309e+06 -3.8572 1.73272e+06 -3.93434 3.01477e+06 -4.01303 2.90525e+06 -4.09329 1.62042e+06 -4.17515 2.59167e+06 -4.25866 4.54732e+06 -4.34383 1.95894e+06 -4.4307 2.7344e+06 -4.51932 3.8036e+06 -4.60971 3.47447e+06 -4.7019 5.81515e+06 -4.79594 5.08273e+06 -4.89186 9.67643e+06 -4.98969 3.77556e+06 -5.08949 7.89399e+06 -5.19128 4.24918e+06 -5.2951 8.27887e+06 -5.401 5.91251e+06 -5.50902 7.94149e+06 -5.61921 5.83145e+06 -5.73159 7.29575e+06 -5.84622 7.97491e+06 -5.96315 7.58442e+06 -6.08241 9.75804e+06 -6.20406 2.21216e+07 -6.32814 1.46236e+07 -6.4547 2.54692e+07 -6.58379 1.76834e+07 -6.71547 1.48209e+07 -6.84978 1.50479e+07 -6.98678 4.91566e+07 -7.12651 3.75916e+07 -7.26904 2.22859e+07 -7.41442 4.97999e+07 -7.56271 3.24791e+07 -7.71396 3.29701e+07 -7.86824 3.47983e+07 -8.02561 4.43139e+07 -8.18612 3.4611e+07 -8.34984 5.35291e+07 -8.51684 1.03417e+08 -8.68718 7.43311e+07 -8.86092 7.36206e+07 -9.03814 5.97838e+07 -9.2189 8.64222e+07 -9.40328 9.67915e+07 -9.59135 1.67803e+08 -9.78317 5.31874e+07 -9.97884 1.08481e+08 +0.001 1.6974e-11 +0.00102 1.6974e-11 +0.0010404 1.6974e-11 +0.00106121 1.6974e-11 +0.00108243 1.6974e-11 +0.00110408 1.6974e-11 +0.00112616 1.6974e-11 +0.00114869 1.6974e-11 +0.00117166 1.6974e-11 +0.00119509 1.6974e-11 +0.00121899 1.6974e-11 +0.00124337 1.6974e-11 +0.00126824 1.6974e-11 +0.00129361 1.6974e-11 +0.00131948 1.6974e-11 +0.00134587 1.6974e-11 +0.00137279 1.6974e-11 +0.00140024 1.6974e-11 +0.00142825 1.6974e-11 +0.00145681 1.6974e-11 +0.00148595 1.6974e-11 +0.00151567 1.6974e-11 +0.00154598 1.6974e-11 +0.0015769 1.6974e-11 +0.00160844 1.6974e-11 +0.00164061 1.6974e-11 +0.00167342 1.6974e-11 +0.00170689 1.6974e-11 +0.00174102 1.6974e-11 +0.00177584 1.6974e-11 +0.00181136 1.6974e-11 +0.00184759 1.69748e-11 +0.00188454 1.69748e-11 +0.00192223 1.69748e-11 +0.00196068 1.69748e-11 +0.00199989 1.69748e-11 +0.00203989 1.69748e-11 +0.00208069 1.69748e-11 +0.0021223 1.69748e-11 +0.00216474 1.69748e-11 +0.00220804 1.69748e-11 +0.0022522 1.69748e-11 +0.00229724 1.69748e-11 +0.00234319 1.69757e-11 +0.00239005 1.69757e-11 +0.00243785 1.69757e-11 +0.00248661 1.69757e-11 +0.00253634 1.69757e-11 +0.00258707 1.69757e-11 +0.00263881 1.69765e-11 +0.00269159 1.69765e-11 +0.00274542 1.69765e-11 +0.00280033 1.69765e-11 +0.00285633 1.69774e-11 +0.00291346 1.69774e-11 +0.00297173 1.69774e-11 +0.00303117 1.69782e-11 +0.00309179 1.69782e-11 +0.00315362 1.69782e-11 +0.0032167 1.69791e-11 +0.00328103 1.69791e-11 +0.00334665 1.69799e-11 +0.00341358 1.69808e-11 +0.00348186 1.69808e-11 +0.00355149 1.69816e-11 +0.00362252 1.69825e-11 +0.00369497 1.69825e-11 +0.00376887 1.69833e-11 +0.00384425 1.69842e-11 +0.00392114 1.6985e-11 +0.00399956 1.69859e-11 +0.00407955 1.69876e-11 +0.00416114 1.69884e-11 +0.00424436 1.69893e-11 +0.00432925 1.6991e-11 +0.00441584 1.69927e-11 +0.00450415 1.69935e-11 +0.00459424 1.69952e-11 +0.00468612 1.69969e-11 +0.00477984 1.69995e-11 +0.00487544 1.70012e-11 +0.00497295 1.70037e-11 +0.00507241 1.70063e-11 +0.00517386 1.70088e-11 +0.00527733 1.70114e-11 +0.00538288 1.70148e-11 +0.00549054 1.70182e-11 +0.00560035 1.70216e-11 +0.00571235 1.70258e-11 +0.0058266 1.70301e-11 +0.00594313 1.70344e-11 +0.006062 1.70395e-11 +0.00618324 1.7045e-11 +0.0063069 1.7051e-11 +0.00643304 1.70578e-11 +0.0065617 1.70646e-11 +0.00669293 1.70723e-11 +0.00682679 1.70808e-11 +0.00696333 1.70894e-11 +0.00710259 1.70988e-11 +0.00724465 1.7109e-11 +0.00738954 1.71202e-11 +0.00753733 1.71322e-11 +0.00768808 1.7145e-11 +0.00784184 1.71587e-11 +0.00799867 1.71742e-11 +0.00815865 1.71896e-11 +0.00832182 1.72068e-11 +0.00848826 1.72258e-11 +0.00865802 1.72456e-11 +0.00883118 1.72663e-11 +0.00900781 1.72896e-11 +0.00918796 1.7313e-11 +0.00937172 1.7339e-11 +0.00955916 1.73668e-11 +0.00975034 1.73955e-11 +0.00994535 1.74259e-11 +0.0101443 1.74591e-11 +0.0103471 1.7494e-11 +0.0105541 1.75308e-11 +0.0107652 1.75694e-11 +0.0109805 1.76099e-11 +0.0112001 1.76531e-11 +0.0114241 1.76989e-11 +0.0116526 1.77459e-11 +0.0118856 1.77956e-11 +0.0121233 1.78482e-11 +0.0123658 1.79018e-11 +0.0126131 1.79583e-11 +0.0128654 1.80168e-11 +0.0131227 1.80773e-11 +0.0133851 1.81407e-11 +0.0136528 1.82061e-11 +0.0139259 1.82727e-11 +0.0142044 1.83422e-11 +0.0144885 1.84139e-11 +0.0147783 1.84877e-11 +0.0150738 1.85641e-11 +0.0153753 1.86423e-11 +0.0156828 1.87226e-11 +0.0159965 1.88052e-11 +0.0163164 1.889e-11 +0.0166427 1.89762e-11 +0.0169756 1.90637e-11 +0.0173151 1.91526e-11 +0.0176614 1.92428e-11 +0.0180146 1.93335e-11 +0.0183749 1.94241e-11 +0.0187424 1.95146e-11 +0.0191173 1.96075e-11 +0.0194996 1.97039e-11 +0.0198896 1.98056e-11 +0.0202874 1.99168e-11 +0.0206931 2.00417e-11 +0.021107 2.01866e-11 +0.0215291 2.03564e-11 +0.0219597 2.05569e-11 +0.0223989 2.07926e-11 +0.0228469 2.10645e-11 +0.0233038 2.13765e-11 +0.0237699 2.17267e-11 +0.0242453 2.21175e-11 +0.0247302 2.25452e-11 +0.0252248 2.30134e-11 +0.0257293 2.352e-11 +0.0262439 2.40661e-11 +0.0267688 2.46501e-11 +0.0273042 2.52702e-11 +0.0278502 2.59243e-11 +0.0284072 2.66145e-11 +0.0289754 2.73334e-11 +0.0295549 2.8064e-11 +0.030146 2.87638e-11 +0.0307489 2.93801e-11 +0.0313639 2.98852e-11 +0.0319912 3.03096e-11 +0.032631 3.0737e-11 +0.0332836 3.12664e-11 +0.0339493 3.19763e-11 +0.0346283 3.29165e-11 +0.0353208 3.40789e-11 +0.0360272 3.53624e-11 +0.0367478 3.66478e-11 +0.0374827 3.79353e-11 +0.0382324 3.92504e-11 +0.0389971 4.04317e-11 +0.039777 4.14067e-11 +0.0405725 4.25524e-11 +0.041384 4.45057e-11 +0.0422117 4.7482e-11 +0.0430559 5.03966e-11 +0.043917 5.20043e-11 +0.0447954 5.2489e-11 +0.0456913 5.16829e-11 +0.0466051 4.93521e-11 +0.0475372 4.70895e-11 +0.0484879 4.61869e-11 +0.0494577 4.65626e-11 +0.0504468 4.73492e-11 +0.0514558 4.83167e-11 +0.0524849 4.9913e-11 +0.0535346 5.2286e-11 +0.0546053 5.51681e-11 +0.0556974 5.72506e-11 +0.0568113 5.73051e-11 +0.0579476 5.76745e-11 +0.0591065 6.00009e-11 +0.0602886 6.18068e-11 +0.0614944 6.22675e-11 +0.0627243 6.36209e-11 +0.0639788 6.93456e-11 +0.0652584 7.16109e-11 +0.0665635 6.92763e-11 +0.0678948 7.09799e-11 +0.0692527 6.89135e-11 +0.0706378 6.57606e-11 +0.0720505 6.97316e-11 +0.0734915 7.65451e-11 +0.0749614 7.49655e-11 +0.0764606 7.67598e-11 +0.0779898 8.03435e-11 +0.0795496 8.98253e-11 +0.0811406 8.42917e-11 +0.0827634 8.14947e-11 +0.0844187 8.42243e-11 +0.086107 9.45045e-11 +0.0878292 8.34369e-11 +0.0895858 8.65772e-11 +0.0913775 9.86351e-11 +0.093205 1.00446e-10 +0.0950691 9.70402e-11 +0.0969705 1.02938e-10 +0.0989099 9.27395e-11 +0.100888 1.00381e-10 +0.102906 1.07738e-10 +0.104964 1.1164e-10 +0.107063 1.11981e-10 +0.109205 1.03645e-10 +0.111389 1.149e-10 +0.113616 1.18601e-10 +0.115889 1.08723e-10 +0.118207 1.27045e-10 +0.120571 1.17509e-10 +0.122982 1.16392e-10 +0.125442 1.449e-10 +0.127951 1.25291e-10 +0.13051 1.33162e-10 +0.13312 1.38082e-10 +0.135782 1.41062e-10 +0.138498 1.31528e-10 +0.141268 1.58389e-10 +0.144093 1.35067e-10 +0.146975 1.50803e-10 +0.149914 1.45794e-10 +0.152913 1.69395e-10 +0.155971 1.59678e-10 +0.15909 1.77206e-10 +0.162272 1.67133e-10 +0.165518 1.63962e-10 +0.168828 1.83134e-10 +0.172205 1.74598e-10 +0.175649 1.90632e-10 +0.179162 1.80696e-10 +0.182745 1.66732e-10 +0.1864 2.0039e-10 +0.190128 1.87718e-10 +0.19393 1.87025e-10 +0.197809 2.14928e-10 +0.201765 1.92115e-10 +0.2058 1.91348e-10 +0.209916 1.92842e-10 +0.214115 1.94479e-10 +0.218397 2.19374e-10 +0.222765 2.31704e-10 +0.22722 2.39812e-10 +0.231765 2.46499e-10 +0.2364 2.66725e-10 +0.241128 2.23963e-10 +0.245951 2.38675e-10 +0.25087 2.50093e-10 +0.255887 2.65023e-10 +0.261005 2.61914e-10 +0.266225 2.59042e-10 +0.271549 3.06809e-10 +0.27698 2.53012e-10 +0.28252 2.76082e-10 +0.28817 2.85557e-10 +0.293934 3.21422e-10 +0.299812 3.18399e-10 +0.305809 3.17969e-10 +0.311925 3.13752e-10 +0.318163 3.23519e-10 +0.324526 3.36392e-10 +0.331017 3.58028e-10 +0.337637 3.22437e-10 +0.34439 3.36294e-10 +0.351278 3.43807e-10 +0.358303 3.86766e-10 +0.36547 3.61988e-10 +0.372779 3.72315e-10 +0.380235 3.55512e-10 +0.387839 3.77394e-10 +0.395596 4.09144e-10 +0.403508 4.10948e-10 +0.411578 4.47926e-10 +0.41981 4.18602e-10 +0.428206 4.49205e-10 +0.43677 5.18576e-10 +0.445505 4.22862e-10 +0.454415 5.38677e-10 +0.463504 4.69636e-10 +0.472774 4.99812e-10 +0.482229 4.95544e-10 +0.491874 4.5725e-10 +0.501711 5.27692e-10 +0.511746 5.1977e-10 +0.52198 5.2619e-10 +0.53242 5.33903e-10 +0.543069 5.87392e-10 +0.55393 5.88981e-10 +0.565008 6.32102e-10 +0.576309 6.34445e-10 +0.587835 6.158e-10 +0.599592 7.12341e-10 +0.611583 6.52056e-10 +0.623815 5.81692e-10 +0.636291 6.64298e-10 +0.649017 6.56702e-10 +0.661997 7.52453e-10 +0.675237 6.835e-10 +0.688742 7.70193e-10 +0.702517 6.54505e-10 +0.716567 7.76904e-10 +0.730899 7.75895e-10 +0.745517 7.14374e-10 +0.760427 7.60168e-10 +0.775636 8.52134e-10 +0.791148 9.28903e-10 +0.806971 9.35428e-10 +0.823111 8.82777e-10 +0.839573 9.39554e-10 +0.856364 9.28113e-10 +0.873492 9.15232e-10 +0.890961 9.62034e-10 +0.908781 9.38568e-10 +0.926956 9.75404e-10 +0.945495 1.08032e-09 +0.964405 9.03365e-10 +0.983693 1.04598e-09 +1.00337 1.12602e-09 +1.02343 1.0716e-09 +1.0439 1.30444e-09 +1.06478 9.80931e-10 +1.08608 1.0557e-09 +1.1078 1.13539e-09 +1.12995 1.12135e-09 +1.15255 1.167e-09 +1.1756 1.13784e-09 +1.19912 1.20788e-09 +1.2231 1.21078e-09 +1.24756 1.26737e-09 +1.27251 1.20522e-09 +1.29796 1.23703e-09 +1.32392 1.61641e-09 +1.3504 1.33827e-09 +1.37741 1.34786e-09 +1.40496 1.50025e-09 +1.43306 1.36844e-09 +1.46172 1.31847e-09 +1.49095 1.4207e-09 +1.52077 1.4636e-09 +1.55119 1.53731e-09 +1.58221 1.4754e-09 +1.61385 1.53677e-09 +1.64613 1.59881e-09 +1.67905 1.81089e-09 +1.71263 1.63854e-09 +1.74689 1.67512e-09 +1.78182 1.86516e-09 +1.81746 1.75701e-09 +1.85381 1.98267e-09 +1.89089 2.05305e-09 +1.9287 1.97871e-09 +1.96728 2.03353e-09 +2.00662 2.05531e-09 +2.04676 2.43187e-09 +2.08769 2.01783e-09 +2.12945 2.24316e-09 +2.17203 2.16194e-09 +2.21547 2.23577e-09 +2.25978 2.09573e-09 +2.30498 2.33388e-09 +2.35108 2.38968e-09 +2.3981 2.47209e-09 +2.44606 2.20005e-09 +2.49498 2.60914e-09 +2.54488 2.44076e-09 +2.59578 2.48504e-09 +2.6477 2.77186e-09 +2.70065 2.80224e-09 +2.75466 2.8309e-09 +2.80976 3.05179e-09 +2.86595 3.33194e-09 +2.92327 2.97123e-09 +2.98174 2.97479e-09 +3.04137 2.82581e-09 +3.1022 3.0062e-09 +3.16424 2.9297e-09 +3.22753 3.08154e-09 +3.29208 3.64485e-09 +3.35792 3.51982e-09 +3.42508 3.08625e-09 +3.49358 3.92549e-09 +3.56345 3.5481e-09 +3.63472 3.6516e-09 +3.70742 3.53182e-09 +3.78156 3.49658e-09 +3.8572 3.9917e-09 +3.93434 4.20426e-09 +4.01303 4.2847e-09 +4.09329 4.24079e-09 +4.17515 4.44789e-09 +4.25866 4.69585e-09 +4.34383 4.11863e-09 +4.4307 4.43235e-09 +4.51932 4.28706e-09 +4.60971 4.72907e-09 +4.7019 4.84456e-09 +4.79594 4.94615e-09 +4.89186 5.31306e-09 +4.98969 4.56297e-09 +5.08949 5.34156e-09 +5.19128 5.16776e-09 +5.2951 5.20107e-09 +5.401 5.64286e-09 +5.50902 5.33276e-09 +5.61921 5.29741e-09 +5.73159 6.32402e-09 +5.84622 5.53872e-09 +5.96315 5.57346e-09 +6.08241 5.91814e-09 +6.20406 6.79597e-09 +6.32814 7.18583e-09 +6.4547 7.09053e-09 +6.58379 7.75615e-09 +6.71547 6.73743e-09 +6.84978 6.25952e-09 +6.98678 7.58174e-09 +7.12651 7.60643e-09 +7.26904 7.24138e-09 +7.41442 8.11786e-09 +7.56271 7.39748e-09 +7.71396 7.61207e-09 +7.86824 7.87142e-09 +8.02561 8.48667e-09 +8.18612 7.79815e-09 +8.34984 8.20767e-09 +8.51684 9.91013e-09 +8.68718 9.33458e-09 +8.86092 1.01379e-08 +9.03814 9.12093e-09 +9.2189 1.0435e-08 +9.40328 9.1488e-09 +9.59135 1.05467e-08 +9.78317 8.90826e-09 +9.97884 9.72894e-09 diff --git a/examples/03.IAXO/limits/IAXO.gp b/examples/03.IAXO/limits/IAXO.gp index 8c1b8897..47804c8e 100644 --- a/examples/03.IAXO/limits/IAXO.gp +++ b/examples/03.IAXO/limits/IAXO.gp @@ -182,5 +182,5 @@ I = {0.0, 1.0} VoxelDistance = 0.0 GridDistance = 0.0 ## Last datafile plotted: "IAXOPlus_Combined.csv" -plot [0.001:10][:] 3.755*x title "KSVZ" w l lw 3, "BabyIAXO_Combined.csv" using ($1):(sqrt(sqrt($2))) title "BabyIAXO" w l lw 2, "IAXO_Combined.csv" using ($1):(sqrt(sqrt($2))) title "IAXO" w l lw 2, "IAXOPlus_Combined.csv" using ($1):(sqrt(sqrt($2))) title "IAXO+" w l lw 2 +plot [0.001:10][:] 3.755*x title "KSVZ" w l lw 3, "BabyIAXO_Combined.csv" using ($1):(1e10*$2) title "BabyIAXO" w l lw 2, "IAXO_Combined.csv" using ($1):(1e10*$2) title "IAXO" w l lw 2, "IAXOPlus_Combined.csv" using ($1):(1e10*$2) title "IAXO+" w l lw 2 # EOF diff --git a/examples/03.IAXO/limits/IAXO.png b/examples/03.IAXO/limits/IAXO.png index 0bb92849aed7aa484b360ae3142473d283192aa6..965570ed67523482111cb556e4eeab5f36d57421 100644 GIT binary patch literal 44981 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%0Dl1h`Pz1t`?z}lV!@9b2S-&+Et_6T zMMd-p{1oLE_IJO6!1^$^Tn79!3?t=L#~$eKPvx@HH#A%fKtR(zQh$UZLis-#ewmVA zQ$aYa_a*s(bp|<7Ax+?JK=5G~>@a`?Dapwd6&315n!>pwk|4SBn6&xB#Ky+Hef#$J zM+`PDu8BXnvI$f;sLf4H+s&%`0Hz-9?{p4gAGsEbY+FORBHbAk2<~RbweIeimq_RY zhxa!JwA9qS$vjcIu}>iq5|aKjK?O_&sv+~LPoF-?C2@{<-Fu&`%R!TkZg$N(14&$1 z*ernY$(7+dqcJct0=Rc^a44^;8g!|Qv?%`+5376bCMvGHat zCio@o(V1j_TDe5A48=|6y1F{=(;-O?4vtcRoj3zut@8KcDuSKAeu?lpo^7k41}|@J z=8^6WWg>lPZ}59)akU@%A@2N!pNR<*%2M8H@;LGK_GWzbil2`U{OkxLJX!o1NTY^G z8Kl^F$VqD$BaHx|;WO#h*)N3=vaLE^fvNoc>zDR&U?)!*`+FlJ7z!>f4T>k`0j+oE zNz&PguZ=#gH+yMoPlMIEo%cEjC+5P0z;+rh(JNG>d!&myrLEUjS1+ik0n6m`Ixm{q z0mGFVaE=#j*mFO7kG}FZeC6aSQLkEiZ*5IHbEq?vvU+8@F(V^muEE7?E8{`=AaK>O z9$bNeaM12#xoG3+gn=Ihq*H7Af_c7BgPAEVDJ4bjiI|88ECfPCiz?E*n_0h!0HUIz zB2vKsT(cMj-ze{7`a2G4w%@}&;AIsR&mcgd!F~3Ymw%a7!ok7<(p;d&Eg&%8)AQx` z5;_^*<>}T4ROYlHkA;P`htx^TWqW#f*xA=td?CEipYjrLu2$dX!ortRIOCr}LmeC) zwaW~JEiAUq_hw4<8qWdCh*T(0NahyK99mvpp0uvXxm|Am0#46m+pRa&bX=!OOo;f`k5L^JM1^^FWY6>ZDIE?84VErEJUj%Q&=Dlc zn3o!OczBjMD~tBrIyKgWeC~&rM=JnxJWn?>5=vM(IL1Kkote?OQD!HyxjbB|wVmtk z?sjx?^4jt_<89_CzqEMXTE32Jx##GyDckJL4gg#4zkvPS7Nu^k*55#m;t4!pfk;R* zlauc5?vvBg-xWMz+Q!CQIwDAsFiAAa-?s;&;S-=EP7NdYCnhEu_+FVTwD=HnTGzQB zQ3Z==RhdU7CFv+Ce#;4TmY45O;dP^tOH@6;7N;5lnn>Vs5f1MQE+JvQdLb4Gce)cO+#T4!kM=$M(9 z%z+68JfPz%`G!6Bg5Lu_^texpiexFC03rrr>lgO0t{yrHoF|S!a$sTKUb@l4U;^J5J zlyN;V(l0`OTWI>R(&2r1*g-7E_zZO2kj^~p`pK2UzY7Hg1&fRi@QjQ0FZf+C_n0Ky zgBhYo`1o;T{GRB9tnd&!e?m%1O7#S{r4-m-9P^HEiR502Nghbyey4YQF^-2O;JDq ztO`JXQBkl%0c9c=@UF|tqvPSJ2XFED^XD)4%&`9D<*$?aOe?31kzUGaFy^biG3mw; zNHfsYB_SlNHycP*$(4@`frW(y$%ui0VOx)lo<6k8`1LZo^|~R#U8V)UJsb5vEg-C{sY345MAPn&&$V6wfM>piSY^Yc##$y1mxcKSRu$y zjCfYP@vng_!$CCxcxKJ1Llaf3SuS#uz!ue&%x*CZAX!#cw#IHjA0$(|dA{Sp&dBHW zy8Gbc0C>SaZTsk2TNmZ$Z~4Q(RRsd65A-~ss_?=^T9u|CHjPK7hKC)&y~zPb0?E>C zf0hTl8h|V7>8gByHSgZNTVG!Xkj3kLSr!t~k;?C-eQqTJ;OBbYouWdZ*^?>)NE54t z{P6I;vUk6~M@4mI0y6S~jV`JyEF$9k_?QTgS>Y#l*Jo(x=(+$fc*rJ(h8#w6w?)D0({!@h*I?9Y>Q80db)r6`z`go37~UJi;8w<>)CjuP(WHEj*fr4 z>dXen$iBJ(NtBa1--2!bvJ}btXt^CQBD?t}kEsfi1)mGO9dA1D1~sx9vZt}FaJKqj zl^Z=y)*mH)q{^E|qvy?U_*wX~^(ruXLCzmb34jwq$=?P)iw82cl|pJT&`EoND0PIg ziR@kfD=CY}2WA7r#=`rO-JDJdF=|(RlF#jEZ-?<$Wk}(&Oa1!wE3k(`LPD~$*WzCr z>Aw+tBns!4*!FCS`KpN?S#MWoqd)?L{UC&WyH~rQ$}k49Gdusl$ndc5{nf_ByqDc< zodfg)53j~`Pdiwo989u--`&{205c^eCCCXtTNS%=J+cWnn#J{8MLJBIp7j7>Ui1p@nRjAMWD~XzirLdpMU`I18VRw&jSJW1@F}} zWO(jXFvar%@%~8*fERc7^nlPg*xoMC`uG6{8+&DSwaV~k00>H;@eLYX_j1#GsnS%_ zxE%r{GTYnREe234+>e&q+S*2P6>4{urosCW{dyN#DD2|Wghgz@}LZ1wpZ-`N+dhsWMu5-itg^0Krn%Mjv(dj z?4rR%ecUNNK0d_y-_Ub%a%$x7z{*!goX^4HA;ZIdprE0l0eTk9-*pKl)CQtSoJt8O za_I8vs=l$YpCHa-{kD?gHP}R)B2hlhJ;HmuFeg{ujyxiy zu_BfzxVX6Z%=++7Dl7ze_^j+~ zHC5HoMpI?wXHi|JM@JUTGmq338IZJ9#~`3Y>*PYeens*J;7#gB$;%7!q!nP`#vg!2 zIz2r-+nLbO(z2N>``O!T4KnT6*cim(eQ6&m#_F&vR;^uJzgS~41C-Be_d`R(z>GNF zM|2Wlf#J%XoYVwfB9QpzNYAOLI+2C|716FV?E`QOI59i~RKU)7vDf|W6@We%!{tAr zfJLl?6VanU)Be+-bQ`IAg-~RU^@PJ*5I-OM2d#G`gtGMg7-!ff+edq z2BdCqwOE0qmWS{T4(zMaMuNLXZ@#;iUX@IW#68p7H}1GxmO4|rrg1~rh1q1~BU1#D+Gw+G<302iy#_s&z!eyl(ZFcLu9 zg6r$AKso{LUUFh05y;y>T7f;k(CBsmW^Ss%#mZ_P6O6X`w?kXF<7#K*;o+gvMn52` z-@=l4-E2VstE;O6*A^&eU`HD3(nJAc8W#tL&-Zq+zn|&l%R=z$KY#uNRIVUDA5iOO zsKLM-2HA(Y2OteCH+Ou`nyH!Di925(Ew~kMkDd3XacMKe{sZ4ZuMA1s|NbQ+CI%W0 za5&KrOp9fZiosTSU+xYvG{oYxE{hsm;dA2()j6z405b$|a}MAr12hC;T18FGWpA2e zZzqk%i3U8)+cNwgv|~GLiZH~`P*aDI@UU`oPmYaoaB{i=S0^zOxD$7$BMP-ZSX)n) z0TETCUEST@jsOAC4hLmQgcrC~1GesSG3S<_pAU5FNCqpe*>%?!Y?syquC^*n4q`_w zW^(YHy_9>Mw*S-%nE9!rx&S57sTT+bNj(&>VGLGiH3O6-2-!@N`8<^Aa9npM9RNBcR!#?ikOXFn z`5*=KDJ%@I0WDqKS>SdS(zm@Y@5HFqmIE5jrd+evn04#)dVwcg!l+#HStvXNo+>8b zN)z`aA|hgcFar*PM?kpKxFMKH2XR4GEdkr#*$FHozso~P$Q-Y+xS)WD!!lYr8!*TB zl~aZ4#i&?Vz#Kc6EPoEk0)GIIFQ6TX-#BlApK**@@2#wOeXdW{^Y*Mz-~)gY1Q7rN zN^=SHkOl1`U`HQj=@=RLJdRfZlf{C7SwbtH+}YIyytvU8Lw$XH7nkbRRzV2RCi>^k z;h@fb2S5Na73m-rpKIqiGDScDER`&wdU=H?o!h6*Ha0fE*9EER+@2J=yt`Ncfetoo z14wCht#__~Ede14)E4v&c<|)p3%LquAcrcX@?8Nh4-`WRHA-!_3OI)&pG!ji5}D-& z(4z>F{7M#y0BSi$JvW8O|!p#EmsZ*U?amrgV{3pkd(A^ftzr}fv%7c^yst~ z0!FGW=c@;t?$wfWs*jIB9T0td>lG8MfDz3VzE=AZHPO@a3#}pG%)7hE-@pIxXp)td zm*?c*Na3_0swXBS+}hlXPfkXMK)zKi90M$l7AvwH6jx@X;ugWiPKb|}qW-?Z{4Lyz z)uh|Ff?g%((7g%Ndy*0oY{0u-oos-BMeqmIGBG~BH-U|omsiKB8h}$@Du2?z20$Af z12@2*^77@^1u<`(njgxmanS=HLuCuOW)bje0%?9Le=%rjb3Kp#Q~0U4LWbCh`T&Dr zW5b3z&C2u|UB_@}W+IGrTfvS1F$(B$RmcWV2JT*7Q7Z4nB_#!YZ`}bA9v>fvo)8l9 z0OSE`?hd>TfCx~h63JkprZxt259lkfE;}=|rHXW6U%%4!Jg)4GH1)5qC8KhIblFeX zVVkbh<(j3yi=hVp*ow>&ej=u>9t(fOUr^B7GmYM0_y`P z+G}QZ?}i!OPW*D{2|0PGdLhVK+qfWJJNx@1!o&5dEyn=G2HtEDPZhA}$-Z&{T^TAi z-0JrL=9!0^+ZqtL+sh+B-<|F4Cjpvx9W-kk1Ylxf0^4}WvHq2_Bv@eQn$_D3)CA2+ zD+;v{I=TMbYeJ+V^+H@!gs84j%c;0>B#uWs8D$k0~06v`3Fvq*;`clXI2VP+9EXWn;4kGEGx+GbmOVT!%J;bUIe3 zQ8@?f*^G4x6?!(S?$R$ZFl|cGJ?{!3|Cbs&_VjnuhD70jzeJ~{m6G=M^ss@8gTuwe z1vgYoO-&8(q}7bsSzXB9$*Itd^uMNuPWE_T*We%v9i7yFOf&drF;uIgcJymkkWi)~ zR>U3a=D-q%$xlMs;Apd;*)F79R)JAMD(@RzE>*ZUQJEAi$h` z8ffKCQIIEqzBxZXuc@iQC>3oQwB!I2e=1KOiQGtPP`h=+0WA&^idyr-EIJLO3bpNS z=+1<(CQ8SVWYyNE1GNQ`;XEM4pa9B75Qh6w{n7s@RpRI8-{?(vWF|npJtkrRF@OpK zY#8@_DQnsKHT{uTa+swF*6V0-59BhZT$he-C01qiCOSfs<5t%3KD17pT(vdb^WPMX zegu8|INy93XB*x&F4JawJxZ;_nbZs(3~nA-i0HC4Yy#E{c#*3^FJxj@H#QCcO9G$? zA_TApQdVQBLN#237Ez4PY*k$wvvdX=yLP7 z*k`R|_8{j-XIpYB5R`1&?a!ejdkcUb9$!+ z8S_`S{MmG1+6G2xz^e!JH4Avh5`L*XJkMXdU_Luo^mOP9^Q5Ku$9{o*3m{{sEIr~r z?s*XxktT6m&kI^}Zv^khI+T}%4Bu1LmJtPIra>n16Pte2GlJjPv~M*0$G(5VqnE zb_Yk7TdhKjR1h?HH-N$G36cl?fO1GS4nzS8U*Mvr-_rZnhoET0D9_(`y6>@9qLw{8 z9f|J>vQ&``-!lQ~F5f>>`PuCTfZZ<;AHZS!@>TYR6{125Z%mJy7i zG?w<6v1(l8%u4cYZXFUvnL{SDHrl4Z#n+%rgB$K}I=0tsH;Gc{Lu=S3ulXq9=pvC{ z8o#$|8B=)|Y<26%%H2V0Y%?e&mmr`n?^C4Diej|#j+SvZ2&m;e`4%Zd8$dwcg>AKpnJB z*7l;(HJejYN&jHl4fd}-u;Wi7UPg_x=ASx*J{00VG~@p6QNj>Td7hJMzNJ(c&BbR>t5pJF;EmV)6QC^*U!dFqsj+6E8N z5e}dizFHe&p!s?}ja^-R03Y_{HAT?i%#x-)QT>q__+eREb5E*U@4TJ{ms920d@n91 zG#fRI=J71Jf$6>e4_EJH1b7EWV|`8Kk#Tj)g~#?D@bNktm<_@1;^N^yeuw1lR1ZVk zW`6u*I|jau8cu6hf)6C{a>a&fc}~a>L{!)n?)Yzmo-$VE-1@3L4U|@Sx(#+YWY}pK z?sR;x@YAKqsqMS}&+B6S7}@3vrQ#PM1t~tSN~ESR_Gyl@iulKjnZf^u)xj0xk zTQ>fS;9qU=cC`k7p`bPp^#G?6+Bg;NDzUIM$DCSeEps_#>)aVA-qpDQ&8CuVtnUAj6-W)VX!6Mh-u2 zcM$PyP{>Z?a(&78(3(~2bbq`_dCrsYipK52B-9@b=fzT!=;~!i=WGhDRD3G&yGJ+M+xdiUQGG;H=k#?aRE<`+G>IjTPa*ZF7td4t9jGwDobaNGjgd*Ja}y`r&GS|y)$1ju z*S$+9ZSrJ3CO7=KzHP->NEO-rT{Nl?IXDsWFC5733a(h{CmA=I+9shSP$Ipjt+-PW z!7iNgo*p$D{d~VWl&Z_H_o5n*LU74ROMBu!7Dh8_jOH?1|46t0E?EA#QFCy>YjId_ z0}ak}Z&|*r!CLV2+x!!v)*dN;KmFxpRRwqs@xeHH8Q11~M#-30vlJpUftp=I`)7HH z#5J`0JU$)+rxgJYW+AciQjSb_)cs!&H0M7HEz_h5^NE$-SMUA8jY^)=*n8U#L=G%$HQG4ak3BKxExIvEr4q{57QXX%v zI19~ZLNn3P`^Kl)?e=bHov9+LrJ_YGPJ-TwwNElfIj>hE#){-0YB-l49jQT@$(}W> z;lzXqJ0otfZsgGAPrq~ls~mAUjRBd0qS!)wmkl#DdYCq|w=UgWf1M+zeOo(sV~eoA zj2kt-DkPqXmh(FELkp6o>ElI&j(?q?S26_@rV-S68!z(dZ#4WTS!jZde6EXKq4!d? zvvbjno)%_NG_J%dKw`7f5u!pkTInkgvKlwnU?SxC{-Pwd5N5F>2^KO$9WB}!Cc`#n zCye)~40v$1_iin(w9K<)?ZgltgFA{UuGla$85pP_l^`A|tYe4C_^xO!mqdW}Z?{O) z>nF~ftp44{JLmd1pp5+|-?f#sUO2T6~q#UBqp@;s$%KMju;WSgwI9+6vfi9)bAxcRa@sd5Eu z|597&(;LP!!*e}>5eTx4UE|MVct1ig=9vFF(58F&8=DS7B9{k$%X-l}&%IEyht+9? zftY-K^uFo_YL4a?etZiAkStns^SGwl{jZ|8Jr~`m%%ii3nFS?QFi}%+-K;7-43IxX z-avMQY|moOIN`q`YEb&e$5$!vE_*rmF$_X24<|fs&qS_Dccw=mAIZv6PZ}*c}&e~tg z0Ikyvg8?mEafuYyDf8aN>>C@lznd>(7jlvZ1uQ!av%})~55^rF)i)^6c%j2}ovqvw zNSZ@9Q<-U18Z!KZd-KaF|2KKHg5Ya-|F$h$M#`nT{I|8@cppg#p>$EK*IGj_#Mk%> zK5$G}#UA#HKrF`ZY2|2U}o1sA+XJrRVyMuGNflU^ClUnvn5YC;4u&4UN z`(u9E*0&zj9FzRA z^Zm#k$$+fVf83Njqp zjM8hk$0K1_>@Hy&P6--62I(`p6+)S&_Aqhe<)-&b@Y9+&Z~oo1)=8`aUSRK)GMMwRtKs{6&4Bz zsB+2lijBqij%f_9vZDdu51e^3teo}DPu~cR320LKR*V_9y+utCU774oO@o0(gw3=# z;l_raO`TLiZ7dip+cg2*thp!6I=lUkglLdAN1gIZPm2!KQ_QVRp6%rWgddiyw%yB< z_F-o_T*{GB)qBEyhDZ@{T61U<4EYVx*9u?DA|zk*^9EV7Y1dYhdYi@%V(3rpj)};x z7Zr6e@-AaSu|`g~xNdapa5-woP%wT|HT(QihyYKRF-aIS!u{j$8E!JCb52%dG%#&H zc+IL-YDmbkw<_OO1*uFeOX7Z(#2rh!B8q&Ph+4Ph_?tv+=>`!pjA1x94>W0;SeIS- zo1;&m8l){u7d-uXX)hQ8{&M!CTn7^171HZll!@$b}3ysbZ0u=PNm` z#u^8m^cq-@KVe}4FJZGty_m_boFO{!=T2~m>zltFdFsp0K;^J#KzfdA z9D;;Hx+(BRzFl9T(2DNltd$mI9StXoo&|h2yMg>ocr~%#@rIf5hK+BfCKe4n@B)!w z`QU1NtM@7nQRmGp84nU9tCbweq-TqnhWmc6iNW4|XEZ~s=z3YX{a0ZORCXM@s1)pd zwrANlL={<}m^I8a(5C`H!KkU&msXw$x17^I@~7eyKNFc6Jd5e#vQL>^^)knt{5Lf5 zVAXC6%*p&kPc3yptb2QQGW*E`155r z-p5EoWlaol2ujmmF`!w#m>F(;!|3eL4J*?zMH!i%uSjL2e+k?SN=f7JX)SA}B8;-? zQLG!E4mV{2BuNl8Nn}63;C%L&dpyxVwpo6Sv0MKj8z}`n^|-<+S03uAy%x1yn)5L3KbH}}CQP!@t4jAJ>5m$@zr@gh^Se?kz;>hyoP+JxmTEW0U ztUbSXe8kCMi?O8Lnck{>nG8Y#7p=bsXS~6-6kP%o%<`+Qi3?3`6aRSArcIQJ&X$)m z29!*|awc>>htP5d7f~Ejs0OuVu(_T^WGSCcO)=!=*rx9d75T+_TvFD5o-LD&o+iU4 zHeuL9A|7WkXJ;BKcL3Q+^;hmHB2e4uZ?05o=8%4L5W}?5ElTF7*~z_w+dx6=$DZF+ zpGW>T^qC?*=ipfa-*>d226f6=FO#YG_4HwKY_e(0@`oxm*Jl&ob=l{pdU4NTDK5le zX_9{N2an>2&~xR$3gvEEj^HGiqzfO4H%8pm%jpRSD>*d!A{3;Jsz0DZs&FrJ#4orS z64pOHvblN0xX%?eSq802u{Zf%7cLeWM0l5@%{QtS>124A#ae}#3hg1RVtU1z3$BGp z3I)nPsNxhTlt$AN)rf?I#y9?&a%J~(46b}@mZ>Y3U&%lgZzt`Ga2RC%QDva|gAZD~ z?q%D(wfSw4eD;sPRC_Uq@Sh*gOD7OOKa>Yx{b>hSn;TSB+CKf9p0~2z(b&CIc@51n zMOsi@^x#5^@);=PUDS@hOya(&y{&MXfnZbi zM*MiGTCvD0m9bZKwRay5MN*9|X)|{e{y-ErnSWo&i;=xQHrKe@l? zi8FLLTsZNU>|NsGcmIZ~7ZrcKbK|t<=wqyEm{;FIh8v=kkm8!5lQcTS&e?wPvXTjn zaWbdsp`o+&Nx^Z{PaL8dYx8Fr-%(XE#jrG@_Vl1{xWI%0n~CJY!Z@g#l?_vOB)N99 zX!?&B3FzZmbgZABf9Unl)6)Yz{qAUJXw1yapxX!7*8J*NKszypN*`@i2M*y%1w~%c0RbObTO)A_AlD}{^K^bY4tPv z!@%(h%#V;l2pKM}t4Y6c^KS`cxOv0h;UrNxuZTA6gr><50}9J=pppv@#cZeLE95Ao z`GPW;11MXNzHtVos!S|nd3AM)fKS7{CFthz%uy`t$2SeqZgkv4uh%})RCH`+cUwRE zy{d$&C{nC*xZwnofARsLV;9h@`(UcM24$YwMqToc?-E1Cx9Au)KzP({il zkGsRJ+YUgc?qqqbJsg|0?*|z15ZV7uq=;e=mL|{@WIu)cn&Wj=bYtsOi+*$=ci$dk zj)c2otvXXKVZUcNLwo7;kW>7U(aX2y`1adJhm%ORu8+(BvBz5~m^b-hdW`f-$X`_b!wS`0kjW zcd)gL4E(3QMK4VEtud6z-xR zKk%}j)U(yJ8L6w%=W|7Cctdge;C+I(XmpKsr5wj*dMpkM^qcQ6ZFfdsiwB1M@n}-f z0}j<=F|fh)&g|9Zzq3hzj%3v8l-DtZ@Z&|R_GI%b*m_%(1ADjj6y2`fvpGnyMBrL= zx7!Tf&5(XHi00;v-uJarlV|Lx5CMN=l4qqSW34OEyVL8`PRroM(zg(#n&_~o%_>1> zxz_FnqgeDePAQKuUGd992LhDiVvaVaQ8?rTYa8zaL-9XrPE??PVcY}?Y|}3g9$jb9 zflBEHI`3{k_v!aDapa8Hv-E;}li9t`uzf=FzNET-C`4K`xWGYMQS9f3J{^GY^Jjd3ch-5) z6^hS)t3~fFmbZrfg-kV;&?DMnPD4LAYiqj*A9TC{n!M@?&XT2-_7qLqI1qf7rO6!G z!YR&|)?&niq_T%U2BQQ}Ad6Jaz2N|Wf_I!=@M*SAE!9rQ2x@x}p)sFFse+yC?-v>5M z+?zHxH`PlhfzjR=mRPaxXZxgcr$SrW113-!&YuF!OD#yQMWFuPdXTk@P$}@KY`%eaBqLUQbh-Xp;3l z;KHu@zOt`@smw5m%T?FzDosyyS>$Aii*Q}IB0wcb`47v1DNdQHy1lkif^>#cF)ea* z^+5F47Wzp^X{&DGb8@j(wXf-c|E-RJW>;9~|0s~5VKY~Gay%8uG> zJwH87W;5#t#YwZi#4%7ZwVA2G#m7$*@JSptgpu)v4}W6mMy8JIm*lt%v}-X&Snp(V zE(h)mt1Wfhs_x4^N;J(fjEi%^12=2AYTbg1dJbx7s%$Yt$oL$i8|im_``9xM?6x0L z2vC1!m=|Lu>yhO#H=RX4jH9T2Vi8>&p_S_oI7X8>{jKc}^B=d`B@8VWk=|&4i5Vjyg6GJf= zy4X>S#jVb@6p~B&Gz-IlwGGKzd&Yw$P@nQFX6C~kZQidgMYwmR-1#ncMKv)QWFM%Z zsfE;PYF^5jO(B$+2JM9m& zc%Uy5)FuTC{Oe=2o%I-ErE)FrpY7&dj0B7sXLSkd= zOy}SX(&u#3!$z!W(squyEGA=tAB9C*+j}wZ2=VyQlWAFc8@JSL?mT7YAI0R%hWWfG zs-i&I#Z@Dt0e12>o|rAX*5m`Tu?SK``8>W7U7lLWWn+Wvj{rYr<(?wt9=SXm*lQo7 zt(#!_IiU_*Yh1O99q~MCr{}HYkiWsfIMK)JP>2L@0w) z*ZTC$2R4|p+k@?mYH8?l%MOMx*}foJ+CLF?Hdk8i+=X}m?Q{8ZW3y5rK2*RI(j`;U z{Us_|4U0pVXks6OdB(MAiPw;nd=pd*p3$$>SF4=`EX=+UHeE2$3%TPlWFXu%wdIKB!4s-&0QC z5f}PHID;G$^tYPr^yb66?STs7DRizAb$1^$O`0fv_rvd)*32g0V6%nAm8lxA&0U4$ zo@C^5?N~NVa9fR!`HaA#*3JVg5u8^!# zrbLwX031Jo82U*f2 zed6iJ6!i=Ux+kr-i1{%b^0PHJo$fns&?=WG~=Vy04PLxsxS}gY$N*6+#GC*U+wqhVx zP)Zp%+_QDE6GDz6O+&L+xpvsu`H(taqG6g~vKAvH0eEPjN1z;Tni7p&WMLZQUacDMEA-MK_m=n>? z#Kr^1>cQbat1k}R4SbF6*pnz|l%uGYIK#lP#Ir8Jo!M0PnEN!pv21DA5>x$QDEkK^ zgk0__zxhzEwfi0#oPh7=B}2wW%UW<=QGz~;7rc-B+}lD_Bwa1s@>xWv%|z?stfu7Y zUmR_t2c^80b9xB5#QV?orNCoNT-`pPn-d9A@3^q|D9U9HB9I){-Whck=PKMe-w6Ym~W1hCr$&@O{=7r@{57D#3iM&97JS$o`hfzK(YJVI0f zB}VlXJxy&pAur@_G4-W8{M$MyZ8TLwId7koVEDc3-WtjzV2P8Hk0>^`I7$KAN!;7Xu3x1>P4fEq)eVyZ`|!5^Zd0`&Fe7xn0GUGN>CV0?T-zDd*5~;g z29EMm)44xH`%?^SCU5nrJI?ch{1k+Z7pv+&meCkDw!k->2?tmL z8ni*lV1W`!B>YIc@|D1~RL{NL@Mve_>2S{9|hTlNYrWkbbX@$)zd` z6!ARF^VZm8{OXMPeIZl0^0={f7&y}JcU-kOYpW9B{!>BG=rDC44-t`Sy9`NFq1!rRLn?hThc%f zt%CUA&-TPAuUwyy`EVkff`Y!tby7G;yxr!b_}7MXx>Eh}<0zMq&72n9QY|}goxJ`X zgU*FkKR<9j!d(T4s)YVCq zqhD5P48`YTF&oOTZExT5?_ETnST>2Acd_x5dO_KrNz=Q=jO9lL}XbHgqH;gv7^R!r*E_0 z;;8d+IT({Z;L>^(tUV+)2HNgQYxw)6tw+$+xId zTGf!FB&fSab!`1R8z-DU_lcW-T(5@sc^g%20^)d|y@piJjvpIvmA`%ark?j16CPF= zG;V`rr>y+FWhdZ?r5R@~Z6ONPFzEm>F@D9=X`rOboghp7kjPw%((Asmc7L32>VfzcjE&KrJv}Q z%dd7v-N4rZTC2x`8#Kc99GnOJTV9C{bc-Ukw!Ggg*8j4dHR?!z`!H;z1d~M& zq10TL)1kxYU@)5&o1`1}c5{_)sOEs_jtc##bf^IWo$5~uQL$T3D3Hzx&(y$VKX>2= ztKCgBZcE@I2SMob)ET#KL#g=QG|s)Jx#rQo-$QF*R!4bEJy(VkF1~zt2TPV0Ly8fq zoKHaq>%o|Ht%ZR`N4m6(7Hans7g@CuQcuCqLdD?q`|{=D(`4PXz)lMZrxm%F)YALy zr_L2X+nJl|-yTRycHjO=?fvv{4W!M#QaCJul@xFKfy-1U=-KOclTP$1sz5f_FwEUz zF1q$(t!>RylHZkj(QbO-hfo-!5N=WmZYTo=S8HS)mq})?U5JNF%HJ|&jIr&~R_Ogx zyI+|ocG85PUT)NPE?Tp}Y>yhPR!szmVTyE4)aN5S(y?!5?^6C!%y(5TCSY@C^?AHc zOG~S%sR4I{c-SjlAicd}2Cn)>xXiyyI0zU*33 z?_DeI>Wr(8Q0DxMIGeHz8zAx$r3xW##t{4zp?{ZCp1W3ahfEQ?t@Ds6YCbrke9^}v z<6W)}3CG{_NZ2V|T;{1o_$~n}d}c-lK!|Ju<1!#@05vJFSeAOxHt-_g!%!ekkn@Q@ zs(Gx5tRO?tHafHSKcKd}UwH_=jpG4=^7u21OBCh}iw05gZ=cky&epI@Ess298KBb- zUxY7;_a+8;oiVbByU-sxdsvj(0{+sT6t}3%bD~J4$gmb5n@U@KyCb*~+@;$T=a)^9 zvBvR)AiJQM08b4;Q5ds%!v^ZngUfIi$(%X_1KgAXATXYsoCLO@qM3uf2!iWD`tm&B z(5g+36otVPiGIZ>)a+w;ocZFrhupK!g~^iTy@A59;6jCD0bwnevHlgW#|Zr;uPeJc9t|Kx2kezkq+-^0(ojRY>C2Omg`pVp{}e%yI2^2K_94|L6Ki=I=WnEO%T<0kN|~~B2VNPn*xZ1 z(j~{tNX|--00$EbuVS(H!{&&fa;CT!$vVbTBg(mO@>bAG_qOW4Q~1}S_IUK}$#jR9 ztkYK;VGQDXWxHt5zWm#Hb3|w^z^AHZlEq*C6fVzPdtt>n@4RLwGi%CXsn$~6!{ZkC ze*uXGc%S|;GF&`HG2lhCMt3U&QYsBU8~m!q97wFO;G1&e)UW-CL3e?Vg@FJmy__0Z zQ*^cDf`QDSxQ$-zs8Ax48HCZ)m>RLym+{!9br!R-__Fv{QQKE;av04Ws_XN{J%3(X zl-~~Fc!{HsR6R&I%_9l(N)y1cNXG)3x0IsdN~KZok_`!$%_49Q@_+0>_9tyB^8tUC zR&LGD=^DE?5B|wOSJZOyP&_YOK4gnG>l3bGD`_==d<%^p>nb&@$)CG~LdgA&sP#$v z%Cl5HIvM6${ULwraafsa-WE$x$SO6dcn;WkkQu-ad1A=&bm%!ggT%g)q@K4`&Y0N4 z_MLmQE;eSOfj%T^2M}l9tp$?+%UOY1@jn&>uty2~=?A2ZhGITf?OlEYc#*3QI_^)4 z`kY1f`xn9YB}9}v_RsEE3=b`-A0gl5>?KF7(s{Y21T}f|9V|SnAudXfYPMo4BpF7C zbf6N6X$sc&A}^xzr_sv$3s2FJm-X)aM&-P#O)Q&j&!H+qpXea+a9RTyk1(W?yRAn#RKh4249tlg{tS(cv32$AzO7??lgE&g@CpUJ?JX_(cj6 zH#ItxxgdLyrO;C&z; zLjI}yF{{L)`4$uji;UW&?>ypN5*ATNY35=^C61l!;dDRmpaa0 z>}3%u(QKzsC)}G{aGZdX?I5SB$^nF8i`scJ_I2(@fN25l(T~8u1*{eTkYMd)3ojCV z#maL8k!n1-oWJvFYgo*K^R>NI+`rmA$l49NyxOMphYe;;LxC#KYXx%Vy15YPZtWMw zt1KgMAdT`&tEF)fcmhCk@mHo03A79t zJ^vgfVSs6}8t|g2AQ;@kKGn_qw!hkHkAs(W)*fT3pHh9+f1LJ!JBBt(*D|Adrt@ua zM4s_0vsG9Kxt!O7d2H)mooc$P#P7d z=kCu;olEXQsB0J@z|S!QAdlr``C#QWZb6e@N#JX7b?N)}K-c{_gt>N}o=uF!@qIVptznWn4Q7w72vF(i=rkBEW?uP|W<;xK zdz2L5L0w{hesp^2jMsai_#A_}vB}Aez#s!$3{L-Z*{9CStdJX}$EvCHMsx8C?C0PR&iV8Uj|UB^+fI#C z(}G#G3%u+yG!mtOgEqd!uIUqe@%y#8RTR?KgEw9`YsuZ(@8*(xm%Tk!vprhnMS@M` z{f=*#TXOt03GyDXHChL~TFF1tPH1S=oE3yYK;Q{7V8ia9;bgW#%cfuu%X>C!o|GMk zp~odh-<=h&AsiKj+M}aSU*|U$^$cKrNhE3Z88^YV->mTOGkCNXqA_I0zM|9094q3P z&@pTRJ~wCtDx&46p*b@u;KwwQ#>g@_&_&2I4A=GD9FEohvt94 zIR$db4m)WW;iUZnhcmHgRD}ZKud%6OJ^z-{hi@{g%R{G^uXWR^>^H_#JS}u_t5jSv zpEQ}6FyMrHUY-B_I#EYe1DloJME}hG4P?UK8ck)Lwn{ruV||NNp2Fmf2>H*7-|xDo z-zG=fOmC;p%TYOk=M6ZtsgYrS>cWfg2O-XXGjcF7^9R>#>AkTgp14nBjQA%g1Hp>* z>!0*R{8(D5<$H2rQftR|^pp9_7d(#cn4@<7g(+y>@X(BeUIO_PJdoZ{S1i~xQt0N@ z!pvIKf{|qu@T&epfPjC1vn_EbA~G^V(Cb!~x%JD&Qk*G{Nc3G_P}d^4XlwXz>Z^$v zBU>$7vU=Pk9De@dK?wtl!cUnW7M{7FLOnY~gte2-pO{B_KI%me6Eg15;mO@|QeYKs z`1wtKSq<$pzV7O@CPCd(d~)90`>hhsX9)9x=x~(OrB>ACnR*%g9VH{ zHf^&OYh8iH#>Td-m(u`{Z@` z!_8HUEKMRH>ZEp;LD+t2&N?^?J|8ntnBj-2mmk@ zK0sOmbVGjdVe8GZ!?L>ZFg67ZU3e`@B%q|%+u3nAX1=OB7snuT@Ya^|`TSwsB3QtQd=8RCq!raINbwV;tP;^Z~&1T6MBtv_hgtA+!s!()ekse)=; z`-IRZaCqJDM2l^R$^ridn7M~@%NGD80QeSLjrt;8T3ic-gIP)YA39bmV0`^4I{4pW zFmQ3N@Xp)i%=c1ND7*XSVB@pRH7u8R^H(3jPbXEH zwzqN*&VK#<=pNXu`*QG2fup;K{&%gXMBmy&SLF>2hfZ zWR2u@Wy-vpri9k?O$)#u4_?N=glq^UNWIZ2oql-F@X7~}8IFSi^aXx=oASSGX9ph! zjgJG`u_UB-s8PJY=3nib)3<DYc>F>#u~4X%t${Lw{>X=JVAT*P<9 zaKvuOMhpj~30NllJ4Jw!vLBPNNooT+u`BLK2Z0Rb=Ig6AqsW5~y%vPaJ-((*B-2hH=P_{yDH@nhd87-9hzRUEaVUbRVtOuj=R zE)I?WfVu(S-;(RfQ57*cvcJ;+a>LavZ1Ki7`NFHJ!;7uTeEApRZi@t=v+6BL_nfwM zd58Gjd*WQ!4*pclOi5MTTk)3G$LtO-%vB+Dz>T}v$poG_Vr*=7U{tKAU`ZWz0Zukx z4b4|>G#+{-B-CDZOyf^_U47u#kJOB{bLZM{4j6MeC@we`=t4WK80oP-hfGc+Vb zqtRgtjk%>`r~b)679<(dyBCjw%Zo0}tHS6uE?6M-%W)D!Ka4oFmkv;{wUHsc zWX?<^H`)`=yJxGlxtfK?p$A>c4KNTmc+Kf3B7n2vxqF(!?wmIT@2unIasVugKdCFs z44s+bf@Fs!GhUJ0=DipzT;Csj!Z0?1(Hf*@Ee?l80n@i)F2c__9uqsVl)7A2h^dBg z%Ft43Uh?bz%=1sNhKa9z1@-(8G6=tdcizkh{-1XZm_&rg)fOZ=wj_3zU!p;u6N)pj z2ldw@K?{Agb%x>6v<;u~nPh*P>z~ARL9GuIs$MZZ z{{Ow9-vPyH9l~l!QSXB|^%Um}8LFOUT?q5VC9M@*63?EwcsVtt_0qg$@!~>->z9fZ z8IjC-NI3H@VXv!in4V=z8tOQ?MBQSq!lt#hAZ#qZH-Z2d1BBZqfCB}#)hJ>CfaU`E z$k#|BF^oLz8gl|=wQon&I_aU34Ux*bjy>MlLSY~McVj8`MTrt6pW)LTpXcBP%w*`B zl`Y~2E!HD=E$2utJRiq}l0x4=P#W1`a|6*4#dTBy+$n%Z5CgQz>gww3>}*z6767Jz zavN}_JV7H6_$rBy$^A*C4(iE_)fWVZreJ*OZ`akd?!VS$GAku^T?rY;yNNH`w)rz2 z312N91pif@*3zER=MozIBV*>X(f^RQ1@Sv>{{qx606dz~eK&al@O#Uj&xbEAoD?tr zg$O13da?(-Ps>TB@K8*Qn$=s*p6XVGSyt*(`tR^$d}mI+9qp>xo~6d^aPn+ohPQFH zcAjz@K_hl2E6$47(?@dT5kH6ZDHU{|3mY-m69^GHWLoe*0CXEc#8>Bz5@Z-hCGP>k zp}+(^c$C^%xow1yJ~wpjhqj3<42uZ8_Csu6VSq5MLb%<3D8HPWzcHFO{7s1W0%ADn zyxM=JePc86p*Q-fpu{=Nw=zC|UUeA9D>?M>nPEsiP5PEV67HGRoe-JBlQ|DWO-((T zDdh7r6bII?LseN*vk_#@fSc-3VGEM=hzpk)y4_b29qhj8dBsIUD_i?8!O^u6PoT(E z0jJ@>(6>o0-PeqLH0wN`93c%vda7h9|OCd^f z{$?)vPIbr<10bB1$HrDSHn0Hi>+|1J;DrwYw57hjcJM_KACo{yas_=PK53l>SrjA~ zn~!2}OWa7m%nY%cAN&osGiz-##$&mqMtJVMIpBOpq2>QQ5iP-q=xJSdmqHu%lgHuO zULvpYCDcF`HPpBLy+G9wmKrj^Q|X9uk61;jJDDWAE=`c^03;U>p+P(btiv+ZF)*N5 ziaqBM67u=8IRM~(5EPojzXAg<(v&`6Sm?L?Qm*$h0#A+l!83*@ZPd=@tyPr8?J&k! zqrzNbT#L?BQ3*b~u{w##U>tbta)}TJI-cM0F1O3HMEO@}%o+jw!!F2`h1skXCm%ASH zwdArYhU74$+)H6jvxKx50AQwQq}qZU*Uer+sGIx~;$6!T9EX_N8LHO=}!J zuoErdtHC9Jv&*c%5qL5xUhGE6nEx1nJVC{XvP&B3v0ZEjKGJk#f;+h@c58nS7 zVg@W=Bim5Y{`7*yl7IuO4tD9Mn&xc(CGLI3jGsupZF}2>Mm=XkIPke!hUK+x#cPKS z;DU_?Z=2qVtrG_BP3%Ccp>5DAuY9LGM`e(>;s>_hysO}~#gGK8siKlOxIHCK;+Wq~da2U+*#{;@Z; z^!b`~sI~R`ZHkSdTG)|L?~fs)JHZe~FT1iAkO91QT2qs(Ac4coV1GY1Km#5$H8g0D z$JFG;faoJh;>8Y_VF1zO$er%;SDnuQuh(S7WCxO;WS4I)Z*EgT_IK;YO^j@beMmjf z@~!U8>$7fq@4O9%0);T~`76wMCK`HE1pequQ=^J=+Ao`>zgBW#gv{88oo#7gA;T`D z#pu2G#!%WQNy#hn`YHYkVb5H}AsB8(#v{;%(X09-UC-cYBk)y>{1s58=q)aRTrDq7 zmyNw4*EUJwX5t{%imvxZIliOLvrasfGVzL@Qdu+cxMNwB$LlgQ&+2b#P)EEN7Qc}H z&dgZ`#dQE^oYvH^&o~3fhAE-}q|xMLe%BNTDmFpf+Nm(blO?^+W$uP2Y<_WdZ&tBg zj59*k4c?)(e4{}j>bCHz9zIu{8+3sMg#x9@a^mm-%bRhceO~{Xr6Wbr!Qo-R9C-S> zL4Xyxg0kq?VRnTpa%@q!Ka`k0ckQ`HiJv0zQjV{3H(h$dLl7E!CbtrY0_lgVpDwt0 zE1g%v!uZlEV)T}`kU_b+EmC|9CjNZx=nXurdOkOQwp`ecUSBvbEn&io%$uugE;qnE z<(s8+oK_09iY5Nt7G<{%Omc)N+a);7$~uvm!mRZh>d+$bBC4Ik)9%FxYJg>-w&Rzu zLs8;x-$BC*U=G(d;ck6D>sqm%gLNrW6u3XNG&HN@G9tl*3hviL6^MNVNW3jFoK zmcRaX%h-HtcUg>{T3|jn%@>&XCu7i+Mc*h_*xCTIG@@-fHj@LX5R8!AP)Dv{p@dNu z@84m^sQ$CAf0dX&GO%{jN0J@S{m4XV)c z*3X2{$1qr=^26;%%JKix0$3KLm6-;1mORqOuSLnEtl-qeutSR;@Ny~i&kJ#3gomdg z^(&JC@;Rl{=OE(9Ec0-pB zGX+i}x*1k{QlhZ5)8x3)+W7p>?{3UEF3NRmL`a8{!ah4^#__Gcvr$&-CGu>U;CzJ- zcBkbpqThI4#`YkmVMn3{`a%!lkyw{2(|5zyK<*hD&W4vt}U^ok?SO1`& zAWZ;uR$n%c0equ&OHyq&$FlPpcd~7(Kt>m>cmy((1j~Qy?7q_IP*Ab;^L!mWGY#&dI+NaI5#H}MGIEBI60LpZSzTOQ z1ehRz_69gpPC)LUp$RG21IY;hW|RUd8~9KlBibv&1D%NUl1>vrRec+K-W16dC7+%k z{i~}YEC}lC$}t^!`HH4tQ2T+mDh7fWTFl|)G>e@3OyPu=%G$U3w&3Nr#raKXmj}^2 zQ7L8z2Ld5qRwY6A&B%aSDw`-GzJ!83fU^5G@M-xp9yF1Ky!nH>=PHdPXD&|FK=oIn zbp)7GU$=cRH__u&wPUN!>94zKS`|;yMNpE-__5F+7D5j}T6vv3Y{aF%VfldtMOK+x z`?0Na<-K8Mg|CfHhi{5?Vg4ctDk{??zFB`=#{Mjylvz)0ef z1a9I=4K|ZsyS=F$X6Se#$8rjxDUSC$+mvyFGJk%UrG-3CCzsJHh`nl&uX5!gkS^4k zxgHCP*g1G!xGfv}_>mD9%|JbAuHAZee-~R*I&G<~u`K%jLY%)Kz_A1TD8Mmgp`tPY zq%B5401Zt8!UDh}t01yn5fKe~mTf-o^#;HbU6Jv3_g?R%hAP}e=eTYwGT=;WyG8cP z3PP(wa?!VbGMJ;*Dgk$8uRp%EX^IG6D>9z~eJ#x;iD(xy*EbeZ$bbJeQUUPA+4(X@ zJPf3^|D?H~$p@%a40aXn%Q@BqZFV4uU#K!3qAzcm0HjgEK7h|NPbn)Y z$uplH9km5)YtS<|-j5_lcIbP{M^ygl=~mPmv~bG;Z^~_h#dJa5Bh5|k9!O^u3UIQ) z(#==f??ev$T{weDU45r*L{k8AyZeREXFvo7`rR2pKsUl9ArUg@@LeFDTllYSzUSge z|0k2bsd2Cb$v3zmMyVa)_Bj4rjv>4k^4;l{@=$+$$xOT4i-m0?Ja>6)nRX;Tw~r!% zF~nDDxSbpijCF*9O0)(B755)7WHTZEtm{ldWBnN(k@cyuJ_i)4urB2NgQf53V6bnXe^ zy(i+d?u67i=^@ftjZECu+hKLPmJn^uF~k~`7ZBB4#h4NwO92K^rtcyOe@uuGXvBf! zsl_=E2;}QFjxgaH!)B#+cD*bgi<)jfkN$@BI(i(0g+lmn_^nlqE`HkW^2nw%XwW`u zd6-_Vt2}`5{V2myP!Xps5p6S31QFulAw!_exq5!Xs1_0$y8lao4B26a%zQsa^x&ze z2^A_XE3EafbN$ub-qW08t6hIpha#~LL8hV2Iri{-ufVr_(sDima90VLnNdNF$PVq5 zF(c%nUh!g=Q~5^iiF)w9g$K&Aqx%Ovy&^~+LHcKizP`cmwDb!twe|8Wg~X6=;9D8; z>qs>O1N7i(urmZ?X~D!E|9I!RONG<_#teDI@2ra(0j3aOc!>UD?nUA|L;QN85H zGD~qnYWGGuv-mN#WD*o*BnZA(pnV%7FU;wNZnvqa3CyTIgR>YsZ;j6XN+ckRRg4rH zr!#}!L)~Flt!(#R_x@`qp>v9oUy@P&J`57Z|EZu?gqr-Oi`UR|{75tXqD>jiWC{+9 zN?nuC%lz9OaHWc;yundbYHkT=dPm&oup-fXeYagIu@PvCI--pb(Ytd$dK2~n}^PO4=v|6I;yZ# zW+*+UP#|AMvfEbLlZPDKxRV&Zk>On{Y$%+K$ypr4$m(%Mv(07uJBSbi;~(wyg%g4Z z#^{2>(XZTK&IXco?5pGZfwD1KyNWi)EqmMkxmX2RGiNj(>}0OZ*OG{i)In#IR*MP~ z?}`*;zRCVTbtU@Wi*|LTlc{-*A~JuJdmg;Z-8lJBaXshz+LG9gMY=K}n5|-WZsJRz zOva#SJGsJ#1-wT#pE&0H}Ljs zd_?@c)(*lJhY3%g9;>Pu6i+IeWL_$M37;QV&wkZ3!i?(kA+1G@65Ytz-L<@$dk?fz zp$^zW-x9Udhx*ObiTgQ+B7BG?YmtLB9tEv24)kFEy)#UMU=Gn5ZsT32sbG`c_uh~9 zEcVaFttuUorSD9Cep7MY+7pjx#(BfLoaLote&<0Ffn^{Ib!V8C)m0vltve`3Qx{_pHZR1elbz^ynMyvhlF?#BlB#^I8AXmZk#TGYo=-sxuMQ_ZP^{*ZceJ!qBDyRH^jj7$&9YW_8}GLNJbgMk z-9}yEZj`lVeLwv8jwBlMY*z6{nWZK>A9%z*we-hj4@-~hXoZcxw~4kxHW4+xk`0;x z#3CLfqf>cYA@}}^Ihfm(i~|gRr(gx-4$xj#lb4qVt4;urJU2I&Z<*Aev_3&syD9th zcW>7s^POT6KA~q$8H2w5!4MXXqSubFs^7AWtQx$agPE6t^ZTKpnGphhLXq%>)RmzTRQt-pTQnu9sHudpmK$f|85-nE@D_|t zP-%i6_YuF9X0wR3WE0#sOFngUc*{Fg5Q`!iEaLc*m*6JEqdV*KJ4 zMJng3?Iz+8?v}luCHl24Xb}JFg#MndG2Ri>Q??{;&%Yh6fUoBT1WUlT8T)5I)%+QC zOcG9)>f4vNw4MS7<0bgAZ#gX3cv=fr-#2n3outXA!uU2)EhvvhI;KI8{a`%=ajW2+ zh2PwVVo28A)jo4a?Y#VWC%9R;Odf*d^bYb~|4OZc3j+Eq7*PO_aE8bJ5718n|LN`N zacc2`7g<~uXzj!C%B5TemC%26>}h#O-Zlr^-`JBkQT%^2WtJ40o1zf-69f6)xF~{`$oa=;N8Al0c=QC4EwX znrwBLz*Z^wdnO@s=>>Er@r(GF03A}BxY_&pEUsISm4@oW?pE24Mynyc?@Wtju8FI1 zCD&+Ge_gS40(aEB(>^TtG<~|?i?u(;+oGQzhgP9T1l)~PC)L&0iq%rjAt^Y?27Pfb zX#Glp@1O?*X-)*s`l@Z^NJcj+P=CfzFV(6A#u1R*M&Pl21guNIXWVuWs8NL|*M*N^ zObO^Dj~}wIW2w`EzK_^tu_u;%W zhUxV-Azk*CC1nKWB5X*mL^$o>yq=mxXVx~Kx+#Q|XslC=a8{S7=|2tB1;A}LH3RVv zqDkR~o4kGc@P*`_xVl34C-K$o8fp`wxz7zvAz!hAB?K~yo-w`s%?yM$`o`W7Kg|lI zpjFnSh2UTKTPx>5i0LN#i;0(wB){is@|wq(BQpQ^)zkgpV^ja!15Y;O+%EGLIp#t@COPLArG@|X38C;!`r5tVwR3g!beio{t0i29LnY4 z%p5|e<*1Z2SIb{h3a;7zKc_7g8Yzuo@8>|$nPHUB_s(?v6-Z#FBK>}od(`E*$T4y{ zhHs|laU-stn;}>+1}0$XKq&yk)4dU*`qc1^n9na{HQT+@U7ta2&$cl#S%fm&zUXh} zWi6MX%B9W5a&F`w>bEziNyA0Ja8fpmZe-g(;D`VfK}4yNopTtIXN;C>Ep38qm*xQd z2Sb&f3`IQgiD*spBQle}sCZ>u<*adjS6KCKUs+uIzOOjUmvw8 zJgXKRTQr9ZSO~2hcg6_?V(`~MG>^W}HsR$Yg1V8>At1(Btmh?zg1>w@Txl0#VqyZq ztv#n#I5=RrlPd_LXB8G6rC?cen7-<++9i3{gR4Rr7|Szg7eJ;+?y zLKWU)Mo-vYOa2H|27V*>-u^`nX?Q z&S|@R4^$o?bOQQv_WPvtbg#QavVJ1poV~;O3G1JxPc+R=s`{?o)rv$*un;+wX_jjg z*|K4rzsEI39U-pmu(XmQ@tjp*KXo@&CUS(WzB&Pu2HT1r{Z4FouG=Hpq;XZI_mtwfAwMd`)Ikfc;1o_^>l=~t*Q->h8 zoYme8Sx?WBZcsjfFFXy%^y1^;Ay6JLFfm=7pBufkbtI?tcVea%Cn|2d(%$MV6(#|0BfG<2#eA5Wb4m|6=K;Wo1RfVF8?u zfk7S+9u~%BwC!el7Z$=Vg6sRwPHSUdo2rD{Hp4d0j&@74dtzFpyo_64mDy@`Bx_ta zPJBU-$*7kcRrygL-S|@-W!}DwiBse!B9szT>drBmlmO%F*5M;Ez2Xs~Z|w^?ELI-t{fgR1{>Gf`uKMSB4<3gIWcQw$To^>Yp+cqyhpm=Em`YR6%H8y4wm+6iC$CiaTm^y79Z4wMC#TvG7` zM7viL_TP(6TMCLMN{}G^3>t7?_Tg6B2gMbppQ)~19zFZvm2+V?#5AK)d+Sn&qnP_s&Wyvc(!Uda{ z>gC3i${x__w^Dnmd=|SyDZ>GHfIy1ActT`>g?ea<8B*w-hRL7`X=VFJSSU}_=kik~ z=4RPg9n=CeWx&VUel>52MI{INDIlHl*iJV6Cwm2uX|V1j66`nW`hqerFrfQe9sY(I zTi){MRqfCBmK;-aa^gX^??fMPbgeVgj%3bu*Heax_OUowD+H<=b^Lh-+joZDS#(}* z!7yLppIQ$5bf@+fD*xeeF@|`p0vF$@|K`aEKa@ZyETFAM!ttYYgyvFBt@>1E;;rAH zD@J>%*KtGX4HfivKm2ivJEm%lOWm-=d@_F@$NTNKybA(EYwG*nw>Zblf(3+4;{O!9 zdY!ofD~6y82Si$6MU*XQMnnnTem^k$_;GzF(?<|^*})2|e+4aAW{{kmOpMl%%t5J1 zjwC&~oSNviO@xVic^Uoc#QARP81#@~41C{eblH$mVu?>a(YFJ5=$GE}*Y)j%MU|<; z3P{gu#tjS21`nOg4qsJI>REEc$TvnkN%U;;XYI4j@_qWQsF9XP;^(}kZ1}9=s|aiE zy{EV5&FqYOU)gJX$Uw#}(^iGbK4igXhK5=r#$<>^~d^cnf6?U8d# z^f!St>OU77vd>2}7D&q8QE5!6*CpP_6BuYBL9v3ioIWTcN-~Jn71;MQA)n{Zi9pvA zXqD_tOt!&3xs*gPNy(Y%>4f)l{!P23nkbCCJjv(H?>$t4SrDK8G3XTWcww%$hw}>;7+MX*y*$BRW z{wyZ$2N9}_HgQ@xSDe3r_&+^@pmdl zC+-Cg-~EIvvj9*!ypdMO;Mb(V2CI?Wz@!u;{vnBpGeGX}USI#|wEIOpxV&vj>>>D^ zDBK+Fu?!bSlO7iWg0bT2l%}Dv_jRL5JncD#w;n!5hH)} z`)6E<>d1iAc_l)nJa-dp5Y&-%WS(#Wk8_VeFn5YUH(fl`MvSdDs3GrbTYu;uFC+OhI-TRvVt((BX|tb|`T zQ(HdCiY$u0F`6iMj*0-5L-O20z=t=cA-6WO&4;>4BJGH zxJ+C5&P%Ov_D|{yUHQL89i1sXOrt|$%Iz^~HpG`cpe;Lin*^;$Rp*D8Ho?z~Dj0<1 zz6s#+EEz?1Q2b*?%m?2nq-l{>s5Y&qF~yLLBRu=T{*OccoAut7Z@Nbs-!6+MJzgW( zRwzU7XARJ)M*m35f2TMPO6l4xe?IpF10}oa2d(fv9KVsA9U?wv^k3|L4@pEbeVU0W z6e{Dp(`@bjT_ew9(2(`yNoV{HjUZQG^1_IXLJfdM$6vnI6y!CPfz0XHYM+zYrhKj z$8$<~l+sV*hmZ6h1bW?hvsFt6s;)bBL@;wnc3zr=Qa?qu6>FGkN?-rA$RY;mlif6;F9UZO7AD;z_+#5xfX9`$V`(B|~^kCMPL zQ=>yq8}F}HhtgDWqR65G^Gfg{5QJa=Z%(3;f8H~ZB5TRcKG#r-+f4>?r!(FB?|nz3 zs#f({XtW>Kta8pW>gMGJxw*0Wpw(`yCgp(YuH8fCsRkR8#8;+QWamre9Os_rayzN@ zy)hEmVzI~*y8rIOx=QnbNs{UGhn8h?bFDt?e?_eh<-t_4CWo0XTz&!uE1THjUjarA zZhfIe3_8OyLQ(|Z&k;sz_VTtomLgR>>v^)z6(E{vzFg}FzA*nwK0K#MGTAQ{EY3%7 z75ErRgk8qOf>_|i_2Ksp+-IqG%_=1{U%-27!JZzHKI_}5REJjY^xJW;i9=F z5ep8VAxteLtk7B&Dw*U9CzVQd@`38+tib5yU=EA1QS4YJK49dooXXTbqOoZY`IESi z&EQ>;FH$od&+oR_-b5OyV_G==>nKZ4{vK^i^a;Us5F4>3( z3)WCGwkO6_${$`Z>|alNUI^p6!-lcrfmVp)q7;k?ZytBt0+T2dQ(oyPE|w*o+v`wVd-la5qsCY!cjai%~LhcHEDFS2d@{j_K*TtNo%QPZxr5!L84 zXOQ-c6jyW6o=Fw`%P=~wH(K=q#h&YK`O<1P8yFxp+_jaDsvxmmj;C3JgF5E)xM!Nf zJi`VuaV5sO08-r? z*5ckNugM|jz=+D|ongHDh!dm4uI|FG%}$ROdGiu*EOyVJxAdj#&lB+pAr}5gLB?C2<#G0Y>y6L{yn1+3=@tp%Pj`afKj-PN-dNze;EF`o9n?WO%F19h z%oUIg*?>U=*lY{tu$ZWUBtG}{=e!cRU;|qvFeZQj*V2^Y=Hmyi#rvVG9Nia*zcZ_w zWM-Agx4fppyF!w1KfxCdVOe7Dr2+3#jqqUaLFsSfh+N?f$oH%h9*!c+De}CQ(-nV5 zso;fIIxbDPd8E!Nol=1{Mh}y+K$)R?Aq>=c-mMv1cFg8aYCT~M!_CK+n)4m39-6#- z4{!o^ht&uO2tXNr%!?jO0rq?WL=1&Q_-=s>`E`1bY~2!;j1Teq56(5Lg*XAheeI=5 zO4#Ek@(2Mls`{@3(o=kD3@5+!S`mu_AO4rnAe#}v+puaO9L5-+3ovB zV_H>_H7k50_c(QytmpoJSO2<4c4*!k-f4zD>i$-Q7vYtyXY2xt*N}X{G7eYicJBwB zEr-TMRq_}qu!L*Y$_0%6!XnJTq9?WHPXjM!x`8|cOqN}(+hdv&Iu+92FO*rN^GtCD zqkvL<%d*DdKjTPptkWwK$aDM#9b}-@dBuDyr$_NjC zG`+$4H;Gt3BbayObE)UxG}hlBHQUJxdU`*t1tXl}%w|Xl(@}=^)js|(mIPq4P?CDD z{!a@KfSmBgZnvrIn9iRRc)5eoi5zrsadBne95r_TwuWiQ%JLmHDgHp`Dh-xU7W0F> zn5zDUc&T2g5#QK>Jm#qFIAw&~l`A)3KErli-@^I5{L{NgHH|1WjV+yzpIBTgeBF;* zn;i8y8mcWI;hv4yO=B4)DO`}E&~tIWi03SGe{3D&??@DdgGWU{jJ%9z4P;m}D7>BX z!Au=(*q38xq%-V+^JTX~mW;`vy@7#xyaV{hRN+NdPqLBb3A~yZp#>{W!~j1-c}Mdy z4a-_B?UfKQa?CKWGLrfD;+X6@oUQgs)$~#ecw8`*P4p3DJ1IhI(2)=dEv%ehIf!Q1 zrv{-4nkwtQ81#^sb6vbaHl$8h#($o7Tdl?yEtcDH;=Zoyuy4KOnt#beA z;>C^yk=6ZG0r1k90l!;U zO$Z$gjV)OYKSF};TayfUL8ScrEzM0|7LCmC>u{31nOI<7M;Z|0WfRoP785 zr1HVNLxUyK68%kC3tbU@=WDw$)_dptr}y4Fu80P5`o<3nH#Ya( zc65JqYVJnvaLRkVd~|p8_q-1?JDhNudt9j%HFRMpOCt4HWwK!S(ie*xbI0Q#augAw zC=QOIA%y(M`N>c$Z%Jg6%EP>YuG4uyC;~77XJXhO`F+kit!TVhEDb zFVqX28#!DcH}+T|viOs>g?ICNEww3eLzZ&i6j+7t1!XVoT+XWBd9fb|leh@u9j`2N zQJVJ`RS}m~prfo(xmTwq`glqBv`nBvl5{D@XP>!r+TN(B7?Z=S#vuDe2Sy!t@~K!N zLCome#gEJ1?1tj6ITl>u&FT8)-UhwF-??doWznB2uOv(Ry7uep3S=5C4#V*Ep6Cq= zY9c@#g9(2&E*TN*ojSY?3|zb{EMs7^IaE|sq}6zk*j9#i7rJOo7d}!S#kn~>>;CL8 z{nJ2CMenX`+{IRA4FLt(TfOh>s(PbEnEh#IUp`Oa-GDD8Jx@K8s{wJ?S{&|kO!3{H z8o~PB#{t@eZf*|7#qtZF=qx1=aqQ?H1|z>V-rV|_noQp_5C7R0~or~jfTzUx! zF5iJ^Eo(Ou?H9yS7)3Lcm|kvgW*raSd05k{v2%dD;sxR$e4-%xw?|Z{ckxEHceuz- zDxmz)3UL))aU)Q`d_;f4B5rFksY8?Z(6#W2TsC<=I}_WVlxQObrR{Fp7sddba==jn zcBegnZX;N;lgOye>97fUHhpA*y#|N7Lr*W;x5v=`glY&b}C#J=TE|n-zH?bOZM?En)V$+wiyWQ zu)c*kffW7?L)Epo`$w|XH6+jCOGnwJHT#9hD26iw49B#W8%l0BM5^Als`T_yGHB_> zAKQfL|22HqCAlBq13_F)yrTHsSFcTqc{{?=hQq7~|Ex2h$ns=82!V~H$B+h4J8~q; zfo*P;m6hDf7sX?1b}Y&DnUkSmVUrfMih?(9fJ|!e`3UpKuI!}(VL+cJYH!df3*;P0 z>FDkJv$H^ZkbxERI^~~`0*IGxaPe2qb#&FfF^c`t5EPcEIWBJl5$)Qc29@b-3xk;u zE;k^>M@+@ioS*$`hk=rhxuWLKQ=auVPlBsRQh0$p(YmRJ7+*}Qfh?!t&H;F#_dK74;1*7W*O zN3w z{*8vT53Md3I-oS08(7;<%s46N!;EW4#a;TK*A~BEYh9-d-~x(oNSIH4f0%CGTv?9J zAfziT1+BLI5)letb&DAIG{829zug6r6iRlYd<5`Mza2QJWSSuGTWo5>u?+@|lnLj+H8G_$W>4_)_Lv=L! z8xSFZ=xX(Cg`S=~oc_ZA*U^4AwEA5rpO1IQ@;7FOo#kG6&18>qUc)*oxG%%prnRnu zt!8a$Zpr&wkB-qh%t%fjx+NxldYHELDrMR0l(^y%MKu3@*AxEL@Lq%I{Ls|-KuA_JMD3P`4l?BOX}na!7rr9prM&@NXe~l+OA={qGI*>^?g*tdv-#a z+OEq0*e4Wonzy?5*iaAL^uD8B-3%eu&J%bttOxH?C61pzihq{wvig%Ql?B}S zo*YBZ%+UWXzk|a&jGva-BZ}`-P)|;?z|u4)pQ2JWeOhR~`-+B>H8nqXD*s z{Z}3f70az&>Hk2*WAa^K%+8^0<~gyP+_IGx%`S%Dp=l(GIy2J4J-^S0#PrT6zH65a zlA^5+ZrEZT%65<~4g6sDRnQ?Jm#I&yEtP}^X~$#b{jk#(ACyAC8HW4F{LIuM>KA*O zUJr&OuSGR$f$yY|mbQ-?2*!Ni=HK=`L4Wg{3TZ2^V?FP}W!|9h!bQe1_nC`~sU^b? z_85htEuUySMDNcMAzv`53?-zKVcsFWcY2i2y&|v8&ZFH5WDi~P0cwDp-MVaCh(=qq zJHs$Ch>fv@sB>HV*LEM%U$V?2nUVXoj#pFx&s{9^Bmzbh9tvLw6`ayqo^h%-?kjPO zC^Z$2=jEFe3mIERM-3YeV!`Y->C#5dTg_Ah?c^5}lEt=Wpn!-0s@4fr9luGOSBwht z>v=F8BIBIYM|tK@1+RHnTwQEU06da70a5&v^ubZhPw5zTZd!0frEjb&>gj4<2l+8) zl6^FM_ln7QqYXAF)A#)!WLg5##(Mbi_bo%wHwjH^?f^0dLkKJ<6u3U+`w zew%>h*xZkdw@U*8N!ZK=n-*07Be}l)CyZp9qj4ypeUu zQEPcnw>9=H{)B0m5ZlksW)JeRd$+LU)wr>H#6A`3NkD~kl$Ao#i3AxqPn31cHR^Uj zN$|bK2Kcg4FJOU&3oK;-RhUo@Z{!tllZ5@jWDi z(UG#of=J8t&|K1*b3|#dZ|fz$kSmwwAPmD6B-#D?;j8;qQTxT~sJ3~ZDe4Ofb@oVv zKKyNJ8S*?iC<|sBxO?__WEE`jQU9VZEGZpV&2W8g|!;gPF zTMxZG6ZT<#_V7zCNx#E$IDfDJCkc|PJtU}NRBdkz)zGgAPKYo1VL`L-5(cYHR4j7+ zU0}^R3%Z{@9v&8wAeQNRQc{HDYrHUs)6f1jHyjcx0WQm#8ddFIYG>0D&6Dr4E(D-O zD7bvh;l9X!BV;`Fm-_!zc9sEAMcv*XLIflSq$GqvN~A#$qy#}g2c)|@1Vlg@K|s1& zke2T5?(UAE8w8}e8=rgM`}Mu^ZQ|^6&f2looW1_Pl^Kw%R$$o?i(DA?FhP8gPDWK5 z6p0Ah5MoPo>P_U{D1V5$$kvgVUCt^{@I$#cO5-|xM$4QU18e=PM6WX`1qsjvO6zjf{`Y_;FRZz)G5}8Y zBHH7d7TDoqG9-n4-nHVFcDO}+5n9<~cYp6X5s_O#uOno{& zW;6J;K8uRe>5B<2K>BAy??q>KdxWL@HK8E*I{;m(Y7=Xdb`L=Ho&_L-{PPQA!*B8EfwQ)B=-*7Fjt6{ls+Ru6p&iOxaDexS5S@pmbF(ya$6#8L@d zmf;oE+}(Uv5^UKS??*M@GmC#&j}!kU*732vhJP6Nn#_rXgW1HV1p71Yxxi{~pTIqk zT`wOkw*D!m_s@Jzp8yS_95%xVheqQ+yW>4;Xbo16>=YYrscKi;Ze(V2NE{l!rm0wZ zN=>N0J(1`X$QJFVDny)dy?R#eDEjUicc4fK_RR0NY7oNaNsWZ!%cfMZY`J%VIo^c5 zF}C2nd-#obO`htICa74(-L<oAQLH`O|?MGJMozlbPdlDwj#T{n_P^oiY8qo32h_e2;^w8%Ew(#D z+p0S~`X^@NCj@jzU4u1$g*5|C7dkSgV1BZIYE)@22CqzyPZGILz zU#|PQgD8C|`P~LlE6h(Lakkc(-YMkbPn@)Q!-E8ILB}9Lw){13Tc9z1SmASH?}QH* z?st2|lBGZtwwZ7jIoUwWinnm2 zHHQqQ7x?ovJyns}ohN{7YWSdHdFpH#vj9)psBF3Apfny^!NugBMMK?t|KpM~&GG9! zUGqgnP;zUjYUo1~c)pT5uB4!#Lk2aTmf2nNs{g{TKv!Ox<6|M>*v!%%`7Er#wNPY@ zw11IG7mfSdxkWb$y<;lsq7@ZH=XduN8ydgNn-%8Sr?ZFA>n?_s4Xvt*FqSv5jqj5# z(@0hj#;=QfI^NXGY@qAoFB}QatuRU9A!c6!@E6)>C>!>V&ni!5?Zg~_Aspr}(z`Yd zM6ABMtRspe3zJLRNTO;6liADb;pjj59C_%BsW4elgqy&nT7RqmHD1jTmD#L1#3VY9 z+{mXppoa0{Xtd*Szaq57^vRAZSfG6txV=+MU9E~Ds7vX>eIebE^bLg3n zbqad;XENU-HH_4+s*T}Bw;Y1Z6Au-+eM+_qNa7bc-2OOsOua)-frY0M?_$C=#a&z# zNg+*z;MC8z12PBQ=f~~!n(&u>|Li*{g=;20_5b^B+mJM^C&#?#M5E|r0@q$~_QbMs zK~jL915tfQ3YRNmrRP9`prS$99Dg5NE>(Y2MBu-;IO7pa@`x|xv1&GgW2zM^q3CZ{ zV3(;}6|#4H=*Tk)WHQ%I%fEZ2zfU?7P9KS$b<3vLA+PH%&b#x#W9U077Q#qDb*JKs zwp)2ju}gw8BgY>b8>{ckMm4?Plmf?JSqBX->hzhJYnNL7iek5)MpLr{?T)>kk&1lk z&zc0o8(fy&$BAHtw#|#zeH8#uikIH@$Zx5GA*Cmrr_STVe{)`-01J2brXGBiV~KlC z<8AoDl_$-gJ=@}vNBxewW6F?|iB$fjz7l7qRmaqt9>Q)_AxZMB#D@(15tFb$Viv^r z=jZI4Tfa?tM;}0NM5%EIR}P6M%yeG3GIMstjw!i1%u3Wx3YpOJ%m*Hrnud9<<91|j zr+>b@pb0wNNh%0XYf+)V&85O-6$qnx{gb$0={x;#+Q-dJa2hFz_gS#4r@hF+CUI@w zc~xd{sWh5k6AlY=q`L)<-^=4vb|B`QLGyNmff*qxLCmCrk$L077H^|%h*I@lpyVkY z_!W7PMHk~mgEhg3+nkf2r6k(T;p3JcgBvZJ7V#rpAS^IgYPmE0NQ@(iA&FjU>Bp)- zSmesZZptGFM1zg=kWrq%yur#1kDBWnvCqIl`che43f-lX&w* zc_RyW6&j3soq*kaW7;zG#>XfS$LHPzY(nZ;JA<^6hRf2 zH!-KzO5>A-<|I3z+4XS0&%K@TGr%U4BFIU*XkRKW=eGl{obu3s?-`?NUsddR_Ssux zmju$(=7TEmRW+zjNNaq|QaR4aB6x`+fac)qJLkj{GZV1#`n<`9|NJi5D1bN zs(@)x`l*mG)S8RI?@%=;ZRvti_@FR|NvDnD;D^CL`=40Gv z&7au0)k;10@6V467?o8-fp`#vdeBEU3$CwdowhIj1`{raOrFY*X^IgZ8-ROXOB(xC72j~E z$5y^isu4g_+#f9pfm(0MO^}%ND(q3=^3r@`SeOTk=8Y7S-&;j&FoZo&$)yxF zf;M^-{tYOwqFn_VG_QMGllnj*Pa~IpQ;>~m$D2ty*&Ij}Cu%I`W3=}SnZbJG zAV?OW&Jxl0_(3r!cDeMLR)?kJzZWdGtY3=9C7X5mCEgZ)iMdi~x6ahAr}kJ7h|434*ykkAXRTG78$`K>_L)r{$58hzQo~(QALN7a z7%xn#Q#$PeWYqwMcac8b*2=M(z@%xJEj4RmkD8W+VcTQKnT+@6ybJUdL8$u<&!$}s zP~6jjisJ?bGCyCH=jHWz89CLv0d1FypnKW)8?~!Nw1xhQbpyFt*p(0c;ej)s%@=v6 z4mcvz6$wJebVs)YWImMq_7>A6hQ7E|N(_YRl~w>yF;o=~cpqyU8&t2I#*9kYu|8kb zq~u;bLipmAxtt42|9z158cNjKJImy}l5p~MXGQJ<6r!V-rV>q28zrHpt}ZVx4`kqu zmnWv8k^n_5CFL)gVq#`yTRPp;B>eFsGWoQ@=exx9`!jOXpsz!SV3EFGb%0z$GHGG9yErnaH^aUnmI)z;Yjb z7p>OV_oJn!pG8>lq%lY_ki+t^@}`=SNxDLg#!t zeom_r1>H|->YSqc*U;_3_O{u;vn5haqs>#Nptl6X#Ks|I6%|lXuzez6LZoK(e(!~x zX@ZZ;-g}}|%c!iv;0%*hu!?mLgb0abWn~eFl97>-hjnzkm2j!+f15sTrmn6IY?70k z>pEs$Se(As)>QkbAc@(`!C(>0>-xK>sv36J^$5NDJNS_TWKXH7slXyxqe1hRJZ>^g z0ImM ztA4rQh=@|wl4BqQv|QZRCwSDfG&G{L(08=Z$$s+P?x~-Vv3c=~n{Elt z)rNQooG-=~YWA2SX4cW^41Dhwd1p4ve+GRL!YTK3z=IxbqJ!sF%b`GFdT~83hdPO| zZ;=juV}rG}*eL~y8Hy3iU`)w9nrWQ$P#rmzyW2>JtdIHGUY(kW3A_?#G9e-i48Mqo z8?vI#@?UTGkqGXzQTBN=3g=UIultt#z-)e?ZtyudOh=0q(q!Oc-gH}omY2sq7M(M5 z=g@?YFLumv_a^@I8y7QLBQFXV$yI2(>N&3v)f|dD+8~~wOpgEa$>x!i0lw`nJ6OJv z(jyKwFM1TzQ)_NLOMg9Xhi&Dy@fns(k?P(@1P~dvl%F21js!~XxfvA-)93szY_4hH zVP%ht`7$^Z#zE@y>@pqmr%x>$*_K~s760QxtqeN!@4xRRPX|E>38_`f@iiTDK+=V+ z_TcxJ8egI^DJ`O(%8c+X=tX7#1j3fGOqX|595-F4eULvpVJWLdA@bF&?RD*{1G7KY zecYiF9&3kjt|XFctLWbQ3r6zaK7bajoEG5e+34hvjk?SKUYS)ea4Yu(tBetfe2BA{ zkY_M?078z(z~(o#zxZ$AcNZNjYkX-in(&cFJl*SpuoQ7gU~e|7sz*+NwZF!R-zR_C zHRIEQ>0{#!nvR!$cot*CquGvPApPdtbi< z%8@1Hxd%5CJ|A{2r2Z3oLosuO<%Y1 zmZ~2-Js8R%8>tn);9u>=6~A}a5NlZzdYycwPCGvw2D7aN1_{|jmcHD``3u%!!hIWX z`o_4r(NHJW1Zey|l!V6A_W9LYIt<%hgHkvD`wLid(E9KOa~bt|Sg0HmOU}E<8&8+~ zwYz+aW@G4K>wWMA@sw5h_X0J)wxC4}NpLlcUi}SXP)R-%v)!)985OirfG4PZJ)FJe zRcb}{r(pdc6g;1R2%BImbLxn24dx8_*gXRm8(SuNjs=F;Q#&y&Eet|$RP~M4&C~zcg+<$!@9rK-6^cKsp?>}!*k{<4M%ab615TOMjLwIc51k95H z{_}$dK~w=g{|5O#y*Xq9_JP2cbg>*s{#_1bhlekiBEm!9qx-f||4+^Re_n!1w1*mAPWLE5P%IO#K!U(_C(gz)d93u@RUr}C=mH`P*YRG zVEQ2G73@^*Gt+p3l@g?_A6;DQ+KBqyJKpjIchtiO;JyU%;}C3b=X}{$ctbeDDlt^j zhMBb+uEFLxI1~UgSMGxu*OOtOP?%e=-J2-~;5zjRi|OT7-^ZBkAi*D(;uY6=Dp-d> zp&TGVow4BY(e<$;z=%ZvY|(d=hn>2CRk-?XHX_phWP%`Y0S%j)Zuww8(E`{&K+piX z0Ns8N-{j`xfE=a<(1_s0D!7}Zz~JD8Qsa;vaTF93096N~DgoP7znGhohuW?$PA&MY z3b>6pC$ZnEztT%IUmSIvqQd1_yJcDk9Iiq$(WuA73JmMi#3Ui#6xa#puY2DFTv?PP zt@%V=aU<|tQt#gJfdru=3yaHWsV*j8w36|LpsK38t#5L zKKXI50QxnP8xeSkH&w)~wYA-$2 ziG)+YIo8+H8%X3s_yN1t6%<%a6%Nf-SUzWD+}hn$U?4o}3WG`9gQNxpuXX_wfz(n? zM5K9X>6a|S?$%bAR0gnic3vKN&2(FvSh?D3!ydvb>0%XTqJa7fUIYjys8C;)L+cHpL1tvZ9&r_rWY3||;7-K(mei0#*SNn*L>cQotO zFe9FHv|Q_4#Q0bF$SAObTNu{C{x*>ea9@zTQ07fqm;IzOK6ZvwAyyQTjYvB5ioL&o z$Htz~j_+Sj!I-k(`E%jopGuDJYy>u{S%`wBJx_Ng0n2b9Aq31mJVGr^luT1605;s) z+k4|>X=!r!T$aXQzx)5a2A8+wcO;10umggrKD_&yL!PRZHP6Irk2)z|0Nj007^#Xb`H## zS6Il(!U8CzPC#G&U38h%{h}9ya)8|pc!Z$Z+U@NvNEa)uten(gvzRJc?qzKhu-{ct zQ;QD}4|ZTD3u3K5837Q8XlB)wJ$kS-Eg?^sgMkbvoM-t!p5hLKu4j&_s;Vj~Q$V+| z$BK>iMovynObnG;EJap9N$FLE^%YIV$LZnWWs{-N(KqNISBCU#qBS1dkRz@@qk82g z3&o+Tu~HL@6cu_a47qN*5n`dD)v2ABm;kvC*pG0)D*)6R(WtTpGMM>>2Un@!kH!m) zs?bh^9AQ*Kg7Zq-5B$abldaJ-ZjeL(^sRou!F1j-aU2nOnLxhk-lw zuOkDf^;ORR-y+1%udA!;&^?Bp|F18WR|^HNwaw6;*UBwb%+En+5&Y!rOo}!f1m{4Z zpjm7GE@K4z9K@71+|B^3iB1hp!wWE80F{PL4Rmwyu5$YN2%ufvqu&7&31ibZ;g`nl zUWx`5;99v{Ze{Ixg(oFZ9>UqSsyGcu2tPD?26(+CCwv*=i!&$H1U7q~c>~?s;_ZkQ zvJ>dm{g>vZrprf;px2UJ<=}8Q&=;$zk@c3`+}wctLg(Gr1 zX?0G{Js^PV{lk(!5fKS*d_h4xZqFcSdp-Dc=fkhI{@)k)GL-kQELo z+IRjoJ$4)o4bGKcRqg_IOGBh=|5kyYJeD)}tAMS9gs)biLup(<&j_J-bpbOrVh!A& z<+@Xs^)Fo7m;bMy{Jd7ysU~H~rJ4$!OV>{KCG?E2X<6-CzLX$BhPXckO6O)OVqa)c zLR5z4%QuEw!nU73)oOE+Ut|C8mu#eP!>!@?loGqA)s2<&Al`m??Fl*m@z7lZbcmHw zwEZwvR0c}->4N>|uBV}MR2&czVt7diRhCpx@~}xF-{(vq0cmu<1F4D;;1wQj_llyo zWM?8D=3NKGSp^Bj%vUXsSn))YfCv<1Re>cg6wej_yi*SJ8X3t)w_IA<7wp};b^(Gk zkTDBsX+3oMf4Yr_LEk7@w<^j*weq=i$VA{5Rl6ChvYwG8Bx2{;8|qT^5(A7JN;HqF zHywJiRjBtp{hvb^?7Iy4_D#&qOQ$UWp@xdAOobWQQ>V|!-l@JJJDU+yi0nj64DJ$) zm^eFYyg~C^y$wZbs;WwM<&D3OR_J&VDUkm+3VQl4Bx=4xS)%@a6@dl^fd~ZhPW*#d JfvC>6{{lr($BzI2 diff --git a/examples/03.IAXO/limits/IAXOPlus_Combined.csv b/examples/03.IAXO/limits/IAXOPlus_Combined.csv index 32cc801d..5537fb57 100644 --- a/examples/03.IAXO/limits/IAXOPlus_Combined.csv +++ b/examples/03.IAXO/limits/IAXOPlus_Combined.csv @@ -1,466 +1,466 @@ -0.001 5.88336e-07 -0.00102 5.88336e-07 -0.0010404 5.88336e-07 -0.00106121 5.88336e-07 -0.00108243 5.88336e-07 -0.00110408 5.88336e-07 -0.00112616 5.88336e-07 -0.00114869 5.88336e-07 -0.00117166 5.88336e-07 -0.00119509 5.88336e-07 -0.00121899 5.88336e-07 -0.00124337 5.88336e-07 -0.00126824 5.88336e-07 -0.00129361 5.88336e-07 -0.00131948 5.88336e-07 -0.00134587 5.88336e-07 -0.00137279 5.88454e-07 -0.00140024 5.88454e-07 -0.00142825 5.88454e-07 -0.00145681 5.88454e-07 -0.00148595 5.88454e-07 -0.00151567 5.88454e-07 -0.00154598 5.88454e-07 -0.0015769 5.88454e-07 -0.00160844 5.88454e-07 -0.00164061 5.88571e-07 -0.00167342 5.88571e-07 -0.00170689 5.88571e-07 -0.00174102 5.88571e-07 -0.00177584 5.88571e-07 -0.00181136 5.88689e-07 -0.00184759 5.88689e-07 -0.00188454 5.88689e-07 -0.00192223 5.88807e-07 -0.00196068 5.88807e-07 -0.00199989 5.88807e-07 -0.00203989 5.88925e-07 -0.00208069 5.88925e-07 -0.0021223 5.88925e-07 -0.00216474 5.89042e-07 -0.00220804 5.89042e-07 -0.0022522 5.8916e-07 -0.00229724 5.89278e-07 -0.00234319 5.89278e-07 -0.00239005 5.89396e-07 -0.00243785 5.89514e-07 -0.00248661 5.89514e-07 -0.00253634 5.89632e-07 -0.00258707 5.8975e-07 -0.00263881 5.89868e-07 -0.00269159 5.89986e-07 -0.00274542 5.90222e-07 -0.00280033 5.9034e-07 -0.00285633 5.90458e-07 -0.00291346 5.90694e-07 -0.00297173 5.90812e-07 -0.00303117 5.91048e-07 -0.00309179 5.91285e-07 -0.00315362 5.91521e-07 -0.0032167 5.91758e-07 -0.00328103 5.92113e-07 -0.00334665 5.9235e-07 -0.00341358 5.92706e-07 -0.00348186 5.93061e-07 -0.00355149 5.93417e-07 -0.00362252 5.93773e-07 -0.00369497 5.94248e-07 -0.00376887 5.94724e-07 -0.00384425 5.952e-07 -0.00392114 5.95798e-07 -0.00399956 5.96275e-07 -0.00407955 5.96871e-07 -0.00416114 5.97588e-07 -0.00424436 5.98305e-07 -0.00432925 5.99024e-07 -0.00441584 5.99863e-07 -0.00450415 6.00703e-07 -0.00459424 6.01665e-07 -0.00468612 6.02628e-07 -0.00477984 6.03714e-07 -0.00487544 6.04922e-07 -0.00497295 6.06133e-07 -0.00507241 6.07471e-07 -0.00517386 6.08809e-07 -0.00527733 6.10394e-07 -0.00538288 6.11983e-07 -0.00549054 6.13821e-07 -0.00560035 6.15665e-07 -0.00571235 6.17638e-07 -0.0058266 6.19868e-07 -0.00594313 6.22104e-07 -0.006062 6.24722e-07 -0.00618324 6.27351e-07 -0.0063069 6.30243e-07 -0.00643304 6.33278e-07 -0.0065617 6.36707e-07 -0.00669293 6.40154e-07 -0.00682679 6.44006e-07 -0.00696333 6.48014e-07 -0.00710259 6.52304e-07 -0.00724465 6.57017e-07 -0.00738954 6.619e-07 -0.00753733 6.67082e-07 -0.00768808 6.72577e-07 -0.00784184 6.78386e-07 -0.00799867 6.84522e-07 -0.00815865 6.91054e-07 -0.00832182 6.97859e-07 -0.00848826 7.05157e-07 -0.00865802 7.12813e-07 -0.00883118 7.20844e-07 -0.00900781 7.29403e-07 -0.00918796 7.38207e-07 -0.00937172 7.4757e-07 -0.00955916 7.57351e-07 -0.00975034 7.6757e-07 -0.00994535 7.78394e-07 -0.0101443 7.89687e-07 -0.0103471 8.0146e-07 -0.0105541 8.13738e-07 -0.0107652 8.26615e-07 -0.0109805 8.39946e-07 -0.0112001 8.53837e-07 -0.0114241 8.68132e-07 -0.0116526 8.82666e-07 -0.0118856 8.97622e-07 -0.0121233 9.1265e-07 -0.0123658 9.27739e-07 -0.0126131 9.42894e-07 -0.0128654 9.57879e-07 -0.0131227 9.72942e-07 -0.0133851 9.88238e-07 -0.0136528 1.00438e-06 -0.0139259 1.0216e-06 -0.0142044 1.0412e-06 -0.0144885 1.06394e-06 -0.0147783 1.09131e-06 -0.0150738 1.12433e-06 -0.0153753 1.16473e-06 -0.0156828 1.21396e-06 -0.0159965 1.27469e-06 -0.0163164 1.34866e-06 -0.0166427 1.43938e-06 -0.0169756 1.55057e-06 -0.0173151 1.68798e-06 -0.0176614 1.85772e-06 -0.0180146 2.06829e-06 -0.0183749 2.32945e-06 -0.0187424 2.65343e-06 -0.0191173 3.05375e-06 -0.0194996 3.5441e-06 -0.0198896 4.12915e-06 -0.0202874 4.79794e-06 -0.0206931 5.5229e-06 -0.021107 6.27968e-06 -0.0215291 7.07971e-06 -0.0219597 8.00297e-06 -0.0223989 9.19564e-06 -0.0228469 1.08433e-05 -0.0233038 1.30903e-05 -0.0237699 1.58086e-05 -0.0242453 1.84207e-05 -0.0247302 2.0273e-05 -0.0252248 2.12359e-05 -0.0257293 2.1544e-05 -0.0262439 2.1185e-05 -0.0267688 2.01315e-05 -0.0273042 1.87479e-05 -0.0278502 1.7367e-05 -0.0284072 1.5834e-05 -0.0289754 1.39346e-05 -0.0295549 1.17712e-05 -0.030146 9.70978e-06 -0.0307489 8.0206e-06 -0.0313639 6.80071e-06 -0.0319912 6.12217e-06 -0.032631 6.13933e-06 -0.0332836 6.92979e-06 -0.0339493 8.33462e-06 -0.0346283 1.02118e-05 -0.0353208 1.25368e-05 -0.0360272 1.54368e-05 -0.0367478 1.84946e-05 -0.0374827 1.95443e-05 -0.0382324 1.72217e-05 -0.0389971 1.38291e-05 -0.039777 1.1215e-05 -0.0405725 9.81721e-06 -0.041384 1.01914e-05 -0.0422117 1.27518e-05 -0.0430559 1.79031e-05 -0.043917 2.54271e-05 -0.0447954 3.03482e-05 -0.0456913 2.95042e-05 -0.0466051 2.33689e-05 -0.0475372 1.78067e-05 -0.0484879 1.7517e-05 -0.0494577 2.38554e-05 -0.0504468 3.63837e-05 -0.0514558 5.42753e-05 -0.0524849 5.4591e-05 -0.0535346 4.10519e-05 -0.0546053 3.02876e-05 -0.0556974 3.4943e-05 -0.0568113 5.67851e-05 -0.0579476 8.07195e-05 -0.0591065 7.01944e-05 -0.0602886 4.88991e-05 -0.0614944 5.33176e-05 -0.0627243 9.68247e-05 -0.0639788 0.000121733 -0.0652584 9.45472e-05 -0.0665635 6.15007e-05 -0.0678948 0.000103971 -0.0692527 0.000190042 -0.0706378 0.000135397 -0.0720505 9.23788e-05 -0.0734915 0.00016904 -0.0749614 0.000201433 -0.0764606 0.000139716 -0.0779898 0.000167894 -0.0795496 0.000334715 -0.0811406 0.000174084 -0.0827634 0.000200508 -0.0844187 0.00050275 -0.086107 0.000190919 -0.0878292 0.000360319 -0.0895858 0.000428421 -0.0913775 0.000255022 -0.093205 0.000555521 -0.0950691 0.000297813 -0.0969705 0.000670368 -0.0989099 0.000404158 -0.100888 0.000708489 -0.102906 0.000547796 -0.104964 0.000861141 -0.107063 0.000516407 -0.109205 0.00120202 -0.111389 0.000522121 -0.113616 0.00145227 -0.115889 0.00100289 -0.118207 0.000768733 -0.120571 0.00172332 -0.122982 0.00122239 -0.125442 0.000864074 -0.127951 0.00175076 -0.13051 0.00278312 -0.13312 0.00201704 -0.135782 0.00116614 -0.138498 0.00133886 -0.141268 0.00185347 -0.144093 0.00256603 -0.146975 0.00325858 -0.149914 0.0042973 -0.152913 0.00379774 -0.155971 0.00321455 -0.15909 0.00278034 -0.162272 0.00214607 -0.165518 0.00345975 -0.168828 0.00654589 -0.172205 0.00589453 -0.175649 0.00303399 -0.179162 0.0100127 -0.182745 0.00507695 -0.1864 0.00873499 -0.190128 0.00480137 -0.19393 0.0139167 -0.197809 0.00660378 -0.201765 0.00636514 -0.2058 0.0124333 -0.209916 0.0161331 -0.214115 0.0185578 -0.218397 0.0201056 -0.222765 0.0170727 -0.22722 0.0117985 -0.231765 0.00953954 -0.2364 0.0261679 -0.241128 0.0119577 -0.245951 0.0358819 -0.25087 0.0139195 -0.255887 0.200692 -0.261005 0.125702 -0.266225 0.21221 -0.271549 0.134952 -0.27698 0.180072 -0.28252 0.290173 -0.28817 0.277515 -0.293934 0.237244 -0.299812 0.343709 -0.305809 0.246384 -0.311925 0.428171 -0.318163 0.38944 -0.324526 0.323691 -0.331017 0.51595 -0.337637 0.508674 -0.34439 0.335692 -0.351278 0.447836 -0.358303 1.1773 -0.36547 0.665502 -0.372779 0.69322 -0.380235 1.09091 -0.387839 0.89067 -0.395596 0.635704 -0.403508 1.417 -0.411578 0.614207 -0.41981 1.49577 -0.428206 1.20168 -0.43677 1.15191 -0.445505 1.38672 -0.454415 1.1982 -0.463504 2.38254 -0.472774 1.47557 -0.482229 2.40817 -0.491874 2.28819 -0.501711 1.40627 -0.511746 2.10676 -0.52198 1.87531 -0.53242 1.65841 -0.543069 3.69995 -0.55393 2.15061 -0.565008 2.4314 -0.576309 2.57198 -0.587835 3.76114 -0.599592 2.36261 -0.611583 6.41956 -0.623815 2.99394 -0.636291 6.03118 -0.649017 6.89338 -0.661997 5.82021 -0.675237 4.34621 -0.688742 9.53587 -0.702517 6.23229 -0.716567 12.7725 -0.730899 7.84341 -0.745517 12.3776 -0.760427 17.4057 -0.775636 19.8164 -0.791148 13.784 -0.806971 11.3134 -0.823111 17.4685 -0.839573 14.5765 -0.856364 16.9895 -0.873492 24.2844 -0.890961 18.3715 -0.908781 21.3344 -0.926956 25.6372 -0.945495 34.5339 -0.964405 34.3205 -0.983693 43.1839 -1.00337 22.7765 -1.02343 37.3358 -1.0439 36.8094 -1.06478 38.6002 -1.08608 38.1664 -1.1078 72.7405 -1.12995 43.3659 -1.15255 64.8633 -1.1756 60.9412 -1.19912 104.746 -1.2231 83.7147 -1.24756 86.888 -1.27251 60.3469 -1.29796 68.9299 -1.32392 133.224 -1.3504 139.497 -1.37741 107.635 -1.40496 110.725 -1.43306 152.421 -1.46172 149.045 -1.49095 179.248 -1.52077 295.065 -1.55119 164.376 -1.58221 154.462 -1.61385 182.54 -1.64613 302.777 -1.67905 471.609 -1.71263 195.523 -1.74689 306.924 -1.78182 250.388 -1.81746 328.819 -1.85381 289.511 -1.89089 541.384 -1.9287 293.181 -1.96728 557.54 -2.00662 369.009 -2.04676 438.798 -2.08769 402.635 -2.12945 1134.43 -2.17203 564.835 -2.21547 597.253 -2.25978 1144 -2.30498 1168.28 -2.35108 789.164 -2.3981 726.956 -2.44606 1226.96 -2.49498 1629.66 -2.54488 1369.78 -2.59578 1556.38 -2.6477 1502.24 -2.70065 1110.19 -2.75466 1473.83 -2.80976 1938.07 -2.86595 1326.9 -2.92327 1656.61 -2.98174 3811.55 -3.04137 1875.14 -3.1022 4198.02 -3.16424 2877.15 -3.22753 3596.74 -3.29208 4312.06 -3.35792 6699.74 -3.42508 3771.36 -3.49358 4500.64 -3.56345 4818.35 -3.63472 7565.38 -3.70742 11536.3 -3.78156 8334.11 -3.8572 6646.36 -3.93434 8803.63 -4.01303 8893.92 -4.09329 7866.3 -4.17515 13284.8 -4.25866 14598.6 -4.34383 13431.7 -4.4307 19668.7 -4.51932 10322.1 -4.60971 16605 -4.7019 18252.8 -4.79594 20239.3 -4.89186 21789.7 -4.98969 21711.5 -5.08949 19312 -5.19128 22278.9 -5.2951 47171.8 -5.401 26601.4 -5.50902 40934.7 -5.61921 41189.3 -5.73159 26756.1 -5.84622 35518.8 -5.96315 36106.1 -6.08241 60936 -6.20406 48361.2 -6.32814 93236.7 -6.4547 52905.5 -6.58379 80618.1 -6.71547 48817.9 -6.84978 64523.6 -6.98678 109712 -7.12651 123171 -7.26904 126188 -7.41442 98617.4 -7.56271 78431.3 -7.71396 136996 -7.86824 105832 -8.02561 130736 -8.18612 150199 -8.34984 209014 -8.51684 233951 -8.68718 160914 -8.86092 390777 -9.03814 203649 -9.2189 260689 -9.40328 338872 -9.59135 241754 -9.78317 262984 -9.97884 290356 +0.001 3.05641e-12 +0.00102 3.05641e-12 +0.0010404 3.05641e-12 +0.00106121 3.05641e-12 +0.00108243 3.05641e-12 +0.00110408 3.05641e-12 +0.00112616 3.05641e-12 +0.00114869 3.05641e-12 +0.00117166 3.05641e-12 +0.00119509 3.05641e-12 +0.00121899 3.05641e-12 +0.00124337 3.05641e-12 +0.00126824 3.05641e-12 +0.00129361 3.05641e-12 +0.00131948 3.05641e-12 +0.00134587 3.05641e-12 +0.00137279 3.05656e-12 +0.00140024 3.05656e-12 +0.00142825 3.05656e-12 +0.00145681 3.05656e-12 +0.00148595 3.05656e-12 +0.00151567 3.05656e-12 +0.00154598 3.05656e-12 +0.0015769 3.05656e-12 +0.00160844 3.05656e-12 +0.00164061 3.05656e-12 +0.00167342 3.05656e-12 +0.00170689 3.05656e-12 +0.00174102 3.05656e-12 +0.00177584 3.05656e-12 +0.00181136 3.05656e-12 +0.00184759 3.05656e-12 +0.00188454 3.05671e-12 +0.00192223 3.05671e-12 +0.00196068 3.05671e-12 +0.00199989 3.05671e-12 +0.00203989 3.05671e-12 +0.00208069 3.05686e-12 +0.0021223 3.05686e-12 +0.00216474 3.05686e-12 +0.00220804 3.05686e-12 +0.0022522 3.05702e-12 +0.00229724 3.05702e-12 +0.00234319 3.05717e-12 +0.00239005 3.05717e-12 +0.00243785 3.05717e-12 +0.00248661 3.05732e-12 +0.00253634 3.05748e-12 +0.00258707 3.05748e-12 +0.00263881 3.05763e-12 +0.00269159 3.05778e-12 +0.00274542 3.05778e-12 +0.00280033 3.05794e-12 +0.00285633 3.05809e-12 +0.00291346 3.05824e-12 +0.00297173 3.05855e-12 +0.00303117 3.0587e-12 +0.00309179 3.05885e-12 +0.00315362 3.05916e-12 +0.0032167 3.05931e-12 +0.00328103 3.05962e-12 +0.00334665 3.05993e-12 +0.00341358 3.06023e-12 +0.00348186 3.06054e-12 +0.00355149 3.06084e-12 +0.00362252 3.0613e-12 +0.00369497 3.06176e-12 +0.00376887 3.06222e-12 +0.00384425 3.06268e-12 +0.00392114 3.06314e-12 +0.00399956 3.06375e-12 +0.00407955 3.06437e-12 +0.00416114 3.06513e-12 +0.00424436 3.06574e-12 +0.00432925 3.06651e-12 +0.00441584 3.06743e-12 +0.00450415 3.06835e-12 +0.00459424 3.06927e-12 +0.00468612 3.07035e-12 +0.00477984 3.07142e-12 +0.00487544 3.07265e-12 +0.00497295 3.07404e-12 +0.00507241 3.07542e-12 +0.00517386 3.0768e-12 +0.00527733 3.0785e-12 +0.00538288 3.08019e-12 +0.00549054 3.08219e-12 +0.00560035 3.0842e-12 +0.00571235 3.08636e-12 +0.0058266 3.08867e-12 +0.00594313 3.09115e-12 +0.006062 3.09393e-12 +0.00618324 3.09687e-12 +0.0063069 3.09997e-12 +0.00643304 3.10338e-12 +0.0065617 3.10695e-12 +0.00669293 3.11084e-12 +0.00682679 3.11504e-12 +0.00696333 3.11941e-12 +0.00710259 3.12425e-12 +0.00724465 3.12922e-12 +0.00738954 3.1347e-12 +0.00753733 3.14035e-12 +0.00768808 3.14648e-12 +0.00784184 3.1531e-12 +0.00799867 3.16004e-12 +0.00815865 3.16732e-12 +0.00832182 3.17525e-12 +0.00848826 3.18351e-12 +0.00865802 3.19228e-12 +0.00883118 3.20171e-12 +0.00900781 3.21166e-12 +0.00918796 3.22212e-12 +0.00937172 3.23325e-12 +0.00955916 3.24508e-12 +0.00975034 3.2576e-12 +0.00994535 3.27073e-12 +0.0101443 3.28483e-12 +0.0103471 3.29965e-12 +0.0105541 3.31552e-12 +0.0107652 3.33215e-12 +0.0109805 3.34985e-12 +0.0112001 3.3685e-12 +0.0114241 3.3881e-12 +0.0116526 3.40883e-12 +0.0118856 3.43046e-12 +0.0121233 3.45318e-12 +0.0123658 3.47675e-12 +0.0126131 3.50135e-12 +0.0128654 3.527e-12 +0.0131227 3.55338e-12 +0.0133851 3.58067e-12 +0.0136528 3.60898e-12 +0.0139259 3.63798e-12 +0.0142044 3.66793e-12 +0.0144885 3.69851e-12 +0.0147783 3.72967e-12 +0.0150738 3.76114e-12 +0.0153753 3.79268e-12 +0.0156828 3.82334e-12 +0.0159965 3.85309e-12 +0.0163164 3.88132e-12 +0.0166427 3.90732e-12 +0.0169756 3.93084e-12 +0.0173151 3.95133e-12 +0.0176614 3.96836e-12 +0.0180146 3.98128e-12 +0.0183749 3.99005e-12 +0.0187424 3.99444e-12 +0.0191173 3.99464e-12 +0.0194996 3.99165e-12 +0.0198896 3.98566e-12 +0.0202874 3.9779e-12 +0.0206931 3.97154e-12 +0.021107 3.97154e-12 +0.0215291 3.98427e-12 +0.0219597 4.01527e-12 +0.0223989 4.0668e-12 +0.0228469 4.13705e-12 +0.0233038 4.22148e-12 +0.0237699 4.3168e-12 +0.0242453 4.42008e-12 +0.0247302 4.52813e-12 +0.0252248 4.6357e-12 +0.0257293 4.73812e-12 +0.0262439 4.82974e-12 +0.0267688 4.90115e-12 +0.0273042 4.93978e-12 +0.0278502 4.93805e-12 +0.0284072 4.89209e-12 +0.0289754 4.80397e-12 +0.0295549 4.68441e-12 +0.030146 4.54265e-12 +0.0307489 4.39499e-12 +0.0313639 4.26338e-12 +0.0319912 4.1753e-12 +0.032631 4.17885e-12 +0.0332836 4.29376e-12 +0.0339493 4.48038e-12 +0.0346283 4.70177e-12 +0.0353208 4.91883e-12 +0.0360272 5.08756e-12 +0.0367478 5.15595e-12 +0.0374827 5.10183e-12 +0.0382324 4.92055e-12 +0.0389971 4.65941e-12 +0.039777 4.3895e-12 +0.0405725 4.21052e-12 +0.041384 4.26423e-12 +0.0422117 4.55106e-12 +0.0430559 4.91342e-12 +0.043917 5.22368e-12 +0.0447954 5.31268e-12 +0.0456913 5.10617e-12 +0.0466051 4.71213e-12 +0.0475372 4.33085e-12 +0.0484879 4.23798e-12 +0.0494577 4.60924e-12 +0.0504468 5.11819e-12 +0.0514558 5.41649e-12 +0.0524849 5.20725e-12 +0.0535346 4.66477e-12 +0.0546053 4.23862e-12 +0.0556974 4.45804e-12 +0.0568113 5.01395e-12 +0.0579476 5.08629e-12 +0.0591065 4.45447e-12 +0.0602886 3.77622e-12 +0.0614944 3.76754e-12 +0.0627243 4.53857e-12 +0.0639788 5.07841e-12 +0.0652584 4.53675e-12 +0.0665635 3.95509e-12 +0.0678948 4.63316e-12 +0.0692527 5.51143e-12 +0.0706378 4.94893e-12 +0.0720505 4.27127e-12 +0.0734915 5.29967e-12 +0.0749614 5.89826e-12 +0.0764606 4.7664e-12 +0.0779898 5.14873e-12 +0.0795496 6.41016e-12 +0.0811406 5.21741e-12 +0.0827634 5.45236e-12 +0.0844187 6.82448e-12 +0.086107 5.28248e-12 +0.0878292 6.38968e-12 +0.0895858 6.71179e-12 +0.0913775 5.54488e-12 +0.093205 7.6528e-12 +0.0950691 5.71806e-12 +0.0969705 7.72508e-12 +0.0989099 6.3002e-12 +0.100888 7.7885e-12 +0.102906 6.65663e-12 +0.104964 8.24808e-12 +0.107063 6.62243e-12 +0.109205 9.05401e-12 +0.111389 6.60226e-12 +0.113616 9.03276e-12 +0.115889 8.23283e-12 +0.118207 7.36343e-12 +0.120571 1.00249e-11 +0.122982 8.73084e-12 +0.125442 7.51063e-12 +0.127951 9.6214e-12 +0.13051 1.10141e-11 +0.13312 9.6065e-12 +0.135782 8.18152e-12 +0.138498 8.40421e-12 +0.141268 9.42567e-12 +0.144093 1.04432e-11 +0.146975 1.11934e-11 +0.149914 1.15953e-11 +0.152913 1.15623e-11 +0.155971 1.1051e-11 +0.15909 1.01614e-11 +0.162272 9.60506e-12 +0.165518 1.10416e-11 +0.168828 1.42655e-11 +0.172205 1.29039e-11 +0.175649 1.03989e-11 +0.179162 1.51366e-11 +0.182745 1.17859e-11 +0.1864 1.47741e-11 +0.190128 1.18758e-11 +0.19393 1.66536e-11 +0.197809 1.26775e-11 +0.201765 1.2515e-11 +0.2058 1.53946e-11 +0.209916 1.758e-11 +0.214115 1.8367e-11 +0.218397 1.8515e-11 +0.222765 1.76028e-11 +0.22722 1.49508e-11 +0.231765 1.38799e-11 +0.2364 2.00387e-11 +0.241128 1.49254e-11 +0.245951 2.08979e-11 +0.25087 1.51783e-11 +0.255887 4.02945e-11 +0.261005 4.43413e-11 +0.266225 4.60129e-11 +0.271549 4.87146e-11 +0.27698 4.92584e-11 +0.28252 5.17838e-11 +0.28817 5.16467e-11 +0.293934 5.28392e-11 +0.299812 5.58397e-11 +0.305809 5.67746e-11 +0.311925 5.77726e-11 +0.318163 5.9351e-11 +0.324526 5.98511e-11 +0.331017 6.24983e-11 +0.337637 6.37292e-11 +0.34439 6.4209e-11 +0.351278 6.51942e-11 +0.358303 6.92347e-11 +0.36547 6.76045e-11 +0.372779 7.07673e-11 +0.380235 7.19268e-11 +0.387839 7.41194e-11 +0.395596 7.47783e-11 +0.403508 7.79765e-11 +0.411578 7.71408e-11 +0.41981 8.1072e-11 +0.428206 8.28341e-11 +0.43677 8.12018e-11 +0.445505 8.31787e-11 +0.454415 8.6141e-11 +0.463504 8.73556e-11 +0.472774 9.11054e-11 +0.482229 9.28462e-11 +0.491874 9.60289e-11 +0.501711 9.71713e-11 +0.511746 9.61346e-11 +0.52198 9.91642e-11 +0.53242 1.00718e-10 +0.543069 1.03314e-10 +0.55393 1.04373e-10 +0.565008 1.0606e-10 +0.576309 1.08327e-10 +0.587835 1.10574e-10 +0.599592 1.12622e-10 +0.611583 1.1711e-10 +0.623815 1.18281e-10 +0.636291 1.22157e-10 +0.649017 1.25686e-10 +0.661997 1.26689e-10 +0.675237 1.27988e-10 +0.688742 1.3432e-10 +0.702517 1.36619e-10 +0.716567 1.38442e-10 +0.730899 1.4038e-10 +0.745517 1.44221e-10 +0.760427 1.46445e-10 +0.775636 1.50164e-10 +0.791148 1.52998e-10 +0.806971 1.54166e-10 +0.823111 1.54289e-10 +0.839573 1.59646e-10 +0.856364 1.67091e-10 +0.873492 1.67744e-10 +0.890961 1.70355e-10 +0.908781 1.71551e-10 +0.926956 1.78201e-10 +0.945495 1.82311e-10 +0.964405 1.86223e-10 +0.983693 1.88848e-10 +1.00337 1.90346e-10 +1.02343 1.96129e-10 +1.0439 1.96316e-10 +1.06478 2.06061e-10 +1.08608 2.06938e-10 +1.1078 2.19253e-10 +1.12995 2.16416e-10 +1.15255 2.26056e-10 +1.1756 2.22089e-10 +1.19912 2.37689e-10 +1.2231 2.3381e-10 +1.24756 2.43449e-10 +1.27251 2.37594e-10 +1.29796 2.5072e-10 +1.32392 2.6211e-10 +1.3504 2.67112e-10 +1.37741 2.65633e-10 +1.40496 2.69513e-10 +1.43306 2.80788e-10 +1.46172 2.81139e-10 +1.49095 2.91487e-10 +1.52077 2.948e-10 +1.55119 2.95419e-10 +1.58221 3.04653e-10 +1.61385 3.16858e-10 +1.64613 3.19755e-10 +1.67905 3.24304e-10 +1.71263 3.32083e-10 +1.74689 3.39875e-10 +1.78182 3.49597e-10 +1.81746 3.52802e-10 +1.85381 3.64659e-10 +1.89089 3.66689e-10 +1.9287 3.71459e-10 +1.96728 3.85443e-10 +2.00662 3.82333e-10 +2.04676 3.9387e-10 +2.08769 3.99684e-10 +2.12945 4.16889e-10 +2.17203 4.17556e-10 +2.21547 4.23645e-10 +2.25978 4.4108e-10 +2.30498 4.37992e-10 +2.35108 4.48441e-10 +2.3981 4.59921e-10 +2.44606 4.64777e-10 +2.49498 4.92087e-10 +2.54488 4.9364e-10 +2.59578 4.9768e-10 +2.6477 5.22859e-10 +2.70065 5.15551e-10 +2.75466 5.25769e-10 +2.80976 5.4035e-10 +2.86595 5.5197e-10 +2.92327 5.62869e-10 +2.98174 5.76076e-10 +3.04137 5.95213e-10 +3.1022 6.06207e-10 +3.16424 6.02911e-10 +3.22753 6.42234e-10 +3.29208 6.47134e-10 +3.35792 6.59994e-10 +3.42508 6.4942e-10 +3.49358 6.70674e-10 +3.56345 6.89059e-10 +3.63472 7.10171e-10 +3.70742 7.3792e-10 +3.78156 7.29282e-10 +3.8572 7.28151e-10 +3.93434 7.61309e-10 +4.01303 7.78148e-10 +4.09329 7.94465e-10 +4.17515 8.12498e-10 +4.25866 8.41379e-10 +4.34383 8.36744e-10 +4.4307 8.60398e-10 +4.51932 8.45893e-10 +4.60971 9.1773e-10 +4.7019 8.99893e-10 +4.79594 9.34774e-10 +4.89186 9.36646e-10 +4.98969 9.71898e-10 +5.08949 9.68163e-10 +5.19128 9.94364e-10 +5.2951 1.03363e-09 +5.401 1.03959e-09 +5.50902 1.07005e-09 +5.61921 1.0935e-09 +5.73159 1.11086e-09 +5.84622 1.11895e-09 +5.96315 1.14618e-09 +6.08241 1.16583e-09 +6.20406 1.20612e-09 +6.32814 1.23771e-09 +6.4547 1.2379e-09 +6.58379 1.28113e-09 +6.71547 1.26642e-09 +6.84978 1.30372e-09 +6.98678 1.35617e-09 +7.12651 1.38961e-09 +7.26904 1.40966e-09 +7.41442 1.43677e-09 +7.56271 1.45579e-09 +7.71396 1.4785e-09 +7.86824 1.51631e-09 +8.02561 1.55396e-09 +8.18612 1.58013e-09 +8.34984 1.59778e-09 +8.51684 1.66706e-09 +8.68718 1.69043e-09 +8.86092 1.7434e-09 +9.03814 1.71667e-09 +9.2189 1.78312e-09 +9.40328 1.84337e-09 +9.59135 1.83028e-09 +9.78317 1.88268e-09 +9.97884 1.96039e-09 diff --git a/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv b/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv index 606021f7..fdf6a629 100644 --- a/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv +++ b/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv @@ -1,466 +1,466 @@ -0.001 4.36853e-07 -0.00102 4.36853e-07 -0.0010404 4.36853e-07 -0.00106121 4.36853e-07 -0.00108243 4.36853e-07 -0.00110408 4.36853e-07 -0.00112616 4.36853e-07 -0.00114869 4.36853e-07 -0.00117166 4.36853e-07 -0.00119509 4.36853e-07 -0.00121899 4.36853e-07 -0.00124337 4.36853e-07 -0.00126824 4.36853e-07 -0.00129361 4.36853e-07 -0.00131948 4.36853e-07 -0.00134587 4.36853e-07 -0.00137279 4.36853e-07 -0.00140024 4.36853e-07 -0.00142825 4.36853e-07 -0.00145681 4.36853e-07 -0.00148595 4.3694e-07 -0.00151567 4.3694e-07 -0.00154598 4.3694e-07 -0.0015769 4.3694e-07 -0.00160844 4.3694e-07 -0.00164061 4.3694e-07 -0.00167342 4.3694e-07 -0.00170689 4.3694e-07 -0.00174102 4.37027e-07 -0.00177584 4.37027e-07 -0.00181136 4.37027e-07 -0.00184759 4.37027e-07 -0.00188454 4.37115e-07 -0.00192223 4.37115e-07 -0.00196068 4.37115e-07 -0.00199989 4.37115e-07 -0.00203989 4.37204e-07 -0.00208069 4.37204e-07 -0.0021223 4.37204e-07 -0.00216474 4.37292e-07 -0.00220804 4.37292e-07 -0.0022522 4.37379e-07 -0.00229724 4.37379e-07 -0.00234319 4.37467e-07 -0.00239005 4.37554e-07 -0.00243785 4.37554e-07 -0.00248661 4.37642e-07 -0.00253634 4.37729e-07 -0.00258707 4.37817e-07 -0.00263881 4.37904e-07 -0.00269159 4.37992e-07 -0.00274542 4.38079e-07 -0.00280033 4.38167e-07 -0.00285633 4.38255e-07 -0.00291346 4.3843e-07 -0.00297173 4.38518e-07 -0.00303117 4.38693e-07 -0.00309179 4.38869e-07 -0.00315362 4.39044e-07 -0.0032167 4.3922e-07 -0.00328103 4.39395e-07 -0.00334665 4.39659e-07 -0.00341358 4.39835e-07 -0.00348186 4.40099e-07 -0.00355149 4.40363e-07 -0.00362252 4.40716e-07 -0.00369497 4.41068e-07 -0.00376887 4.41421e-07 -0.00384425 4.41774e-07 -0.00392114 4.42216e-07 -0.00399956 4.42659e-07 -0.00407955 4.4319e-07 -0.00416114 4.43722e-07 -0.00424436 4.44344e-07 -0.00432925 4.44966e-07 -0.00441584 4.45679e-07 -0.00450415 4.46394e-07 -0.00459424 4.47288e-07 -0.00468612 4.48183e-07 -0.00477984 4.4917e-07 -0.00487544 4.5016e-07 -0.00497295 4.51331e-07 -0.00507241 4.52597e-07 -0.00517386 4.53866e-07 -0.00527733 4.55322e-07 -0.00538288 4.56873e-07 -0.00549054 4.58612e-07 -0.00560035 4.6045e-07 -0.00571235 4.62388e-07 -0.0058266 4.64522e-07 -0.00594313 4.66756e-07 -0.006062 4.6919e-07 -0.00618324 4.7173e-07 -0.0063069 4.74571e-07 -0.00643304 4.77505e-07 -0.0065617 4.80763e-07 -0.00669293 4.8414e-07 -0.00682679 4.87738e-07 -0.00696333 4.91655e-07 -0.00710259 4.95802e-07 -0.00724465 5.00286e-07 -0.00738954 5.04909e-07 -0.00753733 5.09985e-07 -0.00768808 5.15316e-07 -0.00784184 5.20914e-07 -0.00799867 5.26993e-07 -0.00815865 5.33248e-07 -0.00832182 5.40011e-07 -0.00848826 5.47077e-07 -0.00865802 5.54459e-07 -0.00883118 5.62277e-07 -0.00900781 5.70549e-07 -0.00918796 5.79228e-07 -0.00937172 5.88336e-07 -0.00955916 5.97947e-07 -0.00975034 6.08079e-07 -0.00994535 6.18627e-07 -0.0101443 6.29739e-07 -0.0103471 6.41435e-07 -0.0105541 6.5361e-07 -0.0107652 6.66549e-07 -0.0109805 6.7988e-07 -0.0112001 6.93962e-07 -0.0114241 7.08408e-07 -0.0116526 7.23443e-07 -0.0118856 7.38946e-07 -0.0121233 7.5463e-07 -0.0123658 7.70646e-07 -0.0126131 7.86688e-07 -0.0128654 8.03064e-07 -0.0131227 8.19617e-07 -0.0133851 8.36761e-07 -0.0136528 8.54863e-07 -0.0139259 8.74408e-07 -0.0142044 8.96367e-07 -0.0144885 9.21453e-07 -0.0147783 9.51041e-07 -0.0150738 9.85672e-07 -0.0153753 1.02672e-06 -0.0156828 1.07507e-06 -0.0159965 1.13177e-06 -0.0163164 1.19757e-06 -0.0166427 1.27418e-06 -0.0169756 1.3633e-06 -0.0173151 1.467e-06 -0.0176614 1.58856e-06 -0.0180146 1.73003e-06 -0.0183749 1.89449e-06 -0.0187424 2.08532e-06 -0.0191173 2.30582e-06 -0.0194996 2.55908e-06 -0.0198896 2.84214e-06 -0.0202874 3.14298e-06 -0.0206931 3.43867e-06 -0.021107 3.71394e-06 -0.0215291 3.98312e-06 -0.0219597 4.2908e-06 -0.0223989 4.70669e-06 -0.0228469 5.30686e-06 -0.0233038 6.17875e-06 -0.0237699 7.40265e-06 -0.0242453 8.98565e-06 -0.0247302 1.08629e-05 -0.0252248 1.3038e-05 -0.0257293 1.55764e-05 -0.0262439 1.82101e-05 -0.0267688 2.04972e-05 -0.0273042 2.27371e-05 -0.0278502 2.60709e-05 -0.0284072 3.11279e-05 -0.0289754 3.59139e-05 -0.0295549 3.76836e-05 -0.030146 3.68636e-05 -0.0307489 3.32719e-05 -0.0313639 2.66215e-05 -0.0319912 2.08821e-05 -0.032631 1.84392e-05 -0.0332836 1.89818e-05 -0.0339493 2.14795e-05 -0.0346283 2.56518e-05 -0.0353208 3.22883e-05 -0.0360272 4.31053e-05 -0.0367478 5.7944e-05 -0.0374827 6.90524e-05 -0.0382324 6.8694e-05 -0.0389971 6.72663e-05 -0.039777 7.25495e-05 -0.0405725 7.20003e-05 -0.041384 6.89144e-05 -0.0422117 7.12124e-05 -0.0430559 9.8623e-05 -0.043917 0.000133327 -0.0447954 0.000131158 -0.0456913 0.000134748 -0.0466051 0.000122805 -0.0475372 0.000105638 -0.0484879 0.000127664 -0.0494577 0.00016776 -0.0504468 0.00015717 -0.0514558 0.000172318 -0.0524849 0.000212292 -0.0535346 0.000314968 -0.0546053 0.000296861 -0.0556974 0.000257533 -0.0568113 0.000260226 -0.0579476 0.000352901 -0.0591065 0.000245512 -0.0602886 0.000257327 -0.0614944 0.000577964 -0.0627243 0.000618079 -0.0639788 0.000396947 -0.0652584 0.000474433 -0.0665635 0.000428679 -0.0678948 0.000552088 -0.0692527 0.000595744 -0.0706378 0.000826463 -0.0720505 0.000881708 -0.0734915 0.000553414 -0.0749614 0.000834768 -0.0764606 0.00094319 -0.0779898 0.000815623 -0.0795496 0.00142607 -0.0811406 0.000851207 -0.0827634 0.00110594 -0.0844187 0.00208431 -0.086107 0.00113849 -0.0878292 0.00204099 -0.0895858 0.00146101 -0.0913775 0.00266437 -0.093205 0.0013507 -0.0950691 0.0043379 -0.0969705 0.00157198 -0.0989099 0.00365467 -0.100888 0.00188827 -0.102906 0.00700864 -0.104964 0.00308541 -0.107063 0.00621418 -0.109205 0.00340211 -0.111389 0.00348684 -0.113616 0.00625658 -0.115889 0.00437886 -0.118207 0.00646004 -0.120571 0.00506273 -0.122982 0.00447807 -0.125442 0.00763664 -0.127951 0.00691674 -0.13051 0.00687534 -0.13312 0.0115049 -0.135782 0.00647041 -0.138498 0.00900107 -0.141268 0.00898488 -0.144093 0.00900287 -0.146975 0.0113449 -0.149914 0.0126972 -0.152913 0.015896 -0.155971 0.0113132 -0.15909 0.0275123 -0.162272 0.013287 -0.165518 0.0195231 -0.168828 0.0150458 -0.172205 0.0329247 -0.175649 0.0183438 -0.179162 0.0233528 -0.182745 0.0421297 -0.1864 0.0196053 -0.190128 0.0226354 -0.19393 0.0420539 -0.197809 0.0265104 -0.201765 0.0461301 -0.2058 0.0442458 -0.209916 0.0664184 -0.214115 0.0621035 -0.218397 0.042358 -0.222765 0.0395255 -0.22722 0.0608858 -0.231765 0.0714917 -0.2364 0.0622403 -0.241128 0.0604004 -0.245951 0.109566 -0.25087 0.119097 -0.255887 0.225311 -0.261005 0.0966616 -0.266225 0.180758 -0.271549 0.16149 -0.27698 0.183122 -0.28252 0.172475 -0.28817 0.230278 -0.293934 0.142926 -0.299812 0.208841 -0.305809 0.19601 -0.311925 0.49862 -0.318163 0.242618 -0.324526 0.257614 -0.331017 0.460555 -0.337637 0.407206 -0.34439 0.358311 -0.351278 0.50959 -0.358303 0.860811 -0.36547 0.497226 -0.372779 0.545781 -0.380235 0.837037 -0.387839 0.59302 -0.395596 0.559487 -0.403508 1.25951 -0.411578 0.472782 -0.41981 0.987116 -0.428206 1.10496 -0.43677 0.94311 -0.445505 1.17447 -0.454415 1.0018 -0.463504 1.45709 -0.472774 1.19198 -0.482229 1.4688 -0.491874 1.53365 -0.501711 1.34223 -0.511746 1.68684 -0.52198 1.76962 -0.53242 1.45389 -0.543069 2.82269 -0.55393 1.80646 -0.565008 2.23616 -0.576309 1.87082 -0.587835 2.6313 -0.599592 2.48748 -0.611583 4.85794 -0.623815 2.37635 -0.636291 4.16326 -0.649017 5.37107 -0.661997 7.0488 -0.675237 4.98891 -0.688742 6.05293 -0.702517 3.6383 -0.716567 9.02372 -0.730899 6.59263 -0.745517 9.57605 -0.760427 10.9811 -0.775636 20.8035 -0.791148 9.28555 -0.806971 11.489 -0.823111 13.3151 -0.839573 9.70423 -0.856364 16.5401 -0.873492 18.9198 -0.890961 19.0413 -0.908781 19.026 -0.926956 15.3977 -0.945495 33.0208 -0.964405 24.8495 -0.983693 43.653 -1.00337 28.0378 -1.02343 27.3756 -1.0439 35.7285 -1.06478 23.3414 -1.08608 26.3231 -1.1078 50.2891 -1.12995 37.5006 -1.15255 46.4129 -1.1756 51.4593 -1.19912 70.7036 -1.2231 52.4675 -1.24756 51.552 -1.27251 56.199 -1.29796 47.1334 -1.32392 139.636 -1.3504 112.849 -1.37741 81.1102 -1.40496 85.0992 -1.43306 117.455 -1.46172 115.452 -1.49095 130.533 -1.52077 254.325 -1.55119 135.481 -1.58221 118.469 -1.61385 212.872 -1.64613 243.862 -1.67905 374.51 -1.71263 198.995 -1.74689 219.048 -1.78182 303.93 -1.81746 273.359 -1.85381 244.498 -1.89089 352.947 -1.9287 243.083 -1.96728 680.113 -2.00662 336.134 -2.04676 478.448 -2.08769 410.359 -2.12945 922.322 -2.17203 524.333 -2.21547 373.986 -2.25978 1001.95 -2.30498 1112.41 -2.35108 631.595 -2.3981 736.913 -2.44606 992.573 -2.49498 1180.02 -2.54488 1074.14 -2.59578 1357.51 -2.6477 1049.92 -2.70065 824.337 -2.75466 1715.97 -2.80976 2240.44 -2.86595 1384.66 -2.92327 1648.34 -2.98174 3343.18 -3.04137 1654.95 -3.1022 4019.84 -3.16424 2595.01 -3.22753 2605.93 -3.29208 2347.8 -3.35792 4052.94 -3.42508 4276.85 -3.49358 4102.56 -3.56345 2878.88 -3.63472 3290.1 -3.70742 5253.74 -3.78156 5864.7 -3.8572 4534.09 -3.93434 6885.87 -4.01303 4395.66 -4.09329 5603.25 -4.17515 17210.3 -4.25866 15031.2 -4.34383 12221.6 -4.4307 15097.5 -4.51932 13290.1 -4.60971 13157.8 -4.7019 18289.3 -4.79594 18528.7 -4.89186 13913 -4.98969 10497 -5.08949 13205.2 -5.19128 20312.3 -5.2951 39376.7 -5.401 25691.5 -5.50902 27587.6 -5.61921 18831.4 -5.73159 23593 -5.84622 31496.7 -5.96315 23411.9 -6.08241 30842.1 -6.20406 42733.5 -6.32814 99608.4 -6.4547 44906.8 -6.58379 51393.2 -6.71547 39677.1 -6.84978 57767.1 -6.98678 91921.8 -7.12651 125258 -7.26904 104800 -7.41442 98597.7 -7.56271 86395 -7.71396 145468 -7.86824 69784.2 -8.02561 154898 -8.18612 90462.9 -8.34984 223053 -8.51684 240258 -8.68718 181869 -8.86092 269804 -9.03814 203893 -9.2189 256038 -9.40328 227491 -9.59135 176246 -9.78317 166813 -9.97884 242044 +0.001 2.16813e-12 +0.00102 2.16813e-12 +0.0010404 2.16813e-12 +0.00106121 2.16813e-12 +0.00108243 2.16813e-12 +0.00110408 2.16813e-12 +0.00112616 2.16813e-12 +0.00114869 2.16813e-12 +0.00117166 2.16813e-12 +0.00119509 2.16813e-12 +0.00121899 2.16813e-12 +0.00124337 2.16813e-12 +0.00126824 2.16813e-12 +0.00129361 2.16813e-12 +0.00131948 2.16813e-12 +0.00134587 2.16813e-12 +0.00137279 2.16813e-12 +0.00140024 2.16813e-12 +0.00142825 2.16813e-12 +0.00145681 2.16824e-12 +0.00148595 2.16824e-12 +0.00151567 2.16824e-12 +0.00154598 2.16824e-12 +0.0015769 2.16824e-12 +0.00160844 2.16824e-12 +0.00164061 2.16824e-12 +0.00167342 2.16824e-12 +0.00170689 2.16835e-12 +0.00174102 2.16835e-12 +0.00177584 2.16835e-12 +0.00181136 2.16835e-12 +0.00184759 2.16835e-12 +0.00188454 2.16846e-12 +0.00192223 2.16846e-12 +0.00196068 2.16846e-12 +0.00199989 2.16846e-12 +0.00203989 2.16857e-12 +0.00208069 2.16857e-12 +0.0021223 2.16857e-12 +0.00216474 2.16868e-12 +0.00220804 2.16868e-12 +0.0022522 2.16878e-12 +0.00229724 2.16878e-12 +0.00234319 2.16889e-12 +0.00239005 2.16889e-12 +0.00243785 2.169e-12 +0.00248661 2.16911e-12 +0.00253634 2.16922e-12 +0.00258707 2.16922e-12 +0.00263881 2.16933e-12 +0.00269159 2.16943e-12 +0.00274542 2.16954e-12 +0.00280033 2.16965e-12 +0.00285633 2.16987e-12 +0.00291346 2.16998e-12 +0.00297173 2.17009e-12 +0.00303117 2.1703e-12 +0.00309179 2.17041e-12 +0.00315362 2.17063e-12 +0.0032167 2.17085e-12 +0.00328103 2.17106e-12 +0.00334665 2.17128e-12 +0.00341358 2.17161e-12 +0.00348186 2.17182e-12 +0.00355149 2.17215e-12 +0.00362252 2.17247e-12 +0.00369497 2.1728e-12 +0.00376887 2.17324e-12 +0.00384425 2.17367e-12 +0.00392114 2.17411e-12 +0.00399956 2.17454e-12 +0.00407955 2.17498e-12 +0.00416114 2.17552e-12 +0.00424436 2.17617e-12 +0.00432925 2.17683e-12 +0.00441584 2.17748e-12 +0.00450415 2.17813e-12 +0.00459424 2.17889e-12 +0.00468612 2.17977e-12 +0.00477984 2.18064e-12 +0.00487544 2.18162e-12 +0.00497295 2.18271e-12 +0.00507241 2.1838e-12 +0.00517386 2.18501e-12 +0.00527733 2.18621e-12 +0.00538288 2.18763e-12 +0.00549054 2.18905e-12 +0.00560035 2.19069e-12 +0.00571235 2.19245e-12 +0.0058266 2.1942e-12 +0.00594313 2.19618e-12 +0.006062 2.19838e-12 +0.00618324 2.20069e-12 +0.0063069 2.20311e-12 +0.00643304 2.20575e-12 +0.0065617 2.20851e-12 +0.00669293 2.21159e-12 +0.00682679 2.21491e-12 +0.00696333 2.21834e-12 +0.00710259 2.22212e-12 +0.00724465 2.22601e-12 +0.00738954 2.23036e-12 +0.00753733 2.23482e-12 +0.00768808 2.23963e-12 +0.00784184 2.24479e-12 +0.00799867 2.2503e-12 +0.00815865 2.25616e-12 +0.00832182 2.26237e-12 +0.00848826 2.26894e-12 +0.00865802 2.27599e-12 +0.00883118 2.28351e-12 +0.00900781 2.2914e-12 +0.00918796 2.2999e-12 +0.00937172 2.30889e-12 +0.00955916 2.31843e-12 +0.00975034 2.32866e-12 +0.00994535 2.33951e-12 +0.0101443 2.35101e-12 +0.0103471 2.36338e-12 +0.0105541 2.37654e-12 +0.0107652 2.39048e-12 +0.0109805 2.40547e-12 +0.0112001 2.42134e-12 +0.0114241 2.43823e-12 +0.0116526 2.45622e-12 +0.0118856 2.47533e-12 +0.0121233 2.49559e-12 +0.0123658 2.51715e-12 +0.0126131 2.53984e-12 +0.0128654 2.56383e-12 +0.0131227 2.58934e-12 +0.0133851 2.61629e-12 +0.0136528 2.64494e-12 +0.0139259 2.6754e-12 +0.0142044 2.70798e-12 +0.0144885 2.74286e-12 +0.0147783 2.78008e-12 +0.0150738 2.81984e-12 +0.0153753 2.86232e-12 +0.0156828 2.9074e-12 +0.0159965 2.95519e-12 +0.0163164 3.00571e-12 +0.0166427 3.05901e-12 +0.0169756 3.11535e-12 +0.0173151 3.17557e-12 +0.0176614 3.23973e-12 +0.0180146 3.30824e-12 +0.0183749 3.38167e-12 +0.0187424 3.46044e-12 +0.0191173 3.54469e-12 +0.0194996 3.63506e-12 +0.0198896 3.73117e-12 +0.0202874 3.83234e-12 +0.0206931 3.93694e-12 +0.021107 4.0449e-12 +0.0215291 4.15842e-12 +0.0219597 4.28047e-12 +0.0223989 4.41349e-12 +0.0228469 4.55676e-12 +0.0233038 4.70742e-12 +0.0237699 4.86014e-12 +0.0242453 5.00693e-12 +0.0247302 5.14333e-12 +0.0252248 5.27825e-12 +0.0257293 5.42354e-12 +0.0262439 5.57909e-12 +0.0267688 5.73582e-12 +0.0273042 5.88442e-12 +0.0278502 6.00901e-12 +0.0284072 6.10487e-12 +0.0289754 6.17797e-12 +0.0295549 6.24131e-12 +0.030146 6.33907e-12 +0.0307489 6.4788e-12 +0.0313639 6.59764e-12 +0.0319912 6.63602e-12 +0.032631 6.64068e-12 +0.0332836 6.70944e-12 +0.0339493 6.8426e-12 +0.0346283 6.99954e-12 +0.0353208 7.12741e-12 +0.0360272 7.1913e-12 +0.0367478 7.26976e-12 +0.0374827 7.43224e-12 +0.0382324 7.66889e-12 +0.0389971 7.96495e-12 +0.039777 8.08858e-12 +0.0405725 8.10721e-12 +0.041384 8.39791e-12 +0.0422117 8.86184e-12 +0.0430559 9.00614e-12 +0.043917 8.9859e-12 +0.0447954 9.12948e-12 +0.0456913 9.43274e-12 +0.0466051 9.75194e-12 +0.0475372 9.64453e-12 +0.0484879 9.58251e-12 +0.0494577 1.00234e-11 +0.0504468 1.05459e-11 +0.0514558 1.01533e-11 +0.0524849 1.05507e-11 +0.0535346 1.11342e-11 +0.0546053 1.14036e-11 +0.0556974 1.118e-11 +0.0568113 1.15571e-11 +0.0579476 1.24148e-11 +0.0591065 1.16383e-11 +0.0602886 1.20222e-11 +0.0614944 1.30774e-11 +0.0627243 1.24939e-11 +0.0639788 1.29557e-11 +0.0652584 1.39613e-11 +0.0665635 1.31544e-11 +0.0678948 1.36667e-11 +0.0692527 1.46798e-11 +0.0706378 1.37893e-11 +0.0720505 1.49635e-11 +0.0734915 1.51533e-11 +0.0749614 1.46219e-11 +0.0764606 1.71493e-11 +0.0779898 1.49538e-11 +0.0795496 1.69426e-11 +0.0811406 1.67488e-11 +0.0827634 1.65424e-11 +0.0844187 1.84822e-11 +0.086107 1.64978e-11 +0.0878292 1.96802e-11 +0.0895858 1.80827e-11 +0.0913775 1.9463e-11 +0.093205 1.82544e-11 +0.0950691 2.07874e-11 +0.0969705 1.83836e-11 +0.0989099 2.03665e-11 +0.100888 2.04891e-11 +0.102906 2.4294e-11 +0.104964 2.08488e-11 +0.107063 2.2517e-11 +0.109205 2.20226e-11 +0.111389 2.41825e-11 +0.113616 2.51819e-11 +0.115889 2.34953e-11 +0.118207 2.60464e-11 +0.120571 2.33641e-11 +0.122982 2.30877e-11 +0.125442 2.60673e-11 +0.127951 2.502e-11 +0.13051 2.54567e-11 +0.13312 3.06878e-11 +0.135782 2.59502e-11 +0.138498 2.68539e-11 +0.141268 2.76089e-11 +0.144093 3.04524e-11 +0.146975 2.87609e-11 +0.149914 3.08509e-11 +0.152913 3.04113e-11 +0.155971 3.05653e-11 +0.15909 3.68536e-11 +0.162272 3.26787e-11 +0.165518 3.44878e-11 +0.168828 3.35195e-11 +0.172205 4.01296e-11 +0.175649 3.43535e-11 +0.179162 3.56946e-11 +0.182745 3.70134e-11 +0.1864 3.64431e-11 +0.190128 3.59472e-11 +0.19393 3.90605e-11 +0.197809 3.91446e-11 +0.201765 4.31072e-11 +0.2058 3.98456e-11 +0.209916 4.28064e-11 +0.214115 4.21037e-11 +0.218397 4.21206e-11 +0.222765 4.2207e-11 +0.22722 4.56713e-11 +0.231765 4.6335e-11 +0.2364 4.47512e-11 +0.241128 4.51694e-11 +0.245951 5.40256e-11 +0.25087 5.17242e-11 +0.255887 5.54252e-11 +0.261005 5.59376e-11 +0.266225 5.29636e-11 +0.271549 5.47682e-11 +0.27698 5.4574e-11 +0.28252 5.96539e-11 +0.28817 5.9046e-11 +0.293934 5.78854e-11 +0.299812 6.3054e-11 +0.305809 6.33669e-11 +0.311925 6.44858e-11 +0.318163 6.93283e-11 +0.324526 6.49258e-11 +0.331017 7.07142e-11 +0.337637 6.90169e-11 +0.34439 6.7227e-11 +0.351278 7.01653e-11 +0.358303 8.48075e-11 +0.36547 7.18872e-11 +0.372779 7.48719e-11 +0.380235 8.03114e-11 +0.387839 8.41864e-11 +0.395596 7.67829e-11 +0.403508 9.19062e-11 +0.411578 7.81404e-11 +0.41981 9.11146e-11 +0.428206 9.14341e-11 +0.43677 8.35998e-11 +0.445505 8.7033e-11 +0.454415 9.26283e-11 +0.463504 9.7322e-11 +0.472774 9.25449e-11 +0.482229 1.01623e-10 +0.491874 1.0641e-10 +0.501711 1.0025e-10 +0.511746 1.02179e-10 +0.52198 1.0734e-10 +0.53242 1.04196e-10 +0.543069 1.12335e-10 +0.55393 1.07965e-10 +0.565008 1.04988e-10 +0.576309 1.06799e-10 +0.587835 1.12509e-10 +0.599592 1.09742e-10 +0.611583 1.33723e-10 +0.623815 1.14837e-10 +0.636291 1.25448e-10 +0.649017 1.40865e-10 +0.661997 1.35697e-10 +0.675237 1.33984e-10 +0.688742 1.41946e-10 +0.702517 1.43215e-10 +0.716567 1.51817e-10 +0.730899 1.44344e-10 +0.745517 1.55005e-10 +0.760427 1.68642e-10 +0.775636 1.65213e-10 +0.791148 1.57505e-10 +0.806971 1.54629e-10 +0.823111 1.60735e-10 +0.839573 1.6003e-10 +0.856364 1.76905e-10 +0.873492 1.77215e-10 +0.890961 1.8339e-10 +0.908781 1.71903e-10 +0.926956 1.97556e-10 +0.945495 1.96787e-10 +0.964405 1.95532e-10 +0.983693 2.01445e-10 +1.00337 1.99702e-10 +1.02343 2.1786e-10 +1.0439 2.06267e-10 +1.06478 2.09935e-10 +1.08608 2.07664e-10 +1.1078 2.43692e-10 +1.12995 2.20882e-10 +1.15255 2.41569e-10 +1.1756 2.27644e-10 +1.19912 2.55721e-10 +1.2231 2.53126e-10 +1.24756 2.54586e-10 +1.27251 2.36586e-10 +1.29796 2.66458e-10 +1.32392 3.06104e-10 +1.3504 2.78272e-10 +1.37741 2.73075e-10 +1.40496 2.76662e-10 +1.43306 2.92027e-10 +1.46172 3.0444e-10 +1.49095 2.98083e-10 +1.52077 3.07254e-10 +1.55119 2.99158e-10 +1.58221 3.15972e-10 +1.61385 3.45997e-10 +1.64613 3.53314e-10 +1.67905 3.57044e-10 +1.71263 3.46552e-10 +1.74689 3.6455e-10 +1.78182 3.85954e-10 +1.81746 3.71626e-10 +1.85381 3.67956e-10 +1.89089 3.74649e-10 +1.9287 3.85617e-10 +1.96728 4.18246e-10 +2.00662 3.93359e-10 +2.04676 4.16722e-10 +2.08769 4.1691e-10 +2.12945 4.62851e-10 +2.17203 4.36309e-10 +2.21547 4.1789e-10 +2.25978 4.89901e-10 +2.30498 4.59347e-10 +2.35108 4.69448e-10 +2.3981 4.56747e-10 +2.44606 4.74428e-10 +2.49498 5.1977e-10 +2.54488 5.07392e-10 +2.59578 5.16661e-10 +2.6477 5.50041e-10 +2.70065 4.90515e-10 +2.75466 5.64334e-10 +2.80976 5.99065e-10 +2.86595 5.53075e-10 +2.92327 5.78154e-10 +2.98174 6.29421e-10 +3.04137 6.12912e-10 +3.1022 6.90992e-10 +3.16424 6.36034e-10 +3.22753 6.94352e-10 +3.29208 7.50836e-10 +3.35792 7.21338e-10 +3.42508 6.98461e-10 +3.49358 7.05111e-10 +3.56345 7.27787e-10 +3.63472 7.69269e-10 +3.70742 8.28665e-10 +3.78156 7.86992e-10 +3.8572 7.62642e-10 +3.93434 8.13108e-10 +4.01303 8.28251e-10 +4.09329 7.95459e-10 +4.17515 9.11259e-10 +4.25866 9.3585e-10 +4.34383 9.2881e-10 +4.4307 9.03229e-10 +4.51932 9.05309e-10 +4.60971 1.01088e-09 +4.7019 9.69422e-10 +4.79594 1.06062e-09 +4.89186 9.61361e-10 +4.98969 1.02575e-09 +5.08949 9.77601e-10 +5.19128 1.00992e-09 +5.2951 1.12771e-09 +5.401 1.06578e-09 +5.50902 1.17414e-09 +5.61921 1.17226e-09 +5.73159 1.13375e-09 +5.84622 1.15527e-09 +5.96315 1.16589e-09 +6.08241 1.24333e-09 +6.20406 1.23382e-09 +6.32814 1.43699e-09 +6.4547 1.26648e-09 +6.58379 1.35502e-09 +6.71547 1.28685e-09 +6.84978 1.34148e-09 +6.98678 1.51434e-09 +7.12651 1.48703e-09 +7.26904 1.58615e-09 +7.41442 1.52635e-09 +7.56271 1.48005e-09 +7.71396 1.62703e-09 +7.86824 1.59506e-09 +8.02561 1.65766e-09 +8.18612 1.6906e-09 +8.34984 1.72761e-09 +8.51684 1.88071e-09 +8.68718 1.80808e-09 +8.86092 1.98704e-09 +9.03814 1.81706e-09 +9.2189 1.85651e-09 +9.40328 2.07679e-09 +9.59135 1.87967e-09 +9.78317 1.90075e-09 +9.97884 2.02096e-09 diff --git a/examples/03.IAXO/limits/IAXO_Combined.csv b/examples/03.IAXO/limits/IAXO_Combined.csv index aa5b8925..b4f64889 100644 --- a/examples/03.IAXO/limits/IAXO_Combined.csv +++ b/examples/03.IAXO/limits/IAXO_Combined.csv @@ -1,466 +1,466 @@ -0.001 1.38043e-05 -0.00102 1.38043e-05 -0.0010404 1.38043e-05 -0.00106121 1.38043e-05 -0.00108243 1.38043e-05 -0.00110408 1.38043e-05 -0.00112616 1.38043e-05 -0.00114869 1.38043e-05 -0.00117166 1.38043e-05 -0.00119509 1.38043e-05 -0.00121899 1.38043e-05 -0.00124337 1.38043e-05 -0.00126824 1.3807e-05 -0.00129361 1.3807e-05 -0.00131948 1.3807e-05 -0.00134587 1.3807e-05 -0.00137279 1.3807e-05 -0.00140024 1.3807e-05 -0.00142825 1.3807e-05 -0.00145681 1.3807e-05 -0.00148595 1.3807e-05 -0.00151567 1.3807e-05 -0.00154598 1.3807e-05 -0.0015769 1.3807e-05 -0.00160844 1.3807e-05 -0.00164061 1.3807e-05 -0.00167342 1.3807e-05 -0.00170689 1.3807e-05 -0.00174102 1.3807e-05 -0.00177584 1.3807e-05 -0.00181136 1.3807e-05 -0.00184759 1.3807e-05 -0.00188454 1.38098e-05 -0.00192223 1.38098e-05 -0.00196068 1.38098e-05 -0.00199989 1.38098e-05 -0.00203989 1.38098e-05 -0.00208069 1.38098e-05 -0.0021223 1.38098e-05 -0.00216474 1.38126e-05 -0.00220804 1.38126e-05 -0.0022522 1.38126e-05 -0.00229724 1.38126e-05 -0.00234319 1.38153e-05 -0.00239005 1.38153e-05 -0.00243785 1.38153e-05 -0.00248661 1.38153e-05 -0.00253634 1.38181e-05 -0.00258707 1.38181e-05 -0.00263881 1.38208e-05 -0.00269159 1.38208e-05 -0.00274542 1.38236e-05 -0.00280033 1.38236e-05 -0.00285633 1.38264e-05 -0.00291346 1.38264e-05 -0.00297173 1.38291e-05 -0.00303117 1.38319e-05 -0.00309179 1.38319e-05 -0.00315362 1.38347e-05 -0.0032167 1.38374e-05 -0.00328103 1.38402e-05 -0.00334665 1.3843e-05 -0.00341358 1.38457e-05 -0.00348186 1.38513e-05 -0.00355149 1.3854e-05 -0.00362252 1.38568e-05 -0.00369497 1.38624e-05 -0.00376887 1.38679e-05 -0.00384425 1.38707e-05 -0.00392114 1.38762e-05 -0.00399956 1.38818e-05 -0.00407955 1.38901e-05 -0.00416114 1.38957e-05 -0.00424436 1.3904e-05 -0.00432925 1.39096e-05 -0.00441584 1.39179e-05 -0.00450415 1.39291e-05 -0.00459424 1.39374e-05 -0.00468612 1.39486e-05 -0.00477984 1.39597e-05 -0.00487544 1.39709e-05 -0.00497295 1.39849e-05 -0.00507241 1.39989e-05 -0.00517386 1.40129e-05 -0.00527733 1.40298e-05 -0.00538288 1.40466e-05 -0.00549054 1.40663e-05 -0.00560035 1.4086e-05 -0.00571235 1.41057e-05 -0.0058266 1.41283e-05 -0.00594313 1.41538e-05 -0.006062 1.41793e-05 -0.00618324 1.42076e-05 -0.0063069 1.42389e-05 -0.00643304 1.42703e-05 -0.0065617 1.43046e-05 -0.00669293 1.43419e-05 -0.00682679 1.43821e-05 -0.00696333 1.44224e-05 -0.00710259 1.44686e-05 -0.00724465 1.45179e-05 -0.00738954 1.45674e-05 -0.00753733 1.46229e-05 -0.00768808 1.46815e-05 -0.00784184 1.47432e-05 -0.00799867 1.48083e-05 -0.00815865 1.48766e-05 -0.00832182 1.49512e-05 -0.00848826 1.50291e-05 -0.00865802 1.51135e-05 -0.00883118 1.52045e-05 -0.00900781 1.52985e-05 -0.00918796 1.53967e-05 -0.00937172 1.55049e-05 -0.00955916 1.5617e-05 -0.00975034 1.57361e-05 -0.00994535 1.58625e-05 -0.0101443 1.59963e-05 -0.0103471 1.61409e-05 -0.0105541 1.62902e-05 -0.0107652 1.64506e-05 -0.0109805 1.6616e-05 -0.0112001 1.67964e-05 -0.0114241 1.69822e-05 -0.0116526 1.71804e-05 -0.0118856 1.73913e-05 -0.0121233 1.76119e-05 -0.0123658 1.78459e-05 -0.0126131 1.80867e-05 -0.0128654 1.83435e-05 -0.0131227 1.8617e-05 -0.0133851 1.89022e-05 -0.0136528 1.92071e-05 -0.0139259 1.95326e-05 -0.0142044 1.98914e-05 -0.0144885 2.02892e-05 -0.0147783 2.07447e-05 -0.0150738 2.12657e-05 -0.0153753 2.18828e-05 -0.0156828 2.26192e-05 -0.0159965 2.35095e-05 -0.0163164 2.45967e-05 -0.0166427 2.59305e-05 -0.0169756 2.75754e-05 -0.0173151 2.96047e-05 -0.0176614 3.21016e-05 -0.0180146 3.51745e-05 -0.0183749 3.89326e-05 -0.0187424 4.34688e-05 -0.0191173 4.88893e-05 -0.0194996 5.52392e-05 -0.0198896 6.24929e-05 -0.0202874 7.0518e-05 -0.0206931 7.89471e-05 -0.021107 8.71465e-05 -0.0215291 9.43018e-05 -0.0219597 9.95548e-05 -0.0223989 0.00010228 -0.0228469 0.000102198 -0.0233038 9.94553e-05 -0.0237699 9.45283e-05 -0.0242453 8.83311e-05 -0.0247302 8.17269e-05 -0.0252248 7.51716e-05 -0.0257293 6.86116e-05 -0.0262439 6.16978e-05 -0.0267688 5.38536e-05 -0.0273042 4.4896e-05 -0.0278502 3.5878e-05 -0.0284072 2.82058e-05 -0.0289754 2.25109e-05 -0.0295549 1.86842e-05 -0.030146 1.6099e-05 -0.0307489 1.39933e-05 -0.0313639 1.24369e-05 -0.0319912 1.18042e-05 -0.032631 1.18397e-05 -0.0332836 1.24917e-05 -0.0339493 1.43161e-05 -0.0346283 1.72838e-05 -0.0353208 2.23628e-05 -0.0360272 3.23855e-05 -0.0367478 4.69251e-05 -0.0374827 5.85382e-05 -0.0382324 6.08058e-05 -0.0389971 5.3243e-05 -0.039777 4.35994e-05 -0.0405725 3.77893e-05 -0.041384 3.83145e-05 -0.0422117 4.60603e-05 -0.0430559 6.07815e-05 -0.043917 6.8942e-05 -0.0447954 6.25304e-05 -0.0456913 6.07937e-05 -0.0466051 6.55529e-05 -0.0475372 5.76319e-05 -0.0484879 5.42427e-05 -0.0494577 6.6637e-05 -0.0504468 7.02225e-05 -0.0514558 9.09668e-05 -0.0524849 0.000117428 -0.0535346 8.62968e-05 -0.0546053 6.08058e-05 -0.0556974 7.83808e-05 -0.0568113 0.00016424 -0.0579476 0.000237359 -0.0591065 0.000152952 -0.0602886 9.66119e-05 -0.0614944 0.000102916 -0.0627243 0.000192761 -0.0639788 0.000259706 -0.0652584 0.000139576 -0.0665635 7.25205e-05 -0.0678948 0.000125136 -0.0692527 0.000257739 -0.0706378 0.000166556 -0.0720505 9.75832e-05 -0.0734915 0.000210201 -0.0749614 0.000309782 -0.0764606 0.000148104 -0.0779898 0.000192838 -0.0795496 0.000419308 -0.0811406 0.000210032 -0.0827634 0.000243808 -0.0844187 0.000523166 -0.086107 0.000227641 -0.0878292 0.000419392 -0.0895858 0.000534911 -0.0913775 0.000271716 -0.093205 0.000814808 -0.0950691 0.000313022 -0.0969705 0.000890925 -0.0989099 0.000439973 -0.100888 0.000943756 -0.102906 0.000547796 -0.104964 0.00114031 -0.107063 0.000550985 -0.109205 0.00157293 -0.111389 0.000556522 -0.113616 0.00160599 -0.115889 0.00118744 -0.118207 0.00084527 -0.120571 0.0023621 -0.122982 0.00151034 -0.125442 0.000926362 -0.127951 0.00222253 -0.13051 0.00339124 -0.13312 0.00218244 -0.135782 0.00130111 -0.138498 0.00144705 -0.141268 0.00216808 -0.144093 0.00311643 -0.146975 0.00404378 -0.149914 0.00458596 -0.152913 0.00448795 -0.155971 0.00397719 -0.15909 0.00300441 -0.162272 0.0025112 -0.165518 0.00405998 -0.168828 0.00998271 -0.172205 0.0072005 -0.175649 0.00344801 -0.179162 0.0125457 -0.182745 0.0053974 -0.1864 0.0117938 -0.190128 0.00565998 -0.19393 0.0180887 -0.197809 0.00721058 -0.201765 0.00705366 -0.2058 0.0145108 -0.209916 0.0226671 -0.214115 0.0274904 -0.218397 0.0271353 -0.222765 0.0237913 -0.22722 0.0140117 -0.231765 0.0108598 -0.2364 0.0383036 -0.241128 0.0144154 -0.245951 0.0442458 -0.25087 0.015501 -0.255887 0.720144 -0.261005 0.88747 -0.266225 0.908302 -0.271549 1.30438 -0.27698 1.46998 -0.28252 1.11875 -0.28817 1.24998 -0.293934 1.75798 -0.299812 1.49787 -0.305809 2.00802 -0.311925 2.4101 -0.318163 2.67964 -0.324526 3.17783 -0.331017 3.12052 -0.337637 2.93348 -0.34439 4.57272 -0.351278 3.97462 -0.358303 3.40488 -0.36547 4.05639 -0.372779 4.7842 -0.380235 4.66791 -0.387839 4.3523 -0.395596 6.45174 -0.403508 11.2772 -0.411578 5.45772 -0.41981 8.1649 -0.428206 12.8186 -0.43677 8.42199 -0.445505 12.7649 -0.454415 12.4223 -0.463504 13.2434 -0.472774 13.8268 -0.482229 16.9997 -0.491874 20.1442 -0.501711 16.7834 -0.511746 22.568 -0.52198 30.047 -0.53242 23.6611 -0.543069 16.3789 -0.55393 32.9746 -0.565008 24.4013 -0.576309 27.2336 -0.587835 26.9141 -0.599592 37.5832 -0.611583 38.5539 -0.623815 26.4763 -0.636291 34.7766 -0.649017 38.0292 -0.661997 40.3528 -0.675237 53.9359 -0.688742 91.3798 -0.702517 48.2398 -0.716567 66.2267 -0.730899 79.5198 -0.745517 56.3566 -0.760427 81.7947 -0.775636 70.916 -0.791148 140.476 -0.806971 109.262 -0.823111 145.51 -0.839573 107.248 -0.856364 156.39 -0.873492 184.689 -0.890961 190.542 -0.908781 213.682 -0.926956 219.048 -0.945495 180.688 -0.964405 258.469 -0.983693 394.424 -1.00337 295.833 -1.02343 255.958 -1.0439 277.435 -1.06478 286.916 -1.08608 289.916 -1.1078 421.506 -1.12995 650.44 -1.15255 587.419 -1.1756 449.592 -1.19912 371.229 -1.2231 637.177 -1.24756 469.538 -1.27251 1015.67 -1.29796 745.434 -1.32392 687.497 -1.3504 1131.26 -1.37741 821.868 -1.40496 1067.29 -1.43306 1201.22 -1.46172 1122.24 -1.49095 1075 -1.52077 1923.01 -1.55119 2087.7 -1.58221 1339.7 -1.61385 2045.62 -1.64613 1848.34 -1.67905 1806.31 -1.71263 1654.95 -1.74689 2631.6 -1.78182 2812.29 -1.81746 2952.66 -1.85381 3187.74 -1.89089 3263.89 -1.9287 2834.32 -1.96728 3777.4 -2.00662 2917.73 -2.04676 5661.85 -2.08769 5150.72 -2.12945 5563.06 -2.17203 6799.66 -2.21547 6841.94 -2.25978 7621.57 -2.30498 6945.36 -2.35108 10111.6 -2.3981 9117.27 -2.44606 7360.86 -2.49498 8674.27 -2.54488 12042 -2.59578 11813 -2.6477 17127.9 -2.70065 11307.9 -2.75466 9419.45 -2.80976 18726.1 -2.86595 30237.3 -2.92327 16021.6 -2.98174 21646.3 -3.04137 21124.5 -3.1022 18318.6 -3.16424 25112.3 -3.22753 54900 -3.29208 28889.3 -3.35792 31591.3 -3.42508 58816.2 -3.49358 37579.8 -3.56345 33356.4 -3.63472 40470.6 -3.70742 43631.8 -3.78156 46283.9 -3.8572 75854.5 -3.93434 62167.1 -4.01303 41470.3 -4.09329 100731 -4.17515 77993 -4.25866 80280.3 -4.34383 96317 -4.4307 67748.4 -4.51932 108534 -4.60971 99648.3 -4.7019 118958 -4.79594 146081 -4.89186 115511 -4.98969 175437 -5.08949 244232 -5.19128 185247 -5.2951 301664 -5.401 177236 -5.50902 245555 -5.61921 212470 -5.73159 258766 -5.84622 342073 -5.96315 325583 -6.08241 215380 -6.20406 437359 -6.32814 582223 -6.4547 389062 -6.58379 405023 -6.71547 770536 -6.84978 463525 -6.98678 618849 -7.12651 435439 -7.26904 538853 -7.41442 662332 -7.56271 881038 -7.71396 818681 -7.86824 1.24291e+06 -8.02561 935805 -8.18612 768225 -8.34984 1.21683e+06 -8.51684 1.5095e+06 -8.68718 1.1745e+06 -8.86092 1.71342e+06 -9.03814 1.94217e+06 -9.2189 1.62854e+06 -9.40328 2.30433e+06 -9.59135 2.20204e+06 -9.78317 3.19193e+06 -9.97884 3.21244e+06 +0.001 5.07892e-12 +0.00102 5.07892e-12 +0.0010404 5.07892e-12 +0.00106121 5.07892e-12 +0.00108243 5.07892e-12 +0.00110408 5.07892e-12 +0.00112616 5.07892e-12 +0.00114869 5.07892e-12 +0.00117166 5.07892e-12 +0.00119509 5.07892e-12 +0.00121899 5.07892e-12 +0.00124337 5.07892e-12 +0.00126824 5.07892e-12 +0.00129361 5.07892e-12 +0.00131948 5.07892e-12 +0.00134587 5.07892e-12 +0.00137279 5.07892e-12 +0.00140024 5.07892e-12 +0.00142825 5.07892e-12 +0.00145681 5.07892e-12 +0.00148595 5.07892e-12 +0.00151567 5.07892e-12 +0.00154598 5.07892e-12 +0.0015769 5.07892e-12 +0.00160844 5.07892e-12 +0.00164061 5.07892e-12 +0.00167342 5.07892e-12 +0.00170689 5.07892e-12 +0.00174102 5.07892e-12 +0.00177584 5.07892e-12 +0.00181136 5.07892e-12 +0.00184759 5.07892e-12 +0.00188454 5.07917e-12 +0.00192223 5.07917e-12 +0.00196068 5.07917e-12 +0.00199989 5.07917e-12 +0.00203989 5.07917e-12 +0.00208069 5.07917e-12 +0.0021223 5.07943e-12 +0.00216474 5.07943e-12 +0.00220804 5.07943e-12 +0.0022522 5.07968e-12 +0.00229724 5.07968e-12 +0.00234319 5.07968e-12 +0.00239005 5.07994e-12 +0.00243785 5.07994e-12 +0.00248661 5.08019e-12 +0.00253634 5.08019e-12 +0.00258707 5.08044e-12 +0.00263881 5.08044e-12 +0.00269159 5.0807e-12 +0.00274542 5.08095e-12 +0.00280033 5.08121e-12 +0.00285633 5.08146e-12 +0.00291346 5.08171e-12 +0.00297173 5.08197e-12 +0.00303117 5.08222e-12 +0.00309179 5.08248e-12 +0.00315362 5.08299e-12 +0.0032167 5.08324e-12 +0.00328103 5.08375e-12 +0.00334665 5.08426e-12 +0.00341358 5.08451e-12 +0.00348186 5.08527e-12 +0.00355149 5.08578e-12 +0.00362252 5.08629e-12 +0.00369497 5.08705e-12 +0.00376887 5.08782e-12 +0.00384425 5.08858e-12 +0.00392114 5.08934e-12 +0.00399956 5.09036e-12 +0.00407955 5.09138e-12 +0.00416114 5.0924e-12 +0.00424436 5.09342e-12 +0.00432925 5.09469e-12 +0.00441584 5.09597e-12 +0.00450415 5.0975e-12 +0.00459424 5.09903e-12 +0.00468612 5.10081e-12 +0.00477984 5.1026e-12 +0.00487544 5.10438e-12 +0.00497295 5.10642e-12 +0.00507241 5.10872e-12 +0.00517386 5.11102e-12 +0.00527733 5.11358e-12 +0.00538288 5.11639e-12 +0.00549054 5.11921e-12 +0.00560035 5.12254e-12 +0.00571235 5.12587e-12 +0.0058266 5.12946e-12 +0.00594313 5.13331e-12 +0.006062 5.13767e-12 +0.00618324 5.14204e-12 +0.0063069 5.14693e-12 +0.00643304 5.15234e-12 +0.0065617 5.15801e-12 +0.00669293 5.16394e-12 +0.00682679 5.17041e-12 +0.00696333 5.17739e-12 +0.00710259 5.18464e-12 +0.00724465 5.19269e-12 +0.00738954 5.20101e-12 +0.00753733 5.21012e-12 +0.00768808 5.2195e-12 +0.00784184 5.22969e-12 +0.00799867 5.24042e-12 +0.00815865 5.25197e-12 +0.00832182 5.26402e-12 +0.00848826 5.27666e-12 +0.00865802 5.29014e-12 +0.00883118 5.30444e-12 +0.00900781 5.31932e-12 +0.00918796 5.33504e-12 +0.00937172 5.35187e-12 +0.00955916 5.3693e-12 +0.00975034 5.38759e-12 +0.00994535 5.40702e-12 +0.0101443 5.42706e-12 +0.0103471 5.44855e-12 +0.0105541 5.47066e-12 +0.0107652 5.49424e-12 +0.0109805 5.5186e-12 +0.0112001 5.54433e-12 +0.0114241 5.57101e-12 +0.0116526 5.59894e-12 +0.0118856 5.62785e-12 +0.0121233 5.65748e-12 +0.0123658 5.68811e-12 +0.0126131 5.7192e-12 +0.0128654 5.75075e-12 +0.0131227 5.78232e-12 +0.0133851 5.81363e-12 +0.0136528 5.84424e-12 +0.0139259 5.87413e-12 +0.0142044 5.90269e-12 +0.0144885 5.9302e-12 +0.0147783 5.95576e-12 +0.0150738 5.97934e-12 +0.0153753 6.00061e-12 +0.0156828 6.01893e-12 +0.0159965 6.03415e-12 +0.0163164 6.04563e-12 +0.0166427 6.05349e-12 +0.0169756 6.05774e-12 +0.0173151 6.05986e-12 +0.0176614 6.06228e-12 +0.0180146 6.06744e-12 +0.0183749 6.07806e-12 +0.0187424 6.09694e-12 +0.0191173 6.12475e-12 +0.0194996 6.16161e-12 +0.0198896 6.20739e-12 +0.0202874 6.26095e-12 +0.0206931 6.32198e-12 +0.021107 6.39223e-12 +0.0215291 6.47492e-12 +0.0219597 6.57393e-12 +0.0223989 6.69201e-12 +0.0228469 6.82824e-12 +0.0233038 6.97648e-12 +0.0237699 7.12919e-12 +0.0242453 7.27886e-12 +0.0247302 7.41738e-12 +0.0252248 7.53508e-12 +0.0257293 7.62644e-12 +0.0262439 7.69732e-12 +0.0267688 7.7576e-12 +0.0273042 7.80214e-12 +0.0278502 7.81268e-12 +0.0284072 7.77159e-12 +0.0289754 7.67081e-12 +0.0295549 7.50988e-12 +0.030146 7.30109e-12 +0.0307489 7.07626e-12 +0.0313639 6.87775e-12 +0.0319912 6.75151e-12 +0.032631 6.75252e-12 +0.0332836 6.89566e-12 +0.0339493 7.12848e-12 +0.0346283 7.40589e-12 +0.0353208 7.67963e-12 +0.0360272 7.89872e-12 +0.0367478 8.01129e-12 +0.0374827 7.96216e-12 +0.0382324 7.7421e-12 +0.0389971 7.4033e-12 +0.039777 7.03639e-12 +0.0405725 6.80132e-12 +0.041384 6.88085e-12 +0.0422117 7.27341e-12 +0.0430559 7.77508e-12 +0.043917 8.16232e-12 +0.0447954 8.23777e-12 +0.0456913 7.97612e-12 +0.0466051 7.4799e-12 +0.0475372 6.96602e-12 +0.0484879 6.83473e-12 +0.0494577 7.31755e-12 +0.0504468 7.99888e-12 +0.0514558 8.38489e-12 +0.0524849 8.1206e-12 +0.0535346 7.41108e-12 +0.0546053 6.84157e-12 +0.0556974 7.1217e-12 +0.0568113 7.81659e-12 +0.0579476 7.85028e-12 +0.0591065 7.00129e-12 +0.0602886 6.08202e-12 +0.0614944 6.0638e-12 +0.0627243 7.10463e-12 +0.0639788 7.82794e-12 +0.0652584 7.16869e-12 +0.0665635 6.39671e-12 +0.0678948 7.32377e-12 +0.0692527 8.4819e-12 +0.0706378 7.80058e-12 +0.0720505 6.90636e-12 +0.0734915 8.29813e-12 +0.0749614 9.11762e-12 +0.0764606 7.65624e-12 +0.0779898 8.17498e-12 +0.0795496 9.85735e-12 +0.0811406 8.34224e-12 +0.0827634 8.66343e-12 +0.0844187 1.04976e-11 +0.086107 8.50228e-12 +0.0878292 9.98386e-12 +0.0895858 1.04772e-11 +0.0913775 8.93393e-12 +0.093205 1.17553e-11 +0.0950691 9.23832e-12 +0.0969705 1.19479e-11 +0.0989099 1.00827e-11 +0.100888 1.20985e-11 +0.102906 1.06291e-11 +0.104964 1.27736e-11 +0.107063 1.06551e-11 +0.109205 1.38806e-11 +0.111389 1.06898e-11 +0.113616 1.39648e-11 +0.115889 1.29324e-11 +0.118207 1.18308e-11 +0.120571 1.53862e-11 +0.122982 1.37349e-11 +0.125442 1.21324e-11 +0.127951 1.50679e-11 +0.13051 1.6853e-11 +0.13312 1.50634e-11 +0.135782 1.32019e-11 +0.138498 1.35605e-11 +0.141268 1.50265e-11 +0.144093 1.64443e-11 +0.146975 1.74984e-11 +0.149914 1.80556e-11 +0.152913 1.80691e-11 +0.155971 1.74451e-11 +0.15909 1.62819e-11 +0.162272 1.55541e-11 +0.165518 1.74993e-11 +0.168828 2.19265e-11 +0.172205 2.01654e-11 +0.175649 1.68488e-11 +0.179162 2.32011e-11 +0.182745 1.88617e-11 +0.1864 2.28117e-11 +0.190128 1.90885e-11 +0.19393 2.55255e-11 +0.197809 2.02209e-11 +0.201765 2.01473e-11 +0.2058 2.4089e-11 +0.209916 2.7098e-11 +0.214115 2.81695e-11 +0.218397 2.84541e-11 +0.222765 2.73075e-11 +0.22722 2.38636e-11 +0.231765 2.2417e-11 +0.2364 3.07354e-11 +0.241128 2.40445e-11 +0.245951 3.19843e-11 +0.25087 2.45198e-11 +0.255887 6.30603e-11 +0.261005 6.91724e-11 +0.266225 7.19268e-11 +0.271549 7.4517e-11 +0.27698 7.927e-11 +0.28252 7.75217e-11 +0.28817 8.12546e-11 +0.293934 8.828e-11 +0.299812 8.68243e-11 +0.305809 9.02485e-11 +0.311925 9.18052e-11 +0.318163 9.38967e-11 +0.324526 9.59665e-11 +0.331017 9.80352e-11 +0.337637 9.79813e-11 +0.34439 1.00854e-10 +0.351278 9.94076e-11 +0.358303 1.07174e-10 +0.36547 1.08257e-10 +0.372779 1.09312e-10 +0.380235 1.11039e-10 +0.387839 1.14078e-10 +0.395596 1.2184e-10 +0.403508 1.20833e-10 +0.411578 1.17239e-10 +0.41981 1.2414e-10 +0.428206 1.31976e-10 +0.43677 1.32293e-10 +0.445505 1.3636e-10 +0.454415 1.35548e-10 +0.463504 1.3947e-10 +0.472774 1.38186e-10 +0.482229 1.46057e-10 +0.491874 1.51794e-10 +0.501711 1.54598e-10 +0.511746 1.55183e-10 +0.52198 1.59255e-10 +0.53242 1.64949e-10 +0.543069 1.57371e-10 +0.55393 1.6756e-10 +0.565008 1.6766e-10 +0.576309 1.70901e-10 +0.587835 1.79372e-10 +0.599592 1.82612e-10 +0.611583 1.88226e-10 +0.623815 1.88792e-10 +0.636291 1.87718e-10 +0.649017 1.97556e-10 +0.661997 1.99842e-10 +0.675237 1.9821e-10 +0.688742 2.09694e-10 +0.702517 2.15186e-10 +0.716567 2.16145e-10 +0.730899 2.21767e-10 +0.745517 2.20672e-10 +0.760427 2.30202e-10 +0.775636 2.31994e-10 +0.791148 2.47871e-10 +0.806971 2.37808e-10 +0.823111 2.49831e-10 +0.839573 2.55836e-10 +0.856364 2.55146e-10 +0.873492 2.70824e-10 +0.890961 2.64401e-10 +0.908781 2.7542e-10 +0.926956 2.9289e-10 +0.945495 2.91021e-10 +0.964405 2.91487e-10 +0.983693 3.11267e-10 +1.00337 3.09258e-10 +1.02343 3.16288e-10 +1.0439 3.17652e-10 +1.06478 3.21599e-10 +1.08608 3.2458e-10 +1.1078 3.41067e-10 +1.12995 3.52943e-10 +1.15255 3.47593e-10 +1.1756 3.4923e-10 +1.19912 3.65462e-10 +1.2231 3.78453e-10 +1.24756 3.84673e-10 +1.27251 4.03879e-10 +1.29796 3.98048e-10 +1.32392 3.95588e-10 +1.3504 4.23645e-10 +1.37741 4.25599e-10 +1.40496 4.16847e-10 +1.43306 4.34067e-10 +1.46172 4.63523e-10 +1.49095 4.55949e-10 +1.52077 4.73693e-10 +1.55119 4.90098e-10 +1.58221 4.79672e-10 +1.61385 4.95222e-10 +1.64613 5.22441e-10 +1.67905 5.08815e-10 +1.71263 5.12851e-10 +1.74689 5.28141e-10 +1.78182 5.49519e-10 +1.81746 5.69773e-10 +1.85381 5.56014e-10 +1.89089 5.86658e-10 +1.9287 5.76624e-10 +1.96728 5.8904e-10 +2.00662 6.0264e-10 +2.04676 6.43552e-10 +2.08769 6.43166e-10 +2.12945 6.42588e-10 +2.17203 6.62408e-10 +2.21547 6.80771e-10 +2.25978 7.04618e-10 +2.30498 6.69367e-10 +2.35108 7.25462e-10 +2.3981 7.31655e-10 +2.44606 7.5596e-10 +2.49498 7.6708e-10 +2.54488 8.09214e-10 +2.59578 7.54411e-10 +2.6477 8.21938e-10 +2.70065 8.32611e-10 +2.75466 8.43865e-10 +2.80976 8.64366e-10 +2.86595 8.85917e-10 +2.92327 8.82292e-10 +2.98174 8.92944e-10 +3.04137 9.18051e-10 +3.1022 9.27279e-10 +3.16424 9.74136e-10 +3.22753 1.01819e-09 +3.29208 1.06621e-09 +3.35792 1.05465e-09 +3.42508 1.06978e-09 +3.49358 1.10515e-09 +3.56345 1.0834e-09 +3.63472 1.14486e-09 +3.70742 1.13915e-09 +3.78156 1.15106e-09 +3.8572 1.22423e-09 +3.93434 1.16898e-09 +4.01303 1.17708e-09 +4.09329 1.24184e-09 +4.17515 1.25834e-09 +4.25866 1.23129e-09 +4.34383 1.28473e-09 +4.4307 1.35306e-09 +4.51932 1.36502e-09 +4.60971 1.35414e-09 +4.7019 1.43397e-09 +4.79594 1.44131e-09 +4.89186 1.49628e-09 +4.98969 1.49456e-09 +5.08949 1.52788e-09 +5.19128 1.64725e-09 +5.2951 1.68714e-09 +5.401 1.65162e-09 +5.50902 1.64207e-09 +5.61921 1.72286e-09 +5.73159 1.74428e-09 +5.84622 1.89952e-09 +5.96315 1.81306e-09 +6.08241 1.85122e-09 +6.20406 1.91524e-09 +6.32814 1.92927e-09 +6.4547 1.97535e-09 +6.58379 2.04618e-09 +6.71547 2.08966e-09 +6.84978 2.16367e-09 +6.98678 2.17756e-09 +7.12651 2.13156e-09 +7.26904 2.2284e-09 +7.41442 2.27238e-09 +7.56271 2.37087e-09 +7.71396 2.34101e-09 +7.86824 2.51115e-09 +8.02561 2.43017e-09 +8.18612 2.5355e-09 +8.34984 2.54757e-09 +8.51684 2.60705e-09 +8.68718 2.51303e-09 +8.86092 2.71289e-09 +9.03814 2.77519e-09 +9.2189 2.8165e-09 +9.40328 2.96084e-09 +9.59135 3.00755e-09 +9.78317 2.96292e-09 +9.97884 3.14372e-09 diff --git a/examples/03.IAXO/limits/IAXO_Vacuum.csv b/examples/03.IAXO/limits/IAXO_Vacuum.csv index 7570f899..dbde75f6 100644 --- a/examples/03.IAXO/limits/IAXO_Vacuum.csv +++ b/examples/03.IAXO/limits/IAXO_Vacuum.csv @@ -1,466 +1,466 @@ -0.001 9.87036e-06 -0.00102 9.87036e-06 -0.0010404 9.87036e-06 -0.00106121 9.87036e-06 -0.00108243 9.87036e-06 -0.00110408 9.87036e-06 -0.00112616 9.87036e-06 -0.00114869 9.87036e-06 -0.00117166 9.87036e-06 -0.00119509 9.87036e-06 -0.00121899 9.87036e-06 -0.00124337 9.87036e-06 -0.00126824 9.87036e-06 -0.00129361 9.87036e-06 -0.00131948 9.87036e-06 -0.00134587 9.87036e-06 -0.00137279 9.87036e-06 -0.00140024 9.87036e-06 -0.00142825 9.87036e-06 -0.00145681 9.87036e-06 -0.00148595 9.87036e-06 -0.00151567 9.87036e-06 -0.00154598 9.87036e-06 -0.0015769 9.87036e-06 -0.00160844 9.87036e-06 -0.00164061 9.87036e-06 -0.00167342 9.87036e-06 -0.00170689 9.87036e-06 -0.00174102 9.87036e-06 -0.00177584 9.87036e-06 -0.00181136 9.87036e-06 -0.00184759 9.87036e-06 -0.00188454 9.87036e-06 -0.00192223 9.87036e-06 -0.00196068 9.87036e-06 -0.00199989 9.87036e-06 -0.00203989 9.87036e-06 -0.00208069 9.87036e-06 -0.0021223 9.87036e-06 -0.00216474 9.87036e-06 -0.00220804 9.87036e-06 -0.0022522 9.87036e-06 -0.00229724 9.87036e-06 -0.00234319 9.87036e-06 -0.00239005 9.87036e-06 -0.00243785 9.87036e-06 -0.00248661 9.87036e-06 -0.00253634 9.87036e-06 -0.00258707 9.87036e-06 -0.00263881 9.87036e-06 -0.00269159 9.87036e-06 -0.00274542 9.87036e-06 -0.00280033 9.87036e-06 -0.00285633 9.87036e-06 -0.00291346 9.87036e-06 -0.00297173 9.87036e-06 -0.00303117 9.87036e-06 -0.00309179 9.87233e-06 -0.00315362 9.87233e-06 -0.0032167 9.87233e-06 -0.00328103 9.87233e-06 -0.00334665 9.87233e-06 -0.00341358 9.87233e-06 -0.00348186 9.87233e-06 -0.00355149 9.87233e-06 -0.00362252 9.87233e-06 -0.00369497 9.87233e-06 -0.00376887 9.87233e-06 -0.00384425 9.87233e-06 -0.00392114 9.87233e-06 -0.00399956 9.87036e-06 -0.00407955 9.87036e-06 -0.00416114 9.87036e-06 -0.00424436 9.87036e-06 -0.00432925 9.87036e-06 -0.00441584 9.86839e-06 -0.00450415 9.86839e-06 -0.00459424 9.86641e-06 -0.00468612 9.86641e-06 -0.00477984 9.86444e-06 -0.00487544 9.86444e-06 -0.00497295 9.86247e-06 -0.00507241 9.8605e-06 -0.00517386 9.85852e-06 -0.00527733 9.85655e-06 -0.00538288 9.85261e-06 -0.00549054 9.85064e-06 -0.00560035 9.8467e-06 -0.00571235 9.84473e-06 -0.0058266 9.8408e-06 -0.00594313 9.83686e-06 -0.006062 9.83293e-06 -0.00618324 9.829e-06 -0.0063069 9.82507e-06 -0.00643304 9.82114e-06 -0.0065617 9.81721e-06 -0.00669293 9.81328e-06 -0.00682679 9.80936e-06 -0.00696333 9.80544e-06 -0.00710259 9.80348e-06 -0.00724465 9.80152e-06 -0.00738954 9.79956e-06 -0.00753733 9.7976e-06 -0.00768808 9.79956e-06 -0.00784184 9.79956e-06 -0.00799867 9.80348e-06 -0.00815865 9.8074e-06 -0.00832182 9.81525e-06 -0.00848826 9.82507e-06 -0.00865802 9.83883e-06 -0.00883118 9.85458e-06 -0.00900781 9.87431e-06 -0.00918796 9.89803e-06 -0.00937172 9.92781e-06 -0.00955916 9.96162e-06 -0.00975034 1.00015e-05 -0.00994535 1.00456e-05 -0.0101443 1.0094e-05 -0.0103471 1.01487e-05 -0.0105541 1.02097e-05 -0.0107652 1.02773e-05 -0.0109805 1.03496e-05 -0.0112001 1.04285e-05 -0.0114241 1.05144e-05 -0.0116526 1.06074e-05 -0.0118856 1.07097e-05 -0.0121233 1.08238e-05 -0.0123658 1.09502e-05 -0.0126131 1.10967e-05 -0.0128654 1.12645e-05 -0.0131227 1.14599e-05 -0.0133851 1.16891e-05 -0.0136528 1.19563e-05 -0.0139259 1.22713e-05 -0.0142044 1.26375e-05 -0.0144885 1.30641e-05 -0.0147783 1.35526e-05 -0.0150738 1.41142e-05 -0.0153753 1.4758e-05 -0.0156828 1.54956e-05 -0.0159965 1.63489e-05 -0.0163164 1.73427e-05 -0.0166427 1.85094e-05 -0.0169756 1.98795e-05 -0.0173151 2.14881e-05 -0.0176614 2.33596e-05 -0.0180146 2.55188e-05 -0.0183749 2.79811e-05 -0.0187424 3.07627e-05 -0.0191173 3.38898e-05 -0.0194996 3.73984e-05 -0.0198896 4.13073e-05 -0.0202874 4.55836e-05 -0.0206931 5.02073e-05 -0.021107 5.5206e-05 -0.0215291 6.06601e-05 -0.0219597 6.66237e-05 -0.0223989 7.28403e-05 -0.0228469 7.88209e-05 -0.0233038 8.42333e-05 -0.0237699 8.92545e-05 -0.0242453 9.42452e-05 -0.0247302 9.93758e-05 -0.0252248 0.000105058 -0.0257293 0.000112081 -0.0262439 0.000120041 -0.0267688 0.000127205 -0.0273042 0.000133755 -0.0278502 0.00014251 -0.0284072 0.000156824 -0.0289754 0.000183249 -0.0295549 0.000234153 -0.030146 0.000321461 -0.0307489 0.000446176 -0.0313639 0.000574507 -0.0319912 0.000645756 -0.032631 0.000644079 -0.0332836 0.000623046 -0.0339493 0.00064138 -0.0346283 0.000670234 -0.0353208 0.000705661 -0.0360272 0.000735051 -0.0367478 0.000729483 -0.0374827 0.00067955 -0.0382324 0.000613891 -0.0389971 0.000532031 -0.039777 0.000486058 -0.0405725 0.000483825 -0.041384 0.000560767 -0.0422117 0.000816439 -0.0430559 0.00119483 -0.043917 0.00164896 -0.0447954 0.00232298 -0.0456913 0.00288948 -0.0466051 0.0024659 -0.0475372 0.00214736 -0.0484879 0.00174063 -0.0494577 0.00140963 -0.0504468 0.00151064 -0.0514558 0.0022747 -0.0524849 0.00283452 -0.0535346 0.00269168 -0.0546053 0.00276094 -0.0556974 0.00375245 -0.0568113 0.00489642 -0.0579476 0.00418449 -0.0591065 0.00394156 -0.0602886 0.00512284 -0.0614944 0.00553626 -0.0627243 0.00329529 -0.0639788 0.00621791 -0.0652584 0.00867407 -0.0665635 0.00650674 -0.0678948 0.00888123 -0.0692527 0.00719186 -0.0706378 0.00632324 -0.0720505 0.0131311 -0.0734915 0.00919579 -0.0749614 0.0113381 -0.0764606 0.0124433 -0.0779898 0.00947868 -0.0795496 0.0158326 -0.0811406 0.0171103 -0.0827634 0.0154422 -0.0844187 0.0201862 -0.086107 0.0195153 -0.0878292 0.0171926 -0.0895858 0.0235122 -0.0913775 0.0263676 -0.093205 0.0203322 -0.0950691 0.0305771 -0.0969705 0.0316335 -0.0989099 0.0339819 -0.100888 0.0346062 -0.102906 0.0567121 -0.104964 0.0423072 -0.107063 0.0421634 -0.109205 0.0410483 -0.111389 0.0410319 -0.113616 0.0634191 -0.115889 0.0546956 -0.118207 0.0527247 -0.120571 0.0512173 -0.122982 0.0839902 -0.125442 0.0901081 -0.127951 0.25844 -0.13051 0.094577 -0.13312 0.0831545 -0.135782 0.181083 -0.138498 0.0994866 -0.141268 0.123192 -0.144093 0.179587 -0.146975 0.217953 -0.149914 0.112836 -0.152913 0.126332 -0.155971 0.181409 -0.15909 0.246434 -0.162272 0.276517 -0.165518 0.32395 -0.168828 0.338187 -0.172205 0.34179 -0.175649 0.234273 -0.179162 0.414023 -0.182745 0.346957 -0.1864 0.681669 -0.190128 0.309942 -0.19393 0.526585 -0.197809 0.854461 -0.201765 0.423911 -0.2058 0.896209 -0.209916 0.570791 -0.214115 0.8055 -0.218397 0.585124 -0.222765 0.629883 -0.22722 0.843085 -0.231765 0.779819 -0.2364 1.06248 -0.241128 0.912307 -0.245951 2.03917 -0.25087 1.11473 -0.255887 2.29506 -0.261005 1.0475 -0.266225 1.35302 -0.271549 2.00721 -0.27698 2.46076 -0.28252 1.57028 -0.28817 1.27115 -0.293934 2.72831 -0.299812 2.6893 -0.305809 2.41444 -0.311925 2.89328 -0.318163 4.01523 -0.324526 5.75253 -0.331017 4.67725 -0.337637 4.11277 -0.34439 5.14807 -0.351278 4.42339 -0.358303 6.24979 -0.36547 5.28052 -0.372779 8.77802 -0.380235 8.69938 -0.387839 6.85622 -0.395596 5.93305 -0.403508 15.1321 -0.411578 7.97472 -0.41981 9.94594 -0.428206 16.4774 -0.43677 9.50351 -0.445505 22.4959 -0.454415 20.8994 -0.463504 24.6023 -0.472774 14.6936 -0.482229 16.4675 -0.491874 19.7058 -0.501711 23.718 -0.511746 16.8339 -0.52198 30.1132 -0.53242 27.403 -0.543069 39.7043 -0.55393 30.1735 -0.565008 36.2178 -0.576309 35.6999 -0.587835 32.0384 -0.599592 29.4167 -0.611583 41.3248 -0.623815 41.3662 -0.636291 77.3704 -0.649017 68.2031 -0.661997 65.3322 -0.675237 51.2846 -0.688742 61.3204 -0.702517 58.4461 -0.716567 99.14 -0.730899 110.426 -0.745517 74.597 -0.760427 104.537 -0.775636 124.719 -0.791148 205.344 -0.806971 114.463 -0.823111 163.034 -0.839573 214.367 -0.856364 201.963 -0.873492 332.789 -0.890961 211.555 -0.908781 177.322 -0.926956 501.477 -0.945495 300.125 -0.964405 345.195 -0.983693 372.345 -1.00337 297.375 -1.02343 507.733 -1.0439 412.746 -1.06478 329.345 -1.08608 434.867 -1.1078 575.556 -1.12995 853.022 -1.15255 607.86 -1.1756 794.39 -1.19912 642.811 -1.2231 783.817 -1.24756 818.26 -1.27251 1012.22 -1.29796 1296.21 -1.32392 802.216 -1.3504 1435.7 -1.37741 894.163 -1.40496 1360.23 -1.43306 1632.6 -1.46172 1344.8 -1.49095 2374.25 -1.52077 4019.84 -1.55119 2127.75 -1.58221 1961.86 -1.61385 2143.56 -1.64613 2960.35 -1.67905 2445.09 -1.71263 1704.34 -1.74689 3000.88 -1.78182 2412.07 -1.81746 2646.38 -1.85381 3008.7 -1.89089 3453.97 -1.9287 5017.52 -1.96728 4760.86 -2.00662 4079.79 -2.04676 5230.67 -2.08769 6103.46 -2.12945 7259.98 -2.17203 7538.2 -2.21547 6960.66 -2.25978 6592.06 -2.30498 8952.81 -2.35108 14905.4 -2.3981 20227.2 -2.44606 14751.3 -2.49498 12886.9 -2.54488 14255.2 -2.59578 11520.2 -2.6477 21655 -2.70065 12789.3 -2.75466 13637.4 -2.80976 24365.1 -2.86595 36113.3 -2.92327 16628.3 -2.98174 34669.3 -3.04137 21768 -3.1022 22756.4 -3.16424 27264 -3.22753 106597 -3.29208 45494.5 -3.35792 26960.2 -3.42508 45258.6 -3.49358 49585.6 -3.56345 48206.7 -3.63472 47669.6 -3.70742 85912.6 -3.78156 59765 -3.8572 98854.3 -3.93434 83139.9 -4.01303 64821.1 -4.09329 78462.7 -4.17515 101215 -4.25866 78431.3 -4.34383 138650 -4.4307 97090.6 -4.51932 109427 -4.60971 92808.8 -4.7019 182124 -4.79594 185321 -4.89186 234232 -4.98969 275365 -5.08949 270560 -5.19128 312159 -5.2951 492290 -5.401 369901 -5.50902 341800 -5.61921 367393 -5.73159 243111 -5.84622 809075 -5.96315 736110 -6.08241 359470 -6.20406 326626 -6.32814 574701 -6.4547 603206 -6.58379 636740 -6.71547 843446 -6.84978 585141 -6.98678 792418 -7.12651 725007 -7.26904 578622 -7.41442 781242 -7.56271 1.13683e+06 -7.71396 905337 -7.86824 1.42871e+06 -8.02561 1.16375e+06 -8.18612 1.09772e+06 -8.34984 1.42528e+06 -8.51684 1.61266e+06 -8.68718 1.38897e+06 -8.86092 1.96995e+06 -9.03814 2.79355e+06 -9.2189 1.92245e+06 -9.40328 1.99532e+06 -9.59135 2.65941e+06 -9.78317 2.07843e+06 -9.97884 3.71414e+06 +0.001 4.42804e-12 +0.00102 4.42804e-12 +0.0010404 4.42804e-12 +0.00106121 4.42804e-12 +0.00108243 4.42804e-12 +0.00110408 4.42804e-12 +0.00112616 4.42804e-12 +0.00114869 4.42826e-12 +0.00117166 4.42826e-12 +0.00119509 4.42826e-12 +0.00121899 4.42826e-12 +0.00124337 4.42826e-12 +0.00126824 4.42826e-12 +0.00129361 4.42826e-12 +0.00131948 4.42826e-12 +0.00134587 4.42826e-12 +0.00137279 4.42826e-12 +0.00140024 4.42826e-12 +0.00142825 4.42826e-12 +0.00145681 4.42826e-12 +0.00148595 4.42826e-12 +0.00151567 4.42826e-12 +0.00154598 4.42849e-12 +0.0015769 4.42849e-12 +0.00160844 4.42849e-12 +0.00164061 4.42849e-12 +0.00167342 4.42849e-12 +0.00170689 4.42849e-12 +0.00174102 4.42849e-12 +0.00177584 4.42871e-12 +0.00181136 4.42871e-12 +0.00184759 4.42871e-12 +0.00188454 4.42871e-12 +0.00192223 4.42893e-12 +0.00196068 4.42893e-12 +0.00199989 4.42893e-12 +0.00203989 4.42915e-12 +0.00208069 4.42915e-12 +0.0021223 4.42915e-12 +0.00216474 4.42937e-12 +0.00220804 4.42937e-12 +0.0022522 4.42959e-12 +0.00229724 4.42959e-12 +0.00234319 4.42981e-12 +0.00239005 4.43004e-12 +0.00243785 4.43004e-12 +0.00248661 4.43026e-12 +0.00253634 4.43048e-12 +0.00258707 4.4307e-12 +0.00263881 4.43092e-12 +0.00269159 4.43114e-12 +0.00274542 4.43136e-12 +0.00280033 4.43159e-12 +0.00285633 4.43181e-12 +0.00291346 4.43225e-12 +0.00297173 4.43247e-12 +0.00303117 4.43292e-12 +0.00309179 4.43314e-12 +0.00315362 4.43358e-12 +0.0032167 4.43402e-12 +0.00328103 4.43447e-12 +0.00334665 4.43513e-12 +0.00341358 4.43558e-12 +0.00348186 4.43624e-12 +0.00355149 4.43691e-12 +0.00362252 4.43757e-12 +0.00369497 4.43824e-12 +0.00376887 4.43913e-12 +0.00384425 4.44001e-12 +0.00392114 4.4409e-12 +0.00399956 4.44202e-12 +0.00407955 4.44291e-12 +0.00416114 4.44424e-12 +0.00424436 4.44535e-12 +0.00432925 4.44668e-12 +0.00441584 4.44824e-12 +0.00450415 4.44957e-12 +0.00459424 4.45135e-12 +0.00468612 4.45313e-12 +0.00477984 4.45492e-12 +0.00487544 4.45692e-12 +0.00497295 4.45915e-12 +0.00507241 4.46138e-12 +0.00517386 4.46384e-12 +0.00527733 4.46652e-12 +0.00538288 4.46942e-12 +0.00549054 4.47233e-12 +0.00560035 4.47568e-12 +0.00571235 4.47904e-12 +0.0058266 4.48285e-12 +0.00594313 4.48689e-12 +0.006062 4.49115e-12 +0.00618324 4.49565e-12 +0.0063069 4.50059e-12 +0.00643304 4.506e-12 +0.0065617 4.51164e-12 +0.00669293 4.51773e-12 +0.00682679 4.52406e-12 +0.00696333 4.53108e-12 +0.00710259 4.53834e-12 +0.00724465 4.54629e-12 +0.00738954 4.55471e-12 +0.00753733 4.56337e-12 +0.00768808 4.57296e-12 +0.00784184 4.58281e-12 +0.00799867 4.59336e-12 +0.00815865 4.6044e-12 +0.00832182 4.61593e-12 +0.00848826 4.62829e-12 +0.00865802 4.64127e-12 +0.00883118 4.65475e-12 +0.00900781 4.66897e-12 +0.00918796 4.68394e-12 +0.00937172 4.69966e-12 +0.00955916 4.71614e-12 +0.00975034 4.73315e-12 +0.00994535 4.75117e-12 +0.0101443 4.76974e-12 +0.0103471 4.7891e-12 +0.0105541 4.8095e-12 +0.0107652 4.83071e-12 +0.0109805 4.85286e-12 +0.0112001 4.87573e-12 +0.0114241 4.89968e-12 +0.0116526 4.92424e-12 +0.0118856 4.94967e-12 +0.0121233 4.97598e-12 +0.0123658 5.00267e-12 +0.0126131 5.02976e-12 +0.0128654 5.057e-12 +0.0131227 5.08451e-12 +0.0133851 5.11204e-12 +0.0136528 5.13973e-12 +0.0139259 5.16756e-12 +0.0142044 5.19581e-12 +0.0144885 5.22551e-12 +0.0147783 5.25692e-12 +0.0150738 5.29173e-12 +0.0153753 5.33077e-12 +0.0156828 5.37548e-12 +0.0159965 5.42706e-12 +0.0163164 5.4871e-12 +0.0166427 5.55682e-12 +0.0169756 5.63742e-12 +0.0173151 5.73037e-12 +0.0176614 5.83723e-12 +0.0180146 5.96024e-12 +0.0183749 6.1006e-12 +0.0187424 6.26095e-12 +0.0191173 6.44198e-12 +0.0194996 6.64533e-12 +0.0198896 6.87088e-12 +0.0202874 7.11672e-12 +0.0206931 7.37743e-12 +0.021107 7.64171e-12 +0.0215291 7.89279e-12 +0.0219597 8.11694e-12 +0.0223989 8.31268e-12 +0.0228469 8.49505e-12 +0.0233038 8.69076e-12 +0.0237699 8.92857e-12 +0.0242453 9.22124e-12 +0.0247302 9.55476e-12 +0.0252248 9.88747e-12 +0.0257293 1.01863e-11 +0.0262439 1.04704e-11 +0.0267688 1.07984e-11 +0.0273042 1.11878e-11 +0.0278502 1.1589e-11 +0.0284072 1.19635e-11 +0.0289754 1.23714e-11 +0.0295549 1.2873e-11 +0.030146 1.33113e-11 +0.0307489 1.34855e-11 +0.0313639 1.34504e-11 +0.0319912 1.33219e-11 +0.032631 1.29998e-11 +0.0332836 1.25457e-11 +0.0339493 1.22507e-11 +0.0346283 1.21908e-11 +0.0353208 1.22024e-11 +0.0360272 1.22177e-11 +0.0367478 1.23516e-11 +0.0374827 1.28975e-11 +0.0382324 1.39914e-11 +0.0389971 1.51495e-11 +0.039777 1.57477e-11 +0.0405725 1.5945e-11 +0.041384 1.68707e-11 +0.0422117 1.76381e-11 +0.0430559 1.77051e-11 +0.043917 1.72267e-11 +0.0447954 1.70165e-11 +0.0456913 1.77396e-11 +0.0466051 1.83413e-11 +0.0475372 1.83175e-11 +0.0484879 1.87236e-11 +0.0494577 1.77681e-11 +0.0504468 1.74434e-11 +0.0514558 1.87676e-11 +0.0524849 2.00247e-11 +0.0535346 2.1755e-11 +0.0546053 2.21707e-11 +0.0556974 2.27581e-11 +0.0568113 2.36438e-11 +0.0579476 2.11669e-11 +0.0591065 2.20424e-11 +0.0602886 2.28345e-11 +0.0614944 2.27525e-11 +0.0627243 2.19957e-11 +0.0639788 2.71726e-11 +0.0652584 2.77542e-11 +0.0665635 2.3728e-11 +0.0678948 2.69642e-11 +0.0692527 2.60048e-11 +0.0706378 2.4612e-11 +0.0720505 2.96221e-11 +0.0734915 2.99151e-11 +0.0749614 2.97837e-11 +0.0764606 2.84555e-11 +0.0779898 2.75248e-11 +0.0795496 3.18471e-11 +0.0811406 3.21366e-11 +0.0827634 3.31909e-11 +0.0844187 3.07047e-11 +0.086107 3.22058e-11 +0.0878292 3.62777e-11 +0.0895858 3.44533e-11 +0.0913775 3.57733e-11 +0.093205 3.35614e-11 +0.0950691 3.72566e-11 +0.0969705 4.01637e-11 +0.0989099 3.38886e-11 +0.100888 4.20469e-11 +0.102906 4.21859e-11 +0.104964 3.86902e-11 +0.107063 4.24568e-11 +0.109205 3.78028e-11 +0.111389 4.69413e-11 +0.113616 4.12455e-11 +0.115889 4.61523e-11 +0.118207 4.44256e-11 +0.120571 4.15831e-11 +0.122982 4.85711e-11 +0.125442 4.38617e-11 +0.127951 6.10878e-11 +0.13051 4.86002e-11 +0.13312 5.395e-11 +0.135782 5.87397e-11 +0.138498 5.1074e-11 +0.141268 6.25296e-11 +0.144093 5.49753e-11 +0.146975 5.86693e-11 +0.149914 6.18687e-11 +0.152913 6.07831e-11 +0.155971 5.9259e-11 +0.15909 5.84584e-11 +0.162272 6.37865e-11 +0.165518 6.15817e-11 +0.168828 7.12181e-11 +0.172205 6.85766e-11 +0.175649 6.91724e-11 +0.179162 6.81476e-11 +0.182745 7.96077e-11 +0.1864 8.05205e-11 +0.190128 6.47119e-11 +0.19393 7.46774e-11 +0.197809 7.4696e-11 +0.201765 7.27988e-11 +0.2058 7.56698e-11 +0.209916 8.76182e-11 +0.214115 8.7216e-11 +0.218397 8.65166e-11 +0.222765 7.96953e-11 +0.22722 8.35957e-11 +0.231765 9.19568e-11 +0.2364 9.91048e-11 +0.241128 8.64345e-11 +0.245951 9.70402e-11 +0.25087 9.40566e-11 +0.255887 1.03262e-10 +0.261005 9.71567e-11 +0.266225 9.13747e-11 +0.271549 1.11434e-10 +0.27698 1.12116e-10 +0.28252 9.99909e-11 +0.28817 1.06426e-10 +0.293934 1.20338e-10 +0.299812 1.15441e-10 +0.305809 1.20218e-10 +0.311925 1.18193e-10 +0.318163 1.29378e-10 +0.324526 1.35155e-10 +0.331017 1.52022e-10 +0.337637 1.31252e-10 +0.34439 1.30826e-10 +0.351278 1.1963e-10 +0.358303 1.34004e-10 +0.36547 1.32412e-10 +0.372779 1.46364e-10 +0.380235 1.41359e-10 +0.387839 1.42358e-10 +0.395596 1.70841e-10 +0.403508 1.64562e-10 +0.411578 1.33449e-10 +0.41981 1.48046e-10 +0.428206 1.86931e-10 +0.43677 1.69462e-10 +0.445505 1.91904e-10 +0.454415 1.71895e-10 +0.463504 1.87231e-10 +0.472774 1.65486e-10 +0.482229 2.13289e-10 +0.491874 1.982e-10 +0.501711 2.08184e-10 +0.511746 2.08288e-10 +0.52198 2.04112e-10 +0.53242 2.13332e-10 +0.543069 1.89208e-10 +0.55393 2.12438e-10 +0.565008 2.24344e-10 +0.576309 2.18876e-10 +0.587835 2.19352e-10 +0.599592 2.3247e-10 +0.611583 2.54866e-10 +0.623815 2.41932e-10 +0.636291 2.17969e-10 +0.649017 2.38663e-10 +0.661997 2.46672e-10 +0.675237 2.39285e-10 +0.688742 2.67099e-10 +0.702517 2.68975e-10 +0.716567 2.56169e-10 +0.730899 2.70337e-10 +0.745517 2.6582e-10 +0.760427 3.20379e-10 +0.775636 3.12015e-10 +0.791148 3.37538e-10 +0.806971 2.97934e-10 +0.823111 3.03179e-10 +0.839573 3.10645e-10 +0.856364 3.33714e-10 +0.873492 3.33798e-10 +0.890961 3.4134e-10 +0.908781 3.26403e-10 +0.926956 4.03737e-10 +0.945495 3.84269e-10 +0.964405 3.68683e-10 +0.983693 4.08224e-10 +1.00337 3.91827e-10 +1.02343 3.94501e-10 +1.0439 4.16556e-10 +1.06478 3.8377e-10 +1.08608 4.0016e-10 +1.1078 4.18414e-10 +1.12995 4.52564e-10 +1.15255 4.09553e-10 +1.1756 4.21532e-10 +1.19912 4.34914e-10 +1.2231 4.69096e-10 +1.24756 4.54719e-10 +1.27251 5.14058e-10 +1.29796 5.64645e-10 +1.32392 4.79839e-10 +1.3504 5.6504e-10 +1.37741 4.99162e-10 +1.40496 5.10446e-10 +1.43306 5.65855e-10 +1.46172 6.26908e-10 +1.49095 5.4886e-10 +1.52077 6.24998e-10 +1.55119 6.82954e-10 +1.58221 5.50646e-10 +1.61385 6.47782e-10 +1.64613 7.25317e-10 +1.67905 6.17435e-10 +1.71263 6.17126e-10 +1.74689 6.75076e-10 +1.78182 7.1756e-10 +1.81746 6.95881e-10 +1.85381 6.49744e-10 +1.89089 7.25789e-10 +1.9287 6.83637e-10 +1.96728 7.09958e-10 +2.00662 6.76461e-10 +2.04676 7.6923e-10 +2.08769 8.05016e-10 +2.12945 7.75119e-10 +2.17203 8.8066e-10 +2.21547 9.38005e-10 +2.25978 1.0125e-09 +2.30498 7.80369e-10 +2.35108 1.00851e-09 +2.3981 1.01921e-09 +2.44606 9.28438e-10 +2.49498 1.05956e-09 +2.54488 1.04666e-09 +2.59578 8.62854e-10 +2.6477 9.58672e-10 +2.70065 1.04089e-09 +2.75466 1.0342e-09 +2.80976 1.11498e-09 +2.86595 1.18579e-09 +2.92327 1.07714e-09 +2.98174 1.07622e-09 +3.04137 1.084e-09 +3.1022 1.12007e-09 +3.16424 1.30339e-09 +3.22753 1.72011e-09 +3.29208 1.53616e-09 +3.35792 1.39783e-09 +3.42508 1.36011e-09 +3.49358 1.42511e-09 +3.56345 1.38634e-09 +3.63472 1.49179e-09 +3.70742 1.54915e-09 +3.78156 1.53569e-09 +3.8572 1.54366e-09 +3.93434 1.42903e-09 +4.01303 1.36222e-09 +4.09329 1.63322e-09 +4.17515 1.53992e-09 +4.25866 1.43161e-09 +4.34383 1.53646e-09 +4.4307 1.70163e-09 +4.51932 1.76591e-09 +4.60971 1.65609e-09 +4.7019 1.88005e-09 +4.79594 1.84798e-09 +4.89186 1.79538e-09 +4.98969 1.83285e-09 +5.08949 1.92368e-09 +5.19128 2.11955e-09 +5.2951 2.18116e-09 +5.401 1.95843e-09 +5.50902 1.93081e-09 +5.61921 2.14096e-09 +5.73159 2.00475e-09 +5.84622 2.58375e-09 +5.96315 2.41635e-09 +6.08241 2.25881e-09 +6.20406 2.5065e-09 +6.32814 2.7314e-09 +6.4547 2.39279e-09 +6.58379 2.5606e-09 +6.71547 2.81094e-09 +6.84978 2.81833e-09 +6.98678 2.98538e-09 +7.12651 2.52626e-09 +7.26904 2.82538e-09 +7.41442 2.75224e-09 +7.56271 3.12054e-09 +7.71396 2.74235e-09 +7.86824 3.33911e-09 +8.02561 3.04752e-09 +8.18612 3.24009e-09 +8.34984 3.1207e-09 +8.51684 3.08247e-09 +8.68718 3.03794e-09 +8.86092 3.24999e-09 +9.03814 3.535e-09 +9.2189 3.35091e-09 +9.40328 3.72156e-09 +9.59135 4.04151e-09 +9.78317 3.70022e-09 +9.97884 3.98025e-09 From 79e2cbd9b2f51918047f8975b816a410cf26734e Mon Sep 17 00:00:00 2001 From: Javier Galan Date: Sun, 9 Jun 2024 15:27:24 +0200 Subject: [PATCH 64/64] Updating more README.md comments --- examples/03.IAXO/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md index a7fba7a5..ef7816b6 100644 --- a/examples/03.IAXO/README.md +++ b/examples/03.IAXO/README.md @@ -81,6 +81,8 @@ The limits directory contains the sensitivity results obtained with each of the ![Limits](limits/IAXO.png) +The ripples observed in the IAXO and IAXO+ curves is due to the different magnet length. The density settings described inside `GenerateSignalComponents.C` macro, using `TRestAxionField::GetMassDensityScanning`, uses the default values of `TRestAxionField` which correspond to a magnetic lenght of `10m` and therefore they are optimized for BabyIAXO. A smoother curve could be achieved by tuning the density settings position, however it is also interesting to visualize the impact of density settings choice. + ### Credit Consider citing any of the following publications: