namespace
{
const Int_t kPayLoadSizeOld = 236;
- const Int_t kPayLoadSizeNew = 245;
+ const Int_t kPayLoadSizeNew = 245;
}
ClassImp(AliEMCALTriggerSTURawStream)
fV0A = ((word32[0]>>16) & 0xFFFF);
fV0C = (word32[0] & 0xFFFF);
- UInt_t sV0 = fV0A + fV0C;
-
fGA = word32[1];
fGB = word32[2];
fGC = word32[3];
jetSize += (fFwVersion >> 16);
- fL1JetThreshold = fJA * sV0 * sV0 + fJB * sV0 + fJC;
- fL1GammaThreshold = fGA * sV0 * sV0 + fGB * sV0 + fGC;
+ fL1JetThreshold = GetThreshold(fJA, fJB, fJC, fV0A, fV0C);
+ fL1GammaThreshold = GetThreshold(fGA, fGB, fGC, fV0A, fV0C);
offset = 9;
}
}
}
+
+//_____________________________________________________________________________
+UShort_t AliEMCALTriggerSTURawStream::GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C)
+{
+ ULong64_t V0sum = V0A + V0C;
+
+ ULong64_t sqrV0 = V0sum * V0sum;
+
+ sqrV0 *= A;
+
+ sqrV0 >>= 32;
+
+ V0sum *= B;
+
+ V0sum >>= 16;
+
+ return (UShort_t)(sqrV0 + V0sum + C);
+}
AliEMCALTriggerSTURawStream(const AliEMCALTriggerSTURawStream& rhs);
AliEMCALTriggerSTURawStream& operator = (const AliEMCALTriggerSTURawStream& rhs);
+ UShort_t GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C);
+
AliRawReader* fRawReader; // object for reading the raw data
UInt_t fL1JetThreshold; // L1 Jet Threshold