fLegPdg1(11),
fLegPdg2(-11),
fAlpha(0.),
- fDebug(0)
+ fDebug(0),
+ fPol(0)
{
//
// Default constructor
//
}
+
+//_____________________________________________________________________________
+AliGenPairFlat::~AliGenPairFlat()
+{
+ //
+ // Destructor
+ //
+ delete fPol;
+
+}
+
//_____________________________________________________________________________
void AliGenPairFlat::Generate()
{
TLorentzVector mother, dau1, dau2;
Float_t random[6];
-// TF1* fPol = new TF1("fPol","1.+[0]*x*x",-1.,1.);
- TF1 fPol("fPol","1.+[0]*x*x",-1.,1.);
- fPol.SetParameter(0,fAlpha);
+ fPol = new TF1("fPol","1.+[0]*x*x",-1.,1.);
+ fPol->SetParameter(0, fAlpha);
for (j=0;j<3;j++) origin[j]=fOrigin[j];
time = fTime;
}
+ if(fDebug == 2){
printf("\n\n------------------GENERATOR SETTINGS------------------\n\n");
printf("You choosed for the mother the Mass range %f - %f \n",fPairMassMin,fPairMassMax);
printf("You choosed for the mother the transverse Momentum range %f - %f \n",fPairPtMin,fPairPtMax);
printf("polarization factor is alpha == %lf \n",fAlpha);
printf("vertex is at x == %f || y == %f || z == %f \n",origin[0],origin[1],origin[2]);
printf("\n----------------------------------------------------------\n");
-
+ }
for(i=0;i<fPairNpart;i++) {
}
//_____________________________________________________________________________
-
void AliGenPairFlat::Init()
{
//
//_____________________________________________________________________________
-
-
-Bool_t AliGenPairFlat::Decay(TLorentzVector mother, TLorentzVector &dau1, TLorentzVector &dau2, TF1 polfactor)
+Bool_t AliGenPairFlat::Decay(const TLorentzVector& mother, TLorentzVector &dau1, TLorentzVector &dau2, TF1* polfactor)
{
//
// decay procedure
pd1 = TMath::Sqrt((ed1+md1)*(ed1-md1));
pd2 = TMath::Sqrt((mp*mp-(md1+md2)*(md1+md2))*(mp*mp -(md1-md2)*(md1-md2)))/(2.*mp);
- costheta = polfactor.GetRandom(); //polarization
+ costheta = polfactor->GetRandom(); //polarization
sintheta = TMath::Sqrt((1.+costheta)*(1.-costheta));
phi = 2.0*TMath::Pi()*gRandom->Rndm();