AliOmegaDalitz::AliOmegaDalitz():
AliDecayer(),
fEPMass(0),
- fMPMass(0)
+ fMPMass(0),
+ fInit(0)
{
// Constructor
}
//
//-----------------------------------------------------------------------------
+ if (!fInit) {
+ Init();
+ fInit=1;
+ }
+
Double_t pmass, lmass, omass, lpmass;
Double_t e1, p1, e3, p3;
Double_t betaSquare, lambda;
AliOmegaDalitz::AliOmegaDalitz(const AliOmegaDalitz &dalitz)
: AliDecayer(),
fEPMass(0),
- fMPMass(0)
+ fMPMass(0),
+ fInit(0)
{
// Copy constructor
dalitz.Copy(*this);
TH1F* fEPMass; // Histogram for electron pair mass
TH1F* fMPMass; // Histogram for muon pair mass
TLorentzVector fProducts[3]; // Decay products
-
+ Bool_t fInit; // Initialized
+
private:
virtual void Rot(Double_t pin[3], Double_t pout[3],
Double_t costheta, Double_t sintheta,
fPythia(AliPythia::Instance()),
fDecay(kAll),
fHeavyFlavour(kTRUE),
- fLongLived(kFALSE)
+ fLongLived(kFALSE),
+ fPatchOmegaDalitz(0)
{
// Default Constructor
for (Int_t i=0; i< 501; i++) fBraPart[i]= 1.;
fPythia(0),
fDecay(kAll),
fHeavyFlavour(kTRUE),
- fLongLived(kFALSE)
+ fLongLived(kFALSE),
+ fPatchOmegaDalitz(0)
{
// Copy Constructor
decayer.Copy(*this);
Float_t energy = p->Energy();
Float_t theta = p->Theta();
Float_t phi = p->Phi();
-
- Lu1Ent(0, idpart, energy, theta, phi);
+ if (!fPatchOmegaDalitz) {
+ Lu1Ent(0, idpart, energy, theta, phi);
+ } else {
+ fPythia->SetMDCY(fPythia->Pycomp(111) ,1, 0);
+ Lu1Ent(0, idpart, energy, theta, phi);
+ fPythia->DalitzDecays();
+ fPythia->SetMDCY(fPythia->Pycomp(111) ,1, 1);
+ fPythia->Pyexec();
+ }
fPythia->GetPrimaries();
}
virtual void SetForceDecay(Int_t decay)
{SetForceDecay((Decay_t) decay);}
virtual void ForceDecay();
+ virtual void SetPatchOmegaDalitz() {fPatchOmegaDalitz = 1;}
virtual void HeavyFlavourOff() {fHeavyFlavour = kFALSE;}
virtual void DecayLongLivedParticles() {fLongLived = kTRUE;}
virtual Float_t GetPartialBranchingRatio(Int_t ipart);
Float_t fBraPart[501]; //! Branching ratios
Bool_t fHeavyFlavour; //! Flag for heavy flavors
Bool_t fLongLived; //! Flag for long lived particle decay
+ Bool_t fPatchOmegaDalitz;//! Flag to patch the omega Dalitz decays
static Bool_t fgInit; //! initialization flag
ClassDef(AliDecayerPythia, 3) // AliDecayer implementation using Pythia