}
-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)
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)
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;