// argument 'online' is used as a switch between online and offline trigger algorithms
//
// Based on an algorithm by Cvetan Cheshkov
-
+
AliESDVZERO* esdV0 = aEsd->GetVZEROData();
if (!esdV0)
{
AliError("AliESDVZERO not available");
return kV0Invalid;
}
+ AliDebug(2,Form("In V0Trigger: %f %f",esdV0->GetV0ATime(),esdV0->GetV0CTime()));
- if (esdV0->TestBit(AliESDVZERO::kDecisionFilled)) {
+ Int_t begin = -1;
+ Int_t end = -1;
+
+ if (side == kASide)
+ {
+ begin = 32;
+ end = 64;
+ }
+ else if (side == kCSide)
+ {
+ begin = 0;
+ end = 32;
+ }
+ else
+ return kV0Invalid;
+
+ if (esdV0->TestBit(AliESDVZERO::kDecisionFilled)) {
if (online) {
- AliWarning("V0 online trigger analysis is not yet available!");
- return kV0BB;
+ if (esdV0->TestBit(AliESDVZERO::kOnlineBitsFilled)) {
+ for (Int_t i = begin; i < end; ++i) {
+ if (esdV0->GetBBFlag(i)) return kV0BB;
+ }
+ for (Int_t i = begin; i < end; ++i) {
+ if (esdV0->GetBGFlag(i)) return kV0BG;
+ }
+ return kV0Empty;
+ }
+ else {
+ AliWarning("V0 online trigger analysis is not yet available!");
+ return kV0BB;
+ }
}
else {
}
}
- Int_t begin = -1;
- Int_t end = -1;
-
- if (side == kASide)
- {
- begin = 32;
- end = 64;
- }
- else if (side == kCSide)
- {
- begin = 0;
- end = 32;
- }
- else
- return kV0Invalid;
-
Float_t time = 0;
Float_t weight = 0;
if (fMC)