NEMO3 event electron gamma Time of Flight combinator. More...
#include <tof_eMgN_measurement.h>
Public Member Functions | |
tof_eMgN_measurement () | |
The default constructor. | |
tof_eMgN_measurement (bool debug_) | |
The default constructor with debug mode. | |
void | set_debug (bool debug_) |
for debug verbose mode | |
void | set_ECorr (bool energy_loss_) |
if energy correction is used. | |
void | set_TimeErr (bool timeerr_) |
if time correction are applied | |
void | set_LTFluct (bool fluct_) |
if laser fluctuation are used | |
void | set_properties (bool prop_) |
if properties are used, or only tof_col | |
tof_tools & | get_tof_tools () |
void | Set_Simulation (bool simu_) |
if the current run is a simulation | |
bool | is_simulation () |
the current run is a simulation ? | |
void | do_measurement (ana_event &) |
launch the main process | |
void | init_from (const datatools::utils::properties &) |
Static Public Member Functions | |
static std::map< int, list < pair< int, double > > > | get_internals (const ana_event &ev_, bool eg_, double Pint_, double Pext_) |
static std::map< int, list < pair< int, double > > > | get_externals (const ana_event &ev_, bool eg_, double Pint_, double Pext_) |
Static Public Attributes | |
static const string | VALIDITY_PROPERTY_GLOBAL_NAME |
To check if it exists in properties. | |
static const string | VALIDITY_PROPERTY_NAME_BEGIN |
To build the string has in the example. | |
static const string | VALIDITY_PROPERTY_NAME_END |
To build the string has in the example. | |
static const string | INTERNAL_PROBABILITY_PROPERTY_NAME_END |
To build the string has in the example. | |
static const string | EXTERNAL_PROBABILITY_PROPERTY_NAME_END |
To build the string has in the example. | |
Protected Member Functions | |
void | _compute_tof_properties () |
The private process,. | |
Private Attributes | |
bool | __debug |
for debug verbose mode | |
bool | __properties |
if properties are used, or only tof_col | |
string | __tracking_name |
the tracking name, "default" by default | |
string | __required_channel |
if a properties "required channel" is set | |
ana_event * | __event |
a pointer to the current event | |
tof_tools | __tof_tools |
the used tof_tools. |
NEMO3 event electron gamma Time of Flight combinator.
tof_eMgN_measurement.h Author(s): Hugon Christophe hugon Creation date: 2011-08-01 Last modified: 2012-03-01 @cen bg.in 2p3. fr
License: GPL
Example:
// configuration of the TOF measurement algorithm:
datatools::utils::properties tof_meas_config;
tof_meas_config.store ("tof_eMgN_measurement.debug", true);
tof_meas_config.store ("tof_eMgN_measurement.tracking_name", "default");
tof_meas_config.store ("tof_eMgN_measurement.required_channel", "2e");
// setup the 2e TOF measurement algorithm:
tof_eMgN_measurement tof_meas;
tof_meas.init (tof_meas_config);
...
nemo3::ana_event the_event;
...
// load the event from a reader:
...
// apply the TOF measurement algorithm to the event:
tof_meas.do_measure (the_event);
...
//get the type of evt you want in a string :
internal_probability_property_name =
tof_eMgN_measurement::VALIDITY_PROPERTY_NAME_BEGIN + "e1g1"
}\n
//or get the full info from tof_col :
double dt[2],chi2[2],P[2];
const tof_col &the_tof_col=the_evt.get_tof_col();
if (the_tof_col.is_initiated())
the_tof_col.get_values(0,1,&dt[0],&chi2[0],&P[0],true);
// apply cuts...
void nemo3::tof_eMgN_measurement::_compute_tof_properties | ( | ) | [protected] |
The private process,.
void nemo3::tof_eMgN_measurement::do_measurement | ( | ana_event & | ) | [virtual] |
launch the main process
It looks the number of gammas and electrons with vertex and associated scins in the event, and calculate the probabilities of every electron-electron and gamma-gamma combinaison
then it keeps it in properties as in example, and in tof_col. The references numbers are from 0 to scin/track_number-1.
Implements nemo3::ana_event::i_measurement.
tof_tools& nemo3::tof_eMgN_measurement::get_tof_tools | ( | ) | [inline] |
get the used tof_tools
void nemo3::tof_eMgN_measurement::set_ECorr | ( | bool | energy_loss_ | ) |
if energy correction is used.
void nemo3::tof_eMgN_measurement::set_LTFluct | ( | bool | fluct_ | ) |
if laser fluctuation are used
void nemo3::tof_eMgN_measurement::set_TimeErr | ( | bool | timeerr_ | ) |
if time correction are applied
the used tof_tools.
One per analyser because it is light and to be easily protected during multithreading