MINT2
|
#include <TimeDependentGenerator.h>
Classes | |
class | GenTimeEvent |
Public Types | |
typedef std::pair< std::complex< double >, std::complex< double > > | AmpPair |
Public Member Functions | |
TimeDependentGenerator (const DalitzEventPattern &pattern, double width, double deltam, double deltagamma, double qoverp, double phi, TRandom3 *rndm, TH1F *h_efficiency=NULL, float resWidth=0.05, bool addExpEffects=false, Eff3piSymmetric *sEfficiency=NULL) | |
TimeDependentGenerator (MINT::counted_ptr< FitAmpSum > model, MINT::counted_ptr< FitAmpSum > cpmodel, double width, double deltam, double deltagamma, double qoverp, double phi, TRandom3 *, TH1F *h_efficiency=NULL, float resWidth=0.05, bool addExpEffects=false, Eff3piSymmetric *sEfficiency=NULL) | |
std::pair< double, double > | generate_decay_time () const |
Generate a decay time, optionally including experimental effects. More... | |
MINT::counted_ptr< IDalitzEvent > | generate_event () |
Generate a flavour, decay time and Dalitz event. More... | |
MINT::counted_ptr< IDalitzEvent > | generate_event (const double s13, const double s23) |
Generate a 3-body event at a given point in phase space. More... | |
bool | accept_or_reject (const int tag, const double decaytime, IDalitzEvent &) |
Decide whether the generated event should be accepted or rejected. More... | |
double | get_scale () const |
float | get_gen_efficiency () const |
double | pdf_value (int, double, IDalitzEvent &) |
double | pdf_value (IDalitzEvent &) |
double | envelope_value (const double, IDalitzEvent &) |
AmpPair | amplitude_coefficients (const int tag, const double decaytime) |
TH1F | draw_pdf_vs_time (IDalitzEvent &, unsigned, float, float, const std::string &name="pdf_vs_time") |
TH1F | draw_envelope_vs_time (IDalitzEvent &, unsigned, float, float, const std::string &name="envelope_vs_time") |
Static Public Member Functions | |
static DalitzEventPattern | anti (DalitzEventPattern pat) |
Take the CP conjugate of the head of the decay pattern. More... | |
Private Member Functions | |
void | init () |
Private Attributes | |
TRandom3 * | m_rndm |
const DalitzEventPattern | m_pattern |
const DalitzEventPattern | m_cppattern |
MINT::counted_ptr< FitAmpSum > | m_model |
MINT::counted_ptr< FitAmpSum > | m_cpmodel |
FitAmpIncoherentSum | m_bothmodel |
SignalGenerator | m_generator |
const double | m_width |
const double | m_deltam |
const double | m_deltagamma |
const std::complex< double > | m_qoverp |
double | m_scale |
unsigned | m_ngen |
unsigned | m_naccept |
TH1F * | m_h_efficiency |
TSpline3 | m_efficiencyFit |
float | m_resWidth |
bool | m_addExpEffects |
Eff3piSymmetric * | m_sEfficiency |
Definition at line 20 of file TimeDependentGenerator.h.
typedef std::pair<std::complex<double>, std::complex<double> > TimeDependentGenerator::AmpPair |
Definition at line 106 of file TimeDependentGenerator.h.
TimeDependentGenerator::TimeDependentGenerator | ( | const DalitzEventPattern & | pattern, |
double | width, | ||
double | deltam, | ||
double | deltagamma, | ||
double | qoverp, | ||
double | phi, | ||
TRandom3 * | rndm, | ||
TH1F * | h_efficiency = NULL , |
||
float | resWidth = 0.05 , |
||
bool | addExpEffects = false , |
||
Eff3piSymmetric * | sEfficiency = NULL |
||
) |
Constructor, takes: pattern : The event pattern to be used (the CP conjugate will automatically be added). width : the decay width in 1/ps. deltam : the delta-mass in 1/ps. deltagamma : the delta-gamma in 1/ps. qoverp : the magnitude of q/p. phi : the phase of q/p. rndm : The random number generator to use. h_efficiency : (optional) histogram to which efficiency plot will be fitted resWidth : the width of the Gaussian decay-time resolution to apply addExpEffects : whether to add efficiency and resolution to the decay time.
Definition at line 70 of file TimeDependentGenerator.cpp.
TimeDependentGenerator::TimeDependentGenerator | ( | MINT::counted_ptr< FitAmpSum > | model, |
MINT::counted_ptr< FitAmpSum > | cpmodel, | ||
double | width, | ||
double | deltam, | ||
double | deltagamma, | ||
double | qoverp, | ||
double | phi, | ||
TRandom3 * | rndm, | ||
TH1F * | h_efficiency = NULL , |
||
float | resWidth = 0.05 , |
||
bool | addExpEffects = false , |
||
Eff3piSymmetric * | sEfficiency = NULL |
||
) |
Constructor, takes: model : the amplitude model for the decay cpmodel : the amplitude model for the CP conjugate decay width : the decay width in 1/ps. deltam : the delta-mass in 1/ps. deltagamma : the delta-gamma in 1/ps. qoverp : the magnitude of q/p. phi : the phase of q/p. rndm : The random number generator to use. h_efficiency : (optional) histogram to which efficiency plot will be fitted resWidth : the width of the Gaussian decay-time resolution to apply addExpEffects : whether to add efficiency and resolution to the decay time.
Definition at line 98 of file TimeDependentGenerator.cpp.
bool TimeDependentGenerator::accept_or_reject | ( | const int | tag, |
const double | decaytime, | ||
IDalitzEvent & | evt | ||
) |
Decide whether the generated event should be accepted or rejected.
Definition at line 236 of file TimeDependentGenerator.cpp.
TimeDependentGenerator::AmpPair TimeDependentGenerator::amplitude_coefficients | ( | const int | tag, |
const double | decaytime | ||
) |
Get the coefficients of the amplitudes for the produced flavour and the mixed flavour given the tag and decay time.
Definition at line 296 of file TimeDependentGenerator.cpp.
|
static |
Take the CP conjugate of the head of the decay pattern.
Definition at line 65 of file TimeDependentGenerator.cpp.
TH1F TimeDependentGenerator::draw_envelope_vs_time | ( | IDalitzEvent & | evt, |
unsigned | nbins, | ||
float | tmin, | ||
float | tmax, | ||
const std::string & | name = "envelope_vs_time" |
||
) |
Draw the envelope value vs time at the given point in phase space.
Definition at line 319 of file TimeDependentGenerator.cpp.
TH1F TimeDependentGenerator::draw_pdf_vs_time | ( | IDalitzEvent & | evt, |
unsigned | nbins, | ||
float | tmin, | ||
float | tmax, | ||
const std::string & | name = "pdf_vs_time" |
||
) |
Draw the PDF value vs time at the given point in phase space (assumes the event has a tag).
Definition at line 306 of file TimeDependentGenerator.cpp.
double TimeDependentGenerator::envelope_value | ( | const double | decaytime, |
IDalitzEvent & | evt | ||
) |
Get the value of the incoherent sum PDF that's used as an envelope to generate events at the given point in phase space and time.
Definition at line 232 of file TimeDependentGenerator.cpp.
pair< double, double > TimeDependentGenerator::generate_decay_time | ( | ) | const |
Generate a decay time, optionally including experimental effects.
Definition at line 143 of file TimeDependentGenerator.cpp.
MINT::counted_ptr< IDalitzEvent > TimeDependentGenerator::generate_event | ( | ) |
Generate a flavour, decay time and Dalitz event.
Definition at line 207 of file TimeDependentGenerator.cpp.
MINT::counted_ptr< IDalitzEvent > TimeDependentGenerator::generate_event | ( | const double | s13, |
const double | s23 | ||
) |
Generate a 3-body event at a given point in phase space.
Definition at line 182 of file TimeDependentGenerator.cpp.
float TimeDependentGenerator::get_gen_efficiency | ( | ) | const |
Definition at line 261 of file TimeDependentGenerator.cpp.
double TimeDependentGenerator::get_scale | ( | ) | const |
Definition at line 257 of file TimeDependentGenerator.cpp.
|
private |
Definition at line 127 of file TimeDependentGenerator.cpp.
double TimeDependentGenerator::pdf_value | ( | int | tag, |
double | decaytime, | ||
IDalitzEvent & | evt | ||
) |
Get the value of the PDF given the tag, decay time and point in phase space
Definition at line 265 of file TimeDependentGenerator.cpp.
double TimeDependentGenerator::pdf_value | ( | IDalitzEvent & | evt | ) |
Get the value of the PDF, assuming the tag & decay time are stored in the DalitzEvent like a GenTimeEvent
Definition at line 289 of file TimeDependentGenerator.cpp.
|
private |
Definition at line 140 of file TimeDependentGenerator.h.
|
private |
Definition at line 125 of file TimeDependentGenerator.h.
|
private |
Definition at line 124 of file TimeDependentGenerator.h.
|
private |
Definition at line 122 of file TimeDependentGenerator.h.
|
private |
Definition at line 130 of file TimeDependentGenerator.h.
|
private |
Definition at line 129 of file TimeDependentGenerator.h.
|
private |
Definition at line 137 of file TimeDependentGenerator.h.
|
private |
Definition at line 126 of file TimeDependentGenerator.h.
|
private |
Definition at line 136 of file TimeDependentGenerator.h.
|
private |
Definition at line 123 of file TimeDependentGenerator.h.
|
private |
Definition at line 134 of file TimeDependentGenerator.h.
|
private |
Definition at line 133 of file TimeDependentGenerator.h.
|
private |
Definition at line 121 of file TimeDependentGenerator.h.
|
private |
Definition at line 131 of file TimeDependentGenerator.h.
|
private |
Definition at line 139 of file TimeDependentGenerator.h.
|
private |
Definition at line 120 of file TimeDependentGenerator.h.
|
private |
Definition at line 132 of file TimeDependentGenerator.h.
|
private |
Definition at line 142 of file TimeDependentGenerator.h.
|
private |
Definition at line 128 of file TimeDependentGenerator.h.