Trigger condition with eta range
authormorsch <andreas.morsch@cern.ch>
Wed, 4 Jun 2014 09:11:26 +0000 (11:11 +0200)
committermorsch <andreas.morsch@cern.ch>
Wed, 4 Jun 2014 09:11:26 +0000 (11:11 +0200)
Indranil Das

PYTHIA6/AliGenPythia.cxx
PYTHIA6/AliGenPythia.h

index eccf0f7..abfcc52 100644 (file)
@@ -130,6 +130,8 @@ AliGenPythia::AliGenPythia():
     fTriggerMaxPt(1000),  
     fTriggerMultiplicity(0),
     fTriggerMultiplicityEta(0),
+    fTriggerMultiplicityEtaMin(0),
+    fTriggerMultiplicityEtaMax(0),
     fTriggerMultiplicityPtMin(0),
     fCountMode(kCountAll),      
     fHeader(0),  
@@ -248,6 +250,8 @@ AliGenPythia::AliGenPythia(Int_t npart)
      fTriggerMaxPt(1000),      
      fTriggerMultiplicity(0),
      fTriggerMultiplicityEta(0),
+     fTriggerMultiplicityEtaMin(0),
+     fTriggerMultiplicityEtaMax(0),
      fTriggerMultiplicityPtMin(0),
      fCountMode(kCountAll),      
      fHeader(0),  
@@ -1053,6 +1057,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;
index 99fbf85..730676b 100644 (file)
@@ -148,7 +148,12 @@ class AliGenPythia : public AliGenMC
     virtual void  SetTriggerChargedMultiplicity(Int_t multiplicity, Float_t etamax = 0, Float_t ptmin = -1.) 
     {fTriggerMultiplicity = multiplicity; fTriggerMultiplicityEta = etamax; 
       fTriggerMultiplicityPtMin = ptmin;}
-       
+    
+    // Trigger on a minimum multiplicity for a given eta range
+    virtual void  SetTriggerMultiplicityEtaRange(Int_t multiplicity, Float_t etamin = 0., Float_t etamax = 0., Float_t ptmin = -1.) 
+    {fTriggerMultiplicity = multiplicity; fTriggerMultiplicityEtaMin = etamin; fTriggerMultiplicityEtaMax = etamax; 
+      fTriggerMultiplicityPtMin = ptmin;}
+    
     // Calorimeters acceptance
     // Set Phi in degrees, and Eta coverage, should not be negative
     virtual void  SetBarrelAcceptance(Float_t deta) {fTriggerEta = deta ;}
@@ -339,6 +344,8 @@ class AliGenPythia : public AliGenMC
     Float_t fTriggerMaxPt;          // .. within pt < fTriggerMaxPt
     Int_t       fTriggerMultiplicity;       // Trigger on events with a minimum charged multiplicity
     Float_t     fTriggerMultiplicityEta;    // in a given eta range
+    Float_t     fTriggerMultiplicityEtaMin;    // in a given eta min
+    Float_t     fTriggerMultiplicityEtaMax;    // in a given eta max
     Float_t     fTriggerMultiplicityPtMin;  // above this pT 
     CountMode_t fCountMode;         // Options for counting when the event will be finished.     
     // fCountMode = kCountAll         --> All particles that end up in the