- // (Int_t)data[N - 3] = (Int_t)data[N - 4] -(Int_t) data[N - 5] + (Int_t)data[N-4];
- data[N - 1] = data[N - 2];
- return crazyness++;
- }
-
- }
-
- return crazyness;
-
-}
-
-
-
-Int_t
-AliHLTPHOSSanityInspector::CheckAndHealInsanity(Int_t* data, Int_t N)
-{
- //See header file for documentation
-
- Int_t crazyness = 0;
-
- if(N > 3)
- {
- if((((Int_t)data[0] - (Int_t)data[1]) > fMaxDifference) || (((Int_t)data[1] - (Int_t)data[0]) > fMaxDifference))
- return -1;
- if((((Int_t)data[1] - (Int_t)data[2]) > fMaxDifference) || (((Int_t)data[2] - (Int_t)data[1]) > fMaxDifference))
- return -1;
-
-
- for(Int_t i = 2; i < N - 3; i++)
- {
- if((((Int_t)data[i] - (Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
- {
- i++;
- if((((Int_t)data[i] -(Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
- {
- i++;
- if((((Int_t)data[i] - (Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
- {
- return -2; //Too crazy
- }
- data[i-1] = ((Int_t)data[i] + (Int_t)data[i-2])/2;
- crazyness++;
- }
- else
- return -3; //Two spikes in a row?
- }
- }
-
-
-
- if((((Int_t)data[N - 3] -(Int_t) data[N - 2]) > fMaxDifference) ||
- (((Int_t)data[N - 2] - (Int_t)data[N - 3]) > fMaxDifference))
- {
- if((((Int_t)data[N - 2] - (Int_t)data[N - 1]) > fMaxDifference) ||
- (((Int_t)data[N - 1] - (Int_t)data[N - 2]) > fMaxDifference))
- {
- data[N - 2] = ((Int_t)data[N - 3] + (Int_t)data[N - 1])/2;
- return crazyness++;
- }
- return -4;
-
- }
-
- if((((Int_t)data[N - 2] - (Int_t)data[N - 1]) > fMaxDifference) ||
- (((Int_t)data[N - 1] - (Int_t)data[N - 2]) > fMaxDifference))
- {
- // (Int_t)data[N - 3] = (Int_t)data[N - 4] -(Int_t) data[N - 5] + (Int_t)data[N-4];