]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliEventTagCuts.cxx
Fix for Savannah bug report 59287
[u/mrichter/AliRoot.git] / STEER / AliEventTagCuts.cxx
index 48029e5643cec16de07a40dfb3634bcd6bac341b..4d3da6f605f151cf6d02e49aa1504f53e83abd47 100644 (file)
@@ -22,6 +22,7 @@
 class AliLog;
 class AliESD;
 
+#include "TMath.h"
 #include "AliEventTag.h"
 #include "AliEventTagCuts.h"
 
@@ -33,15 +34,17 @@ AliEventTagCuts::AliEventTagCuts() :
   TObject(),
   fPeriodNumberMin(0), fPeriodNumberMax(0xFFFFFFFF), fPeriodNumberFlag(kFALSE),
   fOrbitNumberMin(0), fOrbitNumberMax(0xFFFFFFFF), fOrbitNumberFlag(kFALSE),
-  fBunchCrossNumberMin(0), fBunchCrossNumberMax(0xFFFFFFFF), 
+  fBunchCrossNumberMin(0), fBunchCrossNumberMax(0xFFFF), 
   fBunchCrossNumberFlag(kFALSE),
   fEventType(7), fEventTypeFlag(kFALSE),
-
   fNParticipantsMin(-1), fNParticipantsMax(10000),
   fNParticipantsFlag(kFALSE),
   fImpactParamMin(-1.0), fImpactParamMax(1000.0),
   fImpactParamFlag(kFALSE),
-
+  fEtaMin(-13.0), fEtaMax(13.0), 
+  fEtaFlag(kFALSE),
+  fPhiMin(0.), fPhiMax(2*(TMath::Pi())), 
+  fPhiFlag(kFALSE),
   fVxMin(-1000.0), fVxMax(1000.0), 
   fVxFlag(kFALSE),
   fVyMin(-1000.0), fVyMax(1000.0),  
@@ -187,6 +190,8 @@ void AliEventTagCuts::Reset() {
   fNParticipantsFlag = kFALSE;
   fImpactParamFlag = kFALSE;
 
+  fEtaFlag = kFALSE;
+  fPhiFlag = kFALSE;
   fVxFlag = kFALSE;
   fVyFlag = kFALSE;
   fVzFlag = kFALSE;
@@ -254,10 +259,12 @@ void AliEventTagCuts::Reset() {
 
   fPeriodNumberMin = 0, fPeriodNumberMax = 0xFFFFFFFF;
   fOrbitNumberMin = 0, fOrbitNumberMax = 0xFFFFFFFF;
-  fBunchCrossNumberMin = 0, fBunchCrossNumberMax = 0xFFFFFFFF;
+  fBunchCrossNumberMin = 0, fBunchCrossNumberMax = 0xFFFF;
 
   fEventType = 7;
 
+  fEtaMin = -13.0; fEtaMax = 13.0;
+  fPhiMin = 0.; fPhiMax = 2*(TMath::Pi());
   fVxMin = -1000.0; fVxMax = 1000.0; 
   fVyMin = -1000.0; fVyMax = 1000.0;  
   fVzMin = -1000.0; fVzMax = 1000.0;
@@ -415,6 +422,23 @@ void AliEventTagCuts::SetPrimaryVertexZRange(Float_t low, Float_t high) {
   fVzFlag = kTRUE;
 }
 
+//___________________________________________________________________________
+ void AliEventTagCuts::SetEtaLeadingParticleRange(Float_t low, Float_t high) {
+  //Sets the eta range of LP 
+  //and the corresponding flag to kTRUE if the cut is used.
+  fEtaMin = low;
+  fEtaMax = high; 
+  fEtaFlag = kTRUE;
+}
+//__________________________________________________________________________
+void AliEventTagCuts::SetPhiLeadingParticleRange(Float_t low, Float_t high) {
+  //Sets the eta range of LP 
+  //and the corresponding flag to kTRUE if the cut is used.
+  fPhiMin = low;
+  fPhiMax = high; 
+  fPhiFlag = kTRUE;
+} 
+
 //___________________________________________________________________________
 void AliEventTagCuts::SetPrimaryVertexZErrorRange(Float_t low, Float_t high) {
   //Sets the primary vertex z error range 
@@ -931,6 +955,14 @@ Bool_t AliEventTagCuts::IsAccepted(AliEventTag *EvTag) const {
       return kFALSE;
 
 
+ if(fEtaFlag)
+    if((EvTag->GetEtaMaxPt() < fEtaMin) || (EvTag->GetEtaMaxPt() > fEtaMax))
+      return kFALSE;
+
+  if(fPhiFlag)
+    if((EvTag->GetPhiMaxPt() < fPhiMin) || (EvTag->GetPhiMaxPt() > fPhiMax))
+      return kFALSE;
+
   if(fVzFlag)
     if((EvTag->GetVertexZ() < fVzMin) || (EvTag->GetVertexZ() > fVzMax))
       return kFALSE;