X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PYTHIA6%2FAliGenPythia.cxx;h=b8371da4934f852e2fc4f688187ab2f6cab669eb;hb=4b5ec27de0570549fb457cfdc3a6e5773b14ebef;hp=eccf0f72495e1cb1fdee6a086f26076b3a171da8;hpb=45a24a6cb64641a2df0420e50ea937128b59b010;p=u%2Fmrichter%2FAliRoot.git diff --git a/PYTHIA6/AliGenPythia.cxx b/PYTHIA6/AliGenPythia.cxx index eccf0f72495..b8371da4934 100644 --- a/PYTHIA6/AliGenPythia.cxx +++ b/PYTHIA6/AliGenPythia.cxx @@ -126,10 +126,14 @@ AliGenPythia::AliGenPythia(): fNucPdf(0), fTriggerParticle(0), fTriggerEta(0.9), + fTriggerY(999.), + fTriggerEtaMin(0.9), fTriggerMinPt(-1), fTriggerMaxPt(1000), fTriggerMultiplicity(0), fTriggerMultiplicityEta(0), + fTriggerMultiplicityEtaMin(0), + fTriggerMultiplicityEtaMax(0), fTriggerMultiplicityPtMin(0), fCountMode(kCountAll), fHeader(0), @@ -244,10 +248,14 @@ AliGenPythia::AliGenPythia(Int_t npart) fNucPdf(0), fTriggerParticle(0), fTriggerEta(0.9), + fTriggerY(999.), + fTriggerEtaMin(0.9), fTriggerMinPt(-1), fTriggerMaxPt(1000), fTriggerMultiplicity(0), fTriggerMultiplicityEta(0), + fTriggerMultiplicityEtaMin(0), + fTriggerMultiplicityEtaMax(0), fTriggerMultiplicityPtMin(0), fCountMode(kCountAll), fHeader(0), @@ -769,14 +777,14 @@ void AliGenPythia::Generate() fProcess != kPyMbMSEL1 && fProcess != kPyW && fProcess != kPyZ && - fProcess != kPyZgamma && + fProcess != kPyZgamma && fProcess != kPyCharmppMNRwmi && fProcess != kPyBeautyppMNRwmi && fProcess != kPyBeautyJets && - fProcess != kPyWPWHG && - fProcess != kPyJetsPWHG && - fProcess != kPyCharmPWHG && - fProcess != kPyBeautyPWHG) { + fProcess != kPyWPWHG && + fProcess != kPyJetsPWHG && + fProcess != kPyCharmPWHG && + fProcess != kPyBeautyPWHG) { for (i = 0; i < np; i++) { TParticle* iparticle = (TParticle *) fParticles.At(i); @@ -1053,6 +1061,10 @@ Int_t AliGenPythia::GenerateMB() // eta cut if (fTriggerMultiplicityEta > 0 && TMath::Abs(iparticle->Eta()) > fTriggerMultiplicityEta) continue; + //multiplicity check for a given eta range + if ((fTriggerMultiplicityEtaMin != fTriggerMultiplicityEtaMax) && + (iparticle->Eta() < fTriggerMultiplicityEtaMin || iparticle->Eta() > fTriggerMultiplicityEtaMax)) + continue; // pt cut if (iparticle->Pt() < fTriggerMultiplicityPtMin) continue; @@ -1079,7 +1091,12 @@ Int_t AliGenPythia::GenerateMB() kf = CheckPDGCode(iparticle->GetPdgCode()); if (kf != fTriggerParticle) continue; if (iparticle->Pt() == 0.) continue; - if (TMath::Abs(iparticle->Eta()) > fTriggerEta) continue; + if (TMath::Abs(iparticle->Y()) > fTriggerY) continue; + if (fTriggerEtaMin == fTriggerEta) { + if (TMath::Abs(iparticle->Eta()) > fTriggerEta) continue; + } else { + if (iparticle->Eta() > fTriggerEta || iparticle->Eta() < fTriggerEtaMin) continue; + } if ( iparticle->Pt() > fTriggerMaxPt || iparticle->Pt() < fTriggerMinPt ) continue; triggered = kTRUE; break; @@ -1101,8 +1118,8 @@ Int_t AliGenPythia::GenerateMB() Bool_t theChild=kFALSE; Bool_t triggered=kFALSE; Float_t y; - Int_t pdg,mpdg,mpdgUpperFamily; - for(i=0; iGetPdgCode(); if(TMath::Abs(pdg) == fFlavorSelect) { // quark @@ -1145,10 +1162,10 @@ Int_t AliGenPythia::GenerateMB() //Introducing child cuts in case kPyW, kPyZ, kPyMb, and kPyMbNonDiff if ( ( - fProcess == kPyWPWHG || - fProcess == kPyW || + fProcess == kPyWPWHG || + fProcess == kPyW || fProcess == kPyZ || - fProcess == kPyZgamma || + fProcess == kPyZgamma || fProcess == kPyMbDefault || fProcess == kPyMb || fProcess == kPyMbAtlasTuneMC09 || @@ -1160,7 +1177,7 @@ Int_t AliGenPythia::GenerateMB() return 0; } } - + for (i = 0; i < np; i++) { Int_t trackIt = 0;