From 440c28730c94cd147ff1236630dd373021d72162 Mon Sep 17 00:00:00 2001 From: morsch Date: Wed, 4 Jun 2014 11:11:26 +0200 Subject: [PATCH] Trigger condition with eta range Indranil Das --- PYTHIA6/AliGenPythia.cxx | 8 ++++++++ PYTHIA6/AliGenPythia.h | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/PYTHIA6/AliGenPythia.cxx b/PYTHIA6/AliGenPythia.cxx index eccf0f72495..abfcc526a7c 100644 --- a/PYTHIA6/AliGenPythia.cxx +++ b/PYTHIA6/AliGenPythia.cxx @@ -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; diff --git a/PYTHIA6/AliGenPythia.h b/PYTHIA6/AliGenPythia.h index 99fbf85afef..730676b60ae 100644 --- a/PYTHIA6/AliGenPythia.h +++ b/PYTHIA6/AliGenPythia.h @@ -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 -- 2.43.5