21 gRand =
new TRandom2();
22 dil1 = dil2 = parent = NULL;
25Double_t PEtaDoubleDalitz::Gen2lepton1(Double_t m) {
27 Double_t MEl2 = 2*MEl;
33 gRand->RndmArray(2, ARAND);
34 AM = MEl2*TMath::Exp(TMath::Log(m/MEl2)*ARAND[0]);
36 Double_t RE = MEl2*MEl2/AM2;
37 WTD = TMath::Sqrt(1-RE)*(1+RE/2)*TMath::Power(1-AM2/m2,3);
38 }
while(ARAND[1]>WTD);
47 Warning(
"Init",
"Parent not found");
55 Warning(
"Init",
"Dileptons not found");
62 ff_w_max = formfactor_model->GetWeightMax();
64 Warning(
"Init",
"Max value of the FF model not initialized, FF disabled");
65 formfactor_model = NULL;
67 if (!formfactor_model) ff_w_max = 1.;
74 Double_t MEta = parent->M();
79 mVV[0] = Gen2lepton1(MEta);
80 mVV[1] = Gen2lepton1(MEta);
82 if (formfactor_model && formfactor_model->GetVersionFlag(
VERSION_SAMPLING)) {
83 weight *= formfactor_model->GetWeight(mVV[0]);
84 weight *= formfactor_model->GetWeight(mVV[1]);
ClassImp(PBeamLineSimulation) PBeamLineSimulation
PChannelModel * GetSecondaryModel(const char *)
static double LMass(const int &id)
PParticle * GetParticle(const Char_t *pflag=NULL)
PDistribution * Clone(const char *delme=NULL) const
PEtaDoubleDalitz(const Char_t *id, const Char_t *de, Int_t key)
static Double_t sampleFlat()