REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
Loading...
Searching...
No Matches
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.
 
 ~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.

◆ ~TRestWimpSensitivity()

TRestWimpSensitivity::~TRestWimpSensitivity ( )

Default destructor.

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

Member Function Documentation

◆ BuildOutputFileName()

const std::string TRestWimpSensitivity::BuildOutputFileName ( const std::string &  extension = ".txt")

Return output file format with different parameters used in the calculation.

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

◆ CalculateQuenchingFactor()

void TRestWimpSensitivity::CalculateQuenchingFactor ( )

Calculate Quenching factor and stores in a map.

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

◆ GetFormFactor()

std::map< std::string, TH1D * > TRestWimpSensitivity::GetFormFactor ( )

Return a map of histograms with the Form Factor of the different elements.

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

◆ GetQuenchingFactor()

auto TRestWimpSensitivity::GetQuenchingFactor ( )
inline

Definition at line 78 of file TRestWimpSensitivity.h.

◆ GetRecoilSpectra()

std::map< std::string, TH1D * > TRestWimpSensitivity::GetRecoilSpectra ( const double  wimpMass,
const double  crossSection 
)

Get recoil spectra for a given WIMP mass and cross section.

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

◆ GetSensitivity()

const Double_t TRestWimpSensitivity::GetSensitivity ( const double  wimpMass)

Get sensitivity for a give WIMP mass.

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

◆ InitFromConfigFile()

void TRestWimpSensitivity::InitFromConfigFile ( )
overridevirtual

Initialization of TRestWimpSensitivity members through a RML file.

Reimplemented from TRestMetadata.

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

◆ Initialize()

void TRestWimpSensitivity::Initialize ( )
overridevirtual

Initialization of TRestWimpSensitivity members.

Reimplemented from TRestMetadata.

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

◆ PrintMetadata()

void TRestWimpSensitivity::PrintMetadata ( )
overridevirtual

Prints on screen the details about WIMP parameters, stored in TRestWimpSensitivity.

Reimplemented from TRestMetadata.

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

◆ ReadNuclei()

void TRestWimpSensitivity::ReadNuclei ( )

Initialization of TRestWimpSensitivity members through a RML file.

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

Field Documentation

◆ fBackground

Double_t TRestWimpSensitivity::fBackground = 1
private

Detector background level in c/keV/day.

Definition at line 48 of file TRestWimpSensitivity.h.

◆ fEnergyRange

TVector2 TRestWimpSensitivity::fEnergyRange = TVector2(0.1, 1.1)
private

Energy range for the sensitivity prospects in keV.

Definition at line 55 of file TRestWimpSensitivity.h.

◆ fEnergySpectra

TVector2 TRestWimpSensitivity::fEnergySpectra = TVector2(0, 2)
private

Energy range for the recoil spectra in keV.

Definition at line 51 of file TRestWimpSensitivity.h.

◆ fEnergySpectraStep

Double_t TRestWimpSensitivity::fEnergySpectraStep = 0.01
private

Energy step for the recoil spectra in keV.

Definition at line 53 of file TRestWimpSensitivity.h.

◆ fEscapeVelocity

Double_t TRestWimpSensitivity::fEscapeVelocity = 544
private

WIMP escape velocity (km/s)

Definition at line 42 of file TRestWimpSensitivity.h.

◆ fExposure

Double_t TRestWimpSensitivity::fExposure = 365. * 0.32
private

Detector exposure in kg*day.

Definition at line 46 of file TRestWimpSensitivity.h.

◆ fLabVelocity

Double_t TRestWimpSensitivity::fLabVelocity = 232
private

WIMP velocity in the lab (Earth) frame reference in km/s.

Definition at line 40 of file TRestWimpSensitivity.h.

◆ fNuclei

std::vector<TRestWimpNucleus> TRestWimpSensitivity::fNuclei
private

A vector containing TRestWimpNucleus with different nucleus parameters.

Definition at line 36 of file TRestWimpSensitivity.h.

◆ fRmsVelocity

Double_t TRestWimpSensitivity::fRmsVelocity = 220
private

WIMP RMS velocity (km/s)

Definition at line 44 of file TRestWimpSensitivity.h.

◆ fUseQuenchingFactor

Bool_t TRestWimpSensitivity::fUseQuenchingFactor = true
private

Use or not quenching factor.

Definition at line 57 of file TRestWimpSensitivity.h.

◆ fWimpDensity

Double_t TRestWimpSensitivity::fWimpDensity = 0.3
private

WIMP density in GeV/cm3.

Definition at line 38 of file TRestWimpSensitivity.h.

◆ quenchingFactor

std::map<std::string, TH1D*> TRestWimpSensitivity::quenchingFactor
private

Map containing quenching factor for a nucleus.

Definition at line 60 of file TRestWimpSensitivity.h.


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