]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/ESD/AliESDEvent.cxx
Merge branch 'master' of http://git.cern.ch/pub/AliRoot
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDEvent.cxx
index a1cdcf41789f55e0e80900407a1b49c5a2a3968b..3bb69e763cb014339fe7dadbe0ab0db60c091ddb 100644 (file)
@@ -269,6 +269,7 @@ AliESDEvent::AliESDEvent(const AliESDEvent& esd):
   AddObject(fMuonPads);
   GetStdContent();
   ConnectTracks();
+
 }
 
 //______________________________________________________________________________
@@ -580,16 +581,24 @@ Bool_t AliESDEvent::IsDetectorInTriggerCluster(TString detector, AliTriggerConfi
   // Check if a given detector was read-out in the analyzed event
   const TObjArray& classesArray=trigConf->GetClasses();
   ULong64_t trigMask=GetTriggerMask();
+  ULong64_t trigMaskNext50=GetTriggerMaskNext50();
   Int_t nclasses = classesArray.GetEntriesFast();
   for(Int_t iclass=0; iclass < nclasses; iclass++ ) {
     AliTriggerClass* trclass = (AliTriggerClass*)classesArray.At(iclass);
-    Int_t classMask=trclass->GetMask();
+    ULong64_t classMask=trclass->GetMask();
+    ULong64_t classMaskNext50=trclass->GetMaskNext50();
     if(trigMask & classMask){
       TString detList=trclass->GetCluster()->GetDetectorsInCluster();
       if(detList.Contains(detector.Data())){
        return kTRUE;
       }
     }
+    if(trigMaskNext50 & classMaskNext50){
+      TString detList=trclass->GetCluster()->GetDetectorsInCluster();
+      if(detList.Contains(detector.Data())){
+       return kTRUE;
+      }
+    }
   }
   return kFALSE; 
 }
@@ -600,19 +609,20 @@ void AliESDEvent::Print(Option_t *) const
   // Print header information of the event
   //
   printf("ESD run information\n");
-  printf("Event # in file %d Bunch crossing # %d Orbit # %d Period # %d Run # %d Trigger %lld Magnetic field %f \n",
+  printf("Event # in file %d Bunch crossing # %d Orbit # %d Period # %d Run # %d Trigger %lld %lld Magnetic field %f \n",
         GetEventNumberInFile(),
         GetBunchCrossNumber(),
         GetOrbitNumber(),
         GetPeriodNumber(),
         GetRunNumber(),
         GetTriggerMask(),
+        GetTriggerMaskNext50(),
         GetMagneticField() );
   if (fPrimaryVertex)
     printf("Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
-          fPrimaryVertex->GetXv(), fPrimaryVertex->GetXRes(),
-          fPrimaryVertex->GetYv(), fPrimaryVertex->GetYRes(),
-          fPrimaryVertex->GetZv(), fPrimaryVertex->GetZRes());
+          fPrimaryVertex->GetX(), fPrimaryVertex->GetXRes(),
+          fPrimaryVertex->GetY(), fPrimaryVertex->GetYRes(),
+          fPrimaryVertex->GetZ(), fPrimaryVertex->GetZRes());
   printf("Mean vertex in RUN: X=%.4f Y=%.4f Z=%.4f cm\n",
         GetDiamondX(),GetDiamondY(),GetDiamondZ());
   if(fSPDMult)
@@ -2030,12 +2040,13 @@ Bool_t AliESDEvent::IsEventSelected(const char *trigExpr) const
   // trigExpr can be any logical expression
   // of the trigger classes defined in AliESDRun
   // In case of wrong syntax return kTRUE.
+  // Modified by rl for 100 classes - to be tested
 
   TString expr(trigExpr);
   if (expr.IsNull()) return kTRUE;
 
   ULong64_t mask = GetTriggerMask();
-  for(Int_t itrig = 0; itrig < AliESDRun::kNTriggerClasses; itrig++) {
+  for(Int_t itrig = 0; itrig < AliESDRun::kNTriggerClasses/2; itrig++) {
     if (mask & (1ull << itrig)) {
       expr.ReplaceAll(GetESDRun()->GetTriggerClass(itrig),"1");
     }
@@ -2043,6 +2054,15 @@ Bool_t AliESDEvent::IsEventSelected(const char *trigExpr) const
       expr.ReplaceAll(GetESDRun()->GetTriggerClass(itrig),"0");
     }
   }
+  ULong64_t maskNext50 = GetTriggerMaskNext50();
+  for(Int_t itrig = 0; itrig < AliESDRun::kNTriggerClasses/2; itrig++) {
+    if (maskNext50 & (1ull << itrig)) {
+      expr.ReplaceAll(GetESDRun()->GetTriggerClass(itrig+50),"1");
+    }
+    else {
+      expr.ReplaceAll(GetESDRun()->GetTriggerClass(itrig+50),"0");
+    }
+  }
 
   Int_t error;
   if ((gROOT->ProcessLineFast(expr.Data(),&error) == 0) &&