First working implementation of the online cell energy/time evaluation. The
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerCrude.cxx
CommitLineData
cbab66dd 1/**************************************************************************
2 * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: Per Thomas Hille for the ALICE HLT Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16#include "AliHLTPHOSRawAnalyzerCrude.h"
17#include <iostream>
18
19using std::cout;
20using std::endl;
21
22ClassImp(AliHLTPHOSRawAnalyzerCrude)
23
24
25AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude(const AliHLTPHOSRawAnalyzerCrude&):AliHLTPHOSRawAnalyzer()
26{
27
28}
29
30/**
31 * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
32 * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
33 * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
34 * calculation is of type double.
35 **/
36AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude():AliHLTPHOSRawAnalyzer()
37{
92e78811 38 // cout <<"AliHLTPHOSRawAnalyzerCrude::Creating a new AliHLTPHOSRawAnalyzerCrude() object "<<endl;
cbab66dd 39}
40
41
42
43AliHLTPHOSRawAnalyzerCrude::~AliHLTPHOSRawAnalyzerCrude()
44{
45
46} //end AliHLTPHOSRawAnalyzerCrude
47
48
49
50/**
ee7849e6 51* Extraction of timing and energy using Crude estimate.
cbab66dd 52* The. The parameters "start" and "length" defines a sub array of the data array
53* that will be used for the the fit. If start+length must not exeed the total length
54* of the Data array. "start" must be chosen as close as possible to t0.
55* The baseline must also be subtracted.
56* The length of "tVector" and "aVector" mus be equal to length.
57* "index + length" must not exeed the length of the data array set in the constructor.
58* @param start the start index of the subarray of the data array.
59* @param length the number of samples to use starting from index
60* @param tVector the peakfinder vector for timing
61* @param aVector the peakfinder vector for amplitude (energy)
62**/
63void
64AliHLTPHOSRawAnalyzerCrude::Evaluate(int start, int length)
65{
2947a32c 66 // printf("\nAliHLTPHOSRawAnalyzerCrude::Evaluat() from index %d to %d\n", start, start + length);
92e78811 67
cbab66dd 68
69 double tmpAmplitudeMax =0;
70 double tmpTime = 0;
71
72 for(int i=start; i<length; i++)
73 {
74 if(fFloatDataPtr[i] > tmpAmplitudeMax)
75 {
76 tmpAmplitudeMax = fFloatDataPtr[i];
77 tmpTime = i;
78 }
79 }
80
81 fDAmpl = tmpAmplitudeMax;
82 fDTof = tmpTime;
92e78811 83
cbab66dd 84 //thats all
85} //end Crude
86
87
88
89
90
91