]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliCaloRawAnalyzerCrude.cxx
update from Per Thomas
[u/mrichter/AliRoot.git] / EMCAL / AliCaloRawAnalyzerCrude.cxx
1 /**************************************************************************
2  * This file is property of and copyright by the Experimental Nuclear     *
3  * Physics Group, Dep. of Physics                                         *
4  * University of Oslo, Norway, 2007                                       *
5  *                                                                        *
6  * Author: Per Thomas Hille <perthi@fys.uio.no> for the ALICE HLT Project.*
7  * Contributors are mentioned in the code where appropriate.              *
8  * Please report bugs to perthi@fys.uio.no                                *
9  *                                                                        *
10  * Permission to use, copy, modify and distribute this software and its   *
11  * documentation strictly for non-commercial purposes is hereby granted   *
12  * without fee, provided that the above copyright notice appears in all   *
13  * copies and that both the copyright notice and this permission notice   *
14  * appear in the supporting documentation. The authors make no claims     *
15  * about the suitability of this software for any purpose. It is          *
16  * provided "as is" without express or implied warranty.                  *
17  **************************************************************************/
18
19 // Evaluation of amplitude
20 // as max sample value - pedestal
21 // Not veru accurate, but very robust
22 // --------------
23 // --------------
24
25 #include "AliCaloRawAnalyzerCrude.h"
26 #include "AliCaloFitResults.h"
27 #include "AliCaloBunchInfo.h"
28
29
30 ClassImp(AliCaloRawAnalyzerCrude)  
31
32
33 AliCaloRawAnalyzerCrude::AliCaloRawAnalyzerCrude() : AliCaloRawAnalyzer("Crude", "Crude")
34 {
35
36 }
37
38
39 AliCaloRawAnalyzerCrude::~AliCaloRawAnalyzerCrude()
40 {
41
42 }
43
44
45 AliCaloFitResults
46 AliCaloRawAnalyzerCrude::Evaluate(const vector<AliCaloBunchInfo> &bunchvector, const UInt_t /*altrocfg1*/,  const UInt_t /*altrocfg2*/)
47 {
48   // Evaluation of signal parameters
49   if( bunchvector.size()  <=  0 )
50     {
51       return AliCaloFitResults(9999, 9999, 9999, 9999 , 9999, 9999, 9999 );
52     }
53
54   Int_t amp = 0;
55   Float_t tof = -99;
56   const UShort_t *sig;
57   
58   double ped = EvaluatePedestal( bunchvector.at(0).GetData(), bunchvector.at(0).GetLength() ) ;
59
60   for( unsigned int i= 0; i < bunchvector.size(); ++i)
61     {
62       sig = bunchvector.at(i).GetData();
63       int length = bunchvector.at(i).GetLength(); 
64       
65       for(int j = 0; j < length; j ++)
66         if( sig[j] > amp  )
67           {
68             amp   = sig[j];
69             tof   = bunchvector.at(i).GetStartBin() - j;                     
70           }
71     }
72
73   //:EvaluatePedestal(const UShort_t * const data, const int length )
74   //  double ped = EvaluatePedestal(sig, length) ;
75   return  AliCaloFitResults(amp, ped, 9999, amp - ped, tof, 9999, 9999 );
76   
77 } //end Crude
78
79