Possibility of rapidity cut on trigger particle
authormorsch <andreas.morsch@cern.ch>
Fri, 15 Aug 2014 18:40:14 +0000 (20:40 +0200)
committermorsch <andreas.morsch@cern.ch>
Fri, 15 Aug 2014 18:40:14 +0000 (20:40 +0200)
 Roberto Preghenella [Roberto.Preghenella@bo.infn.it]

PYTHIA6/AliGenPythia.cxx
PYTHIA6/AliGenPythia.h

index 5456f77..b8371da 100644 (file)
@@ -126,6 +126,7 @@ AliGenPythia::AliGenPythia():
     fNucPdf(0),
     fTriggerParticle(0),
     fTriggerEta(0.9),     
+    fTriggerY(999.),     
     fTriggerEtaMin(0.9),     
     fTriggerMinPt(-1),  
     fTriggerMaxPt(1000),  
@@ -247,6 +248,7 @@ AliGenPythia::AliGenPythia(Int_t npart)
      fNucPdf(0),
      fTriggerParticle(0),
      fTriggerEta(0.9), 
+     fTriggerY(999.), 
      fTriggerEtaMin(0.9),     
      fTriggerMinPt(-1),  
      fTriggerMaxPt(1000),      
@@ -1089,6 +1091,7 @@ Int_t  AliGenPythia::GenerateMB()
            kf = CheckPDGCode(iparticle->GetPdgCode());
            if (kf != fTriggerParticle) continue;
            if (iparticle->Pt() == 0.) continue;
+           if (TMath::Abs(iparticle->Y()) > fTriggerY) continue;
            if (fTriggerEtaMin == fTriggerEta) {
              if (TMath::Abs(iparticle->Eta()) > fTriggerEta) continue;
            } else {
index 57568a6..8462f2c 100644 (file)
@@ -157,6 +157,7 @@ class AliGenPythia : public AliGenMC
     // Calorimeters acceptance
     // Set Phi in degrees, and Eta coverage, should not be negative
     virtual void  SetBarrelAcceptance(Float_t deta) {fTriggerEta = deta ;}
+    virtual void  SetTriggerY(Float_t dy) {fTriggerY = dy;}
     virtual void  SetEMCALAcceptance (Float_t phimin, Float_t phimax, Float_t deta) {fEMCALMinPhi = phimin ; fEMCALMaxPhi = phimax ; fEMCALEta = deta ; }
     virtual void  SetPHOSAcceptance  (Float_t phimin, Float_t phimax, Float_t deta) {fPHOSMinPhi  = phimin ; fPHOSMaxPhi  = phimax ; fPHOSEta  = deta ; }
     virtual void  SetRotateParticleInPHOSeta(Bool_t b) {fCheckPHOSeta = b;}
@@ -342,6 +343,7 @@ class AliGenPythia : public AliGenMC
     Int_t   fNucPdf;                // Nuclear pdf 0: EKS98 1: EPS08
     Int_t   fTriggerParticle;       // Trigger on this particle ...
     Float_t fTriggerEta;            // .. within |eta| < fTriggerEta
+    Float_t fTriggerY;              // .. within |y|   < fTriggerEta
     Float_t fTriggerEtaMin;         // .. within fTriggerEtaMin < eta < fTriggerEta
     Float_t fTriggerMinPt;          // .. within pt > fTriggerMinPt
     Float_t fTriggerMaxPt;          // .. within pt < fTriggerMaxPt