]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRawAnalyzerCrude.cxx
removing the HLT autoconf build system, however keep on using that for the
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerCrude.cxx
1 // $Id$
2
3 /**************************************************************************
4  * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved.      *
5  *                                                                        *
6  * Author: Per Thomas Hille for the ALICE HLT Project.                    *
7  * Contributors are mentioned in the code where appropriate.              *
8  *                                                                        *
9  * Permission to use, copy, modify and distribute this software and its   *
10  * documentation strictly for non-commercial purposes is hereby granted   *
11  * without fee, provided that the above copyright notice appears in all   *
12  * copies and that both the copyright notice and this permission notice   *
13  * appear in the supporting documentation. The authors make no claims     *
14  * about the suitability of this software for any purpose. It is          *
15  * provided "as is" without express or implied warranty.                  *
16  **************************************************************************/
17
18 #include "AliHLTPHOSRawAnalyzerCrude.h"
19
20 //ClassImp(AliHLTPHOSRawAnalyzerCrude) 
21
22
23 /**
24  * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
25  * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
26  * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
27  * calculation is of type double.
28  **/
29 //____________________________________________________________________________
30 AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude():AliHLTPHOSRawAnalyzer() 
31 {
32
33 }
34
35
36 //____________________________________________________________________________
37 AliHLTPHOSRawAnalyzerCrude::~AliHLTPHOSRawAnalyzerCrude()
38 {
39
40 } //end AliHLTPHOSRawAnalyzerCrude
41
42
43 /**
44 * Extraction of timing and energy using Crude estimate.
45 * The. The parameters "start" and "length" defines a sub array  of the data array
46 * that will be used for the the fit. If start+length must not exeed the total length
47 * of the Data array. "start" must be chosen as close as possible to t0.
48 * The baseline must also be subtracted.                                                              .
49 * "index + length" must not exeed the length of the data array set in the constructor.
50 * @param start the start index of the subarray of the data array. 
51 * @param length the number of samples to use starting from index 
52 **/
53 // //____________________________________________________________________________
54 // void 
55 // AliHLTPHOSRawAnalyzerCrude::Evaluate(int start, int length)
56 // {
57 //   double tmpAmplitudeMax =0; 
58 //   double tmpTime = 0;
59
60 //   for(int i=start; i<length; i++)
61 //     {
62 //       if(fIntDataPtr[i] >  tmpAmplitudeMax && i > 5)
63 //      {
64 //        tmpAmplitudeMax = fIntDataPtr[i];
65 //        tmpTime = i;               
66 //      }
67 //     }
68         
69 //   fDAmpl = tmpAmplitudeMax;
70 //   fDTof =  tmpTime;
71  
72 //   //thats all 
73 // } //end Crude
74
75
76 void 
77 AliHLTPHOSRawAnalyzerCrude::Evaluate(int start, int length)
78 {
79   //  cout << "AliHLTPHOSRawAnalyzerCrude::Evaluate TP0"  << endl;
80
81   //DumpData(T
82
83   //  DumpData(fDoubleDataPtr,50, 25);
84
85   if(fUseShortValues == true)
86     {
87       EvaluateShort(start, length);
88     }
89   else
90     {
91
92       double tmpAmplitudeMax =0; 
93       double tmpTime = 0;
94
95       for(int i=start; i<length; i++)
96         {
97           //   if(fDoubleDataPtr[i] >  tmpAmplitudeMax && i > 5)
98           //      if(fIntDataPtr[i] >  tmpAmplitudeMax && i > 5)
99           if(fIntDataPtr[i] >  tmpAmplitudeMax )    
100             {
101               //          tmpAmplitudeMax = fDoubleDataPtr[i];
102               tmpAmplitudeMax = fIntDataPtr[i];
103               tmpTime = i;                   
104             }
105         }
106
107       fDAmpl = tmpAmplitudeMax;
108       fDTof =  tmpTime;
109     }
110  
111   //thats all 
112 } //end Crude
113
114 void 
115 AliHLTPHOSRawAnalyzerCrude::EvaluateShort(int start, int length)
116 {
117   //  cout << "AliHLTPHOSRawAnalyzerCrude::Evaluate TP0"  << endl;
118
119   //DumpData(T
120
121   //  DumpData(fDoubleDataPtr,50, 25);
122
123   double tmpAmplitudeMax =0; 
124   double tmpTime = 0;
125
126   for(int i=start; i<length; i++)
127     {
128       //     cout << "sample index: " << i << endl;
129         //   if(fDoubleDataPtr[i] >  tmpAmplitudeMax && i > 5)
130       //      if(fShortDataPtr[i] >  tmpAmplitudeMax && i > 5)
131       if(fShortDataPtr[i] >  tmpAmplitudeMax  ) 
132         {
133           //      tmpAmplitudeMax = fDoubleDataPtr[i];
134           tmpAmplitudeMax = fShortDataPtr[i];
135           tmpTime = i;               
136         }
137     }
138
139  
140   fDAmpl = tmpAmplitudeMax;
141   fDTof =  tmpTime;
142  
143   //thats all 
144 } //end Crude