]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliCaloRawAnalyzerNN.cxx
Federico's contribution : introduction mecanics and hlt description
[u/mrichter/AliRoot.git] / EMCAL / AliCaloRawAnalyzerNN.cxx
index 606fe3634a265ac42309ccbd15de204aceb57551..69825b6e0aa021198417e3163679be5efd1d9d72 100644 (file)
 #include "AliCaloNeuralFit.h"
 #include "AliCaloFitResults.h"
 #include "AliCaloBunchInfo.h"
-
 #include <iostream>
-
 using namespace std;
 
+#include "AliCaloConstants.h"
+
 ClassImp( AliCaloRawAnalyzerNN )
 
 AliCaloRawAnalyzerNN::AliCaloRawAnalyzerNN() : AliCaloRawAnalyzer("Neural Network", "NN"), fNeuralNet(0)
 {
   // Comment
+  fAlgo=Algo::kNeuralNet;
 
   fNeuralNet = new AliCaloNeuralFit();
 
@@ -62,7 +63,9 @@ AliCaloRawAnalyzerNN::Evaluate( const vector<AliCaloBunchInfo> &bunchvector,
   // The eveluation of  Peak position and amplitude using the Neural Network
   if( bunchvector.size()  <=  0 )
     {
-      return AliCaloFitResults(AliCaloFitResults::kInvalid, AliCaloFitResults::kInvalid);
+      //  cout << __FILE__ << __LINE__<< " INVALID "<< endl;
+
+      return AliCaloFitResults( Ret::kInvalid, Ret::kInvalid);
     } 
  
   short maxampindex;
@@ -72,7 +75,8 @@ AliCaloRawAnalyzerNN::Evaluate( const vector<AliCaloBunchInfo> &bunchvector,
   
   if( index   < 0 )
     {
-      return AliCaloFitResults(AliCaloFitResults::kInvalid, AliCaloFitResults::kInvalid);
+      //  cout << __FILE__ << __LINE__<< "INVALID !!!!!!" << endl;
+      return AliCaloFitResults( Ret::kInvalid, Ret::kInvalid);
     }
   
   Float_t ped = ReverseAndSubtractPed( &(bunchvector.at( index ) )  ,  altrocfg1, altrocfg2, fReversed  );  
@@ -81,13 +85,14 @@ AliCaloRawAnalyzerNN::Evaluate( const vector<AliCaloBunchInfo> &bunchvector,
 
   if(  maxf < fAmpCut  ||  ( maxamp - ped) > fOverflowCut  ) // (maxamp - ped) > fOverflowCut = Close to saturation (use low gain then)
     {
-      return  AliCaloFitResults( maxamp, ped, AliCaloFitResults::kCrude, maxf, timebinOffset);
+      //   cout << __FILE__ << __LINE__<< ":  timebinOffset = " <<  timebinOffset  << "  maxf "<< maxf  << endl; 
+      return  AliCaloFitResults( maxamp, ped, Ret::kCrude, maxf, timebinOffset);
     }
 
   int first = 0;
   int last = 0; 
   short maxrev = maxampindex  -  bunchvector.at(index).GetStartBin();
-  SelectSubarray( fReversed,  bunchvector.at(index).GetLength(),  maxrev , &first, &last);
+  SelectSubarray( fReversed,  bunchvector.at(index).GetLength(),  maxrev , &first, &last, fFitArrayCut );
 
   Float_t chi2 = 0;
   Int_t ndf = 0;
@@ -97,8 +102,9 @@ AliCaloRawAnalyzerNN::Evaluate( const vector<AliCaloBunchInfo> &bunchvector,
        {
          chi2 = CalculateChi2(maxf, maxrev, first, last);
          ndf = last - first - 1; // nsamples - 2
-         return AliCaloFitResults( maxamp, ped, AliCaloFitResults::kCrude, maxf, timebinOffset,
-                                   timebinOffset, chi2, ndf, AliCaloFitResults::kDummy, AliCaloFitSubarray(index, maxrev, first, last) ); 
+         //      cout << __FILE__ << __LINE__<< ":  timebinOffset = " <<  timebinOffset << "  maxf\t"<< maxf <<endl;
+         return AliCaloFitResults( maxamp, ped, Ret::kCrude, maxf, timebinOffset,
+                                   timebinOffset, chi2, ndf, Ret::kDummy, AliCaloFitSubarray(index, maxrev, first, last) ); 
        }
       else
        {
@@ -115,15 +121,18 @@ AliCaloRawAnalyzerNN::Evaluate( const vector<AliCaloBunchInfo> &bunchvector,
          // use local-array time for chi2 estimate
          chi2 = CalculateChi2(amp, tof-timebinOffset+maxrev, first, last);
          ndf = last - first - 1; // nsamples - 2
-         return AliCaloFitResults( maxamp, ped , AliCaloFitResults::kFitPar, amp , tof, timebinOffset, chi2, ndf,
-                                   AliCaloFitResults::kDummy, AliCaloFitSubarray(index, maxrev, first, last) );
+         //cout << __FILE__ << __LINE__<< ":  tof = " <<  tof << "   amp" << amp <<endl;
+         return AliCaloFitResults( maxamp, ped , Ret::kFitPar, amp , tof, timebinOffset, chi2, ndf,
+                                   Ret::kDummy, AliCaloFitSubarray(index, maxrev, first, last) );
 
        }
     }
   chi2 = CalculateChi2(maxf, maxrev, first, last);
   ndf = last - first - 1; // nsamples - 2
-  return AliCaloFitResults( maxamp, ped, AliCaloFitResults::kCrude, maxf, timebinOffset,
-                           timebinOffset, chi2, ndf, AliCaloFitResults::kDummy, AliCaloFitSubarray(index, maxrev, first, last) ); 
+  
+  // cout << __FILE__ << __LINE__<< ":  timebinOffset = " << timebinOffset <<  "   maxf ="<< maxf  << endl;
+  return AliCaloFitResults( maxamp, ped, Ret::kCrude, maxf, timebinOffset,
+                           timebinOffset, chi2, ndf, Ret::kDummy, AliCaloFitSubarray(index, maxrev, first, last) ); 
 
 }