Adding layer parameter to SPDFiredChips (0 == both, 1==inner, 2==outer).
authormfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Nov 2010 16:13:21 +0000 (16:13 +0000)
committermfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Nov 2010 16:13:21 +0000 (16:13 +0000)
The default is backward compatible (0)

ANALYSIS/AliTriggerAnalysis.cxx
ANALYSIS/AliTriggerAnalysis.h

index 9a5068824bb7bb9462804c4263adc57f8e6d1989..c9660bea3532bdd5a38f2dec8eaea49a828845ab 100644 (file)
@@ -631,12 +631,15 @@ Int_t AliTriggerAnalysis::SSDClusters(const AliESDEvent* aEsd)
 }
 
 
-Int_t AliTriggerAnalysis::SPDFiredChips(const AliESDEvent* aEsd, Int_t origin, Bool_t fillHists)
+Int_t AliTriggerAnalysis::SPDFiredChips(const AliESDEvent* aEsd, Int_t origin, Bool_t fillHists, Int_t layer)
 {
   // returns the number of fired chips in the SPD
   //
   // origin = 0 --> aEsd->GetMultiplicity()->GetNumberOfFiredChips() (filled from clusters)
   // origin = 1 --> aEsd->GetMultiplicity()->TestFastOrFiredChips() (from hardware bits)
+  // layer  = 0 --> both layers
+  // layer  = 1 --> inner
+  // layer  = 2 --> outer
   
   const AliMultiplicity* mult = aEsd->GetMultiplicity();
   if (!mult)
@@ -645,12 +648,23 @@ Int_t AliTriggerAnalysis::SPDFiredChips(const AliESDEvent* aEsd, Int_t origin, B
     return -1;
   }
   
-  if (origin == 0)
-    return mult->GetNumberOfFiredChips(0) + mult->GetNumberOfFiredChips(1);
+  if (origin == 0){
+    if (layer == 0) 
+      return mult->GetNumberOfFiredChips(0) + mult->GetNumberOfFiredChips(1);
+
+    return mult->GetNumberOfFiredChips(layer-1); 
+  }
     
   if (origin == 1)
   {
     Int_t nChips = 0;
+    Int_t firstChip = 0;
+    Int_t lastChip  = 1200;
+    if(layer == 1)
+      lastChip  = 400;
+    if(layer == 2)
+      firstChip = 400;
+
     for (Int_t i=0; i<1200; i++)
     {
       if (mult->TestFastOrFiredChips(i) == kTRUE)
index 9b983c7ee88a1643101bfdb25dca451139c15559..9323eb91f090cd95156cc297b0a2cc70a22e68f4 100644 (file)
@@ -49,7 +49,7 @@ class AliTriggerAnalysis : public TObject
     Bool_t IsTriggerClassFired(const AliESDEvent* aEsd, const Char_t* tclass) const;
     
     // some "raw" trigger functions
-    Int_t SPDFiredChips(const AliESDEvent* aEsd, Int_t origin, Bool_t fillHists = kFALSE);
+  Int_t SPDFiredChips(const AliESDEvent* aEsd, Int_t origin, Bool_t fillHists = kFALSE, Int_t layer = 0);
     Bool_t SPDGFOTrigger(const AliESDEvent* aEsd, Int_t origin);
     V0Decision V0Trigger(const AliESDEvent* aEsd, AliceSide side, Bool_t online, Bool_t fillHists = kFALSE);
     Bool_t ZDCTrigger(const AliESDEvent* aEsd, AliceSide side) const;