REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
Public Member Functions | Private Attributes
TRestWimpSensitivity Class Reference

Detailed Description

Container class for WIMP metadata

TRestWimpSensitivity is the main class used to generate senstitivity prospects for WIMP searches experiments. It requires different inputs from an rml file to define different paramented such as the target elements, WIMP density, velocity distributions of the WIMPs in the lab reference frame, exposure, background level, energy spectra for the nuclear recoil, energy range for the sensitivity derivation and the use of the quenching factor.

#RML definition

<TRestWimpSensitivity name="WIMPSensitivity" title="WIMP Sensitivity" verboseLevel="info">
<addElement nucleusName="Ne" anum="20.1797" znum="10" abundance="0.95" />
<addElement nucleusName="C" anum="12.0107" znum="6" abundance="0.04" />
<addElement nucleusName="H" anum="1.00784" znum="1" abundance="0.01" />
<parameter name="wimpDensity" value="0.3" />
<parameter name="labVelocity" value="232"/>
<parameter name="rmsVelocity" value="220"/>
<parameter name="escapeVelocity" value="544"/>
<parameter name="exposure" value="116.8"/>
<parameter name="backgroundLevel" value="1"/>
<parameter name="energySpectra" value="(0,2)"/>
<parameter name="energySpectraStep" value="0.01"/>
<parameter name="energyRange" value="(0.1,1.1)"/>
<parameter name="useQuenchingFactor" value="true"/>

Besides target material elements, the other parameters are optional, and if not provided they will take their default values.

/// ### Using this class

Once we have created an instance of this class we will be able to access the different parameters to derive the WIMP sensitivity.

For example, the following code will perform the derivation of the WIMP sensitivity for a given rml file.

TRestWimpSensitivity WS("wimp.rml");
WS.PrintMetadata();
double wimpMass = 0.25; //GeV
const double sensitivity = WS.GetSensitivity(wimpMass);
if(sensitivity > 0 ){
std::cout<<"WIMP mass "<<wimpMass<<" Sensitivity "<<sens<< " cm-2"<<std::endl;
} else {
std::cout<<"Cannot provide sensititivy with this configuration try to
incresase the WIMP mass"<<std::endl;
}

This will return the expected sensitivity for the rml file used above for a WIMP mass of 0.25 GeV.


REST-for-Physics - Software for Rare Event Searches Toolkit

History of developments:

2022-October First implementation JuanAn Garcia

Author
: JuanAn Garcia e-mail: juana.nosp@m.ngp@.nosp@m.uniza.nosp@m.r.es

Definition at line 33 of file TRestWimpSensitivity.h.

#include <TRestWimpSensitivity.h>

Inheritance diagram for TRestWimpSensitivity:
TRestMetadata

Public Member Functions

const std::string BuildOutputFileName (const std::string &extension=".txt")
 Return output file format with different parameters used in the calculation.
 
void CalculateQuenchingFactor ()
 Calculate Quenching factor and stores in a map.
 
 ClassDefOverride (TRestWimpSensitivity, 1)
 
std::map< std::string, TH1D * > GetFormFactor ()
 Return a map of histograms with the Form Factor of the different elements.
 
auto GetQuenchingFactor ()
 
std::map< std::string, TH1D * > GetRecoilSpectra (const double wimpMass, const double crossSection)
 Get recoil spectra for a given WIMP mass and cross section.
 
const Double_t GetSensitivity (const double wimpMass)
 Get sensitivity for a give WIMP mass.
 
void InitFromConfigFile () override
 Initialization of TRestWimpSensitivity members through a RML file.
 
void Initialize () override
 Initialization of TRestWimpSensitivity members.
 
void PrintMetadata () override
 Prints on screen the details about WIMP parameters, stored in TRestWimpSensitivity.
 
void ReadNuclei ()
 Initialization of TRestWimpSensitivity members through a RML file.
 
 TRestWimpSensitivity (const char *configFilename, const std::string &name="")
 Constructor loading data from a config file. More...
 
 ~TRestWimpSensitivity ()
 Default destructor.
 

Private Attributes

Double_t fBackground = 1
 Detector background level in c/keV/day.
 
TVector2 fEnergyRange = TVector2(0.1, 1.1)
 Energy range for the sensitivity prospects in keV.
 
TVector2 fEnergySpectra = TVector2(0, 2)
 Energy range for the recoil spectra in keV.
 
Double_t fEnergySpectraStep = 0.01
 Energy step for the recoil spectra in keV.
 
Double_t fEscapeVelocity = 544
 WIMP escape velocity (km/s)
 
Double_t fExposure = 365. * 0.32
 Detector exposure in kg*day.
 
Double_t fLabVelocity = 232
 WIMP velocity in the lab (Earth) frame reference in km/s.
 
std::vector< TRestWimpNucleusfNuclei
 A vector containing TRestWimpNucleus with different nucleus parameters.
 
Double_t fRmsVelocity = 220
 WIMP RMS velocity (km/s)
 
Bool_t fUseQuenchingFactor = true
 Use or not quenching factor.
 
Double_t fWimpDensity = 0.3
 WIMP density in GeV/cm3.
 
std::map< std::string, TH1D * > quenchingFactor
 Map containing quenching factor for a nucleus.
 

Additional Inherited Members

Constructor & Destructor Documentation

◆ TRestWimpSensitivity()

TRestWimpSensitivity::TRestWimpSensitivity ( const char *  configFilename,
const std::string &  name = "" 
)

Constructor loading data from a config file.

Parameters
configFilenameA const char* giving the path to an RML file.
nameThe name of the specific metadata. It will be used to find the corresponding TRestWimpSensitivity section inside the RML.

Definition at line 128 of file src/TRestWimpSensitivity.cxx.


The documentation for this class was generated from the following files: