fPHOSEta(0.13),
fEMCALMinPhi(79.),
fEMCALMaxPhi(191.),
- fEMCALEta(0.71)
-
+ fEMCALEta(0.71),
+ fItune(-1)
{
// Default Constructor
fEnergyCMS = 5500.;
fPHOSEta(0.13),
fEMCALMinPhi(79.),
fEMCALMaxPhi(191.),
- fEMCALEta(0.71)
+ fEMCALEta(0.71),
+ fItune(-1)
{
// default charm production at 5. 5 TeV
// semimuonic decay
fRL = 0x0;
}
//
- fPythia->ProcInit(fProcess, fEnergyCMS, fStrucFunc);
+ fPythia->ProcInit(fProcess, fEnergyCMS, fStrucFunc, fItune);
// Forward Paramters to the AliPythia object
fDecayer->SetForceDecay(fForceDecay);
// Switch off Heavy Flavors on request
fParentSelect[0] = 431;
fFlavorSelect = 4;
break;
+ case kPyLambdacppMNR:
+ fParentSelect[0] = 4122;
+ fFlavorSelect = 4;
+ break;
case kPyBeauty:
case kPyBeautyJets:
case kPyBeautyPbPbMNR:
fDecayer->ForceDecay();
- Float_t polar[3] = {0,0,0};
- Float_t origin[3] = {0,0,0};
- Float_t p[4];
+ Double_t polar[3] = {0,0,0};
+ Double_t origin[3] = {0,0,0};
+ Double_t p[4];
// converts from mm/c to s
const Float_t kconv=0.001/2.999792458e8;
//
origin[1] = fVertex[1]+iparticle->Vy()/10; // [cm]
origin[2] = fVertex[2]+iparticle->Vz()/10; // [cm]
- Float_t tof = kconv*iparticle->T();
+ Float_t tof = fTime + kconv*iparticle->T();
Int_t ipa = (fPythia->Version() == 6) ? (iparticle->GetFirstMother() - 1) :(iparticle->GetFirstMother()) ;
Int_t iparent = (ipa > -1) ? pParent[ipa] : -1;
}
}
}
- if(!ok)
- return 0;
+ if(!ok){
+ delete [] pParent;
+ return 0;
+ }
}
if(!okd && iphcand != -1) // execute rotation in phi
RotatePhi(iphcand,okd);
- if(!okd)
- return 0;
+ if(!okd) {
+ delete[] pParent;
+ return 0;
+ }
}
if (fTriggerParticle) {
origin[1] = fVertex[1]+iparticle->Vy()/10; // [cm]
origin[2] = fVertex[2]+iparticle->Vz()/10; // [cm]
- Float_t tof = fEventTime + kconv * iparticle->T();
+ Float_t tof = fTime + fEventTime + kconv * iparticle->T();
PushTrack(fTrackIt*trackIt, iparent, kf,
p[0], p[1], p[2], p[3],
//
// Special Treatment to store color-flow
//
+ /*
if (ks == 3 || ks == 13 || ks == 14) {
TParticle* particle = 0;
if (fStack) {
} else {
particle = AliRunLoader::Instance()->Stack()->Particle(nt);
}
-// particle->SetFirstDaughter(fPythia->GetK(2, i));
-// particle->SetLastDaughter(fPythia->GetK(3, i));
+ particle->SetFirstDaughter(fPythia->GetK(2, i));
+ particle->SetLastDaughter(fPythia->GetK(3, i));
}
-
+ */
KeepTrack(nt);
pParent[i] = nt;
SetHighWaterMark(nt);
//
// Event Vertex
fHeader->SetPrimaryVertex(fVertex);
-
+ fHeader->SetInteractionTime(fTime+fEventTime);
//
// Number of primaries
fHeader->SetNProduced(fNprimaries);
// Store quenching parameters
//
if (fQuench){
- Double_t z[4];
- Double_t xp, yp;
+ Double_t z[4] = {0.};
+ Double_t xp = 0.;
+ Double_t yp = 0.;
if (fQuench == 1) {
// Pythia::Quench()
fPythia->GetQuenchingParameters(xp, yp, z);
fHeader = 0x0;
}
-Bool_t AliGenPythiaPlus::CheckTrigger(TParticle* jet1, TParticle* jet2)
+Bool_t AliGenPythiaPlus::CheckTrigger(const TParticle* jet1, const TParticle* jet2)
{
// Check the kinematic trigger condition
//
-Bool_t AliGenPythiaPlus::IsInEMCAL(Float_t phi, Float_t eta)
+Bool_t AliGenPythiaPlus::IsInEMCAL(Float_t phi, Float_t eta) const
{
// Is particle in EMCAL acceptance?
// phi in degrees, etamin=-etamax
return kFALSE;
}
-Bool_t AliGenPythiaPlus::IsInPHOS(Float_t phi, Float_t eta)
+Bool_t AliGenPythiaPlus::IsInPHOS(Float_t phi, Float_t eta) const
{
// Is particle in PHOS acceptance?
// Acceptance slightly larger considered.