]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSRawAnalyzerPeakFinderComponent.cxx
- changes to make the clusterisation work for EMCAL
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerPeakFinderComponent.cxx
index e47e8067cd22a08632774e5ca61899150633e28b..d5372675b8be067d1d0d0ce55ccabb0f3ab645a1 100644 (file)
@@ -1,3 +1,5 @@
+// $Id$
+
 /**************************************************************************
  * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved.      *
  *                                                                        *
  **************************************************************************/
 
 #include "AliHLTPHOSRawAnalyzerPeakFinderComponent.h"
-#include "AliHLTPHOSRawAnalyzerPeakFinder.h"
-#include <cstdlib>
-#include "AliHLTPHOSCommonDefs.h"
+#include "AliHLTCaloRawAnalyzerPeakFinder.h"
 
-//ClassImp(AliHLTPHOSRawAnalyzerPeakFinderComponent) 
 AliHLTPHOSRawAnalyzerPeakFinderComponent gAliHLTPHOSRawAnalyzerPeakFinderComponent;
 
-AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent():AliHLTPHOSRawAnalyzerComponent()
+//___________________________________________________________________________________________________________
+AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent():AliHLTPHOSRawAnalyzerComponentv3()
 {
-  char tmpPFPath[PF_MAX_PATH_LENGTH];
-  cout <<"ALICE_ROOT ="<<getenv("ALICE_ROOT") << endl;
-
-  Double_t tmpAVector[PF_DEFAULT_N_SAMPLES];
-  Double_t tmpTVector[PF_DEFAULT_N_SAMPLES]; 
-  analyzerPtr = new AliHLTPHOSRawAnalyzerPeakFinder();
-  analyzerPtr->SetStartIndex(PF_DEFAULT_STARTINDEX);
-
-  sprintf(tmpPFPath,"%s%s/start%dN%dtau%dfs%d.txt", getenv("ALICE_ROOT"), PF_VECTOR_DIR, PF_DEFAULT_STARTINDEX,  PF_DEFAULT_N_SAMPLES, DEFAULT_TAU, DEFAULT_FS);
-
-  cout <<"PF PATH =" << tmpPFPath << endl;
+  fAnalyzerPtr = new AliHLTCaloRawAnalyzerPeakFinder();
 
-  FILE *fp;
-
-  fp = fopen(tmpPFPath, "r");
-  
-  if(fp != 0)
+  if(1)//LoadPFVector() == kFALSE)
     {
-      for(int i=0; i <  PF_DEFAULT_N_SAMPLES; i++)
-       {
-         fscanf(fp, "%lf", &tmpAVector[i]);
-       }
-
-
-      fscanf(fp, "\n");
-
-      for(int i=0; i < PF_DEFAULT_N_SAMPLES; i++)
-       {
-                 fscanf(fp, "%lf", &tmpTVector[i]);
-       }
-
-      analyzerPtr->SetAVector(tmpAVector,  PF_DEFAULT_N_SAMPLES);
-      analyzerPtr->SetTVector(tmpTVector,  PF_DEFAULT_N_SAMPLES);
-
-      fclose(fp);
-
+      //      cout << "Warning, could not load PF vectors" << endl;
     }
-  
-  else
+  else 
     {
-      HLTFatal("ERROR: could not  open PF vector file");
-       //         cout <<"AliHLTPHOSRawAnalyzerPeakFinderComponent, ERROR: could not  open PF vector file" << endl;
+      //    cout << "Loaded PF vectors" << endl;
     }
-  
-  
 } 
 
+
+//___________________________________________________________________________________________________________
 AliHLTPHOSRawAnalyzerPeakFinderComponent::~AliHLTPHOSRawAnalyzerPeakFinderComponent()
 {
 
+  if(fAnalyzerPtr)
+    {
+      delete fAnalyzerPtr;
+      fAnalyzerPtr = 0;
+    }
 }
 
 
-
-AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent(const AliHLTPHOSRawAnalyzerPeakFinderComponent & ) : AliHLTPHOSRawAnalyzerComponent()
+//___________________________________________________________________________________________________________
+AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent(const AliHLTPHOSRawAnalyzerPeakFinderComponent & ) : AliHLTPHOSRawAnalyzerComponentv3()
 {
 
 }
 
+//-----------------------------------------------------------------------------------------------------------
+int
+AliHLTPHOSRawAnalyzerPeakFinderComponent::Deinit()
+{
+  
+  if(fAnalyzerPtr)
+    {
+      delete fAnalyzerPtr;
+      fAnalyzerPtr = 0;
+    }
+  Logging(kHLTLogInfo, "HLT", "PHOS", ",AliHLTPHOSRawAnalyzerCrudeComponent Deinit");
+  return 0;
+}
 
+//___________________________________________________________________________________________________________
 const char* 
 AliHLTPHOSRawAnalyzerPeakFinderComponent::GetComponentID()
 {
-  //cout << "AliHLTPHOSRawAnalyzerPeakFinderComponent returning ID" << endl;
   return "PhosRawPeakFinder";
 }
 
+//___________________________________________________________________________________________________________
+Bool_t 
+AliHLTPHOSRawAnalyzerPeakFinderComponent::LoadPFVector()
+{
+  return LoadPFVector(fCaloConstants->GetPFDEFAULTSTARTINDEX(),  fCaloConstants->GetPFDEFAULTNSAMPLES(), 
+                                 fCaloConstants->GetDEFAULTTAU(), fCaloConstants->GetDEFAULTFS() );
+}
+
+
+//___________________________________________________________________________________________________________
+Bool_t 
+AliHLTPHOSRawAnalyzerPeakFinderComponent::LoadPFVector(int startIndex, int nSamples, int tau, int fs)
+{
+   
+  char tmpPFPath[fCaloConstants->GetPFMAXPATHLENGTH()];
+  Double_t * tmpAVector = new Double_t[nSamples];
+  Double_t * tmpTVector = new Double_t[nSamples]; 
+  sprintf(tmpPFPath,"%s%s/start%dN%dtau%dfs%d.txt", getenv("ALICE_ROOT"), PFVECTORDIR, startIndex, nSamples, tau, fs);
+  FILE *fp;
+  fp = fopen(tmpPFPath, "r");
+  
+  Int_t res = 0; //OD to get rid of warnings
+  if(fp != 0)
+    {
+      for(int i=0; i <  nSamples; i++)
+       {
+         res = fscanf(fp, "%lf", &tmpAVector[i]);
+       }
+
+      res = fscanf(fp, "\n");
+
+      for(int i=0; i < nSamples; i++)
+       {
+         res = fscanf(fp, "%lf", &tmpTVector[i]);
+       }
+      //      fAnalyzerPtr->SetAVector(tmpAVector,  nSamples);
+      //      fAnalyzerPtr->SetTVector(tmpTVector,  nSamples);
+      fclose(fp);
+      delete [] tmpAVector;
+      delete [] tmpTVector;
+      return kTRUE;
+    }
+  
+  else
+    {
+      delete [] tmpAVector;
+      delete [] tmpTVector;
+      HLTFatal("ERROR: could not  open PF vector file");
+      return kFALSE;
+    }
+}
+
 
+//___________________________________________________________________________________________________________
 AliHLTComponent*
 AliHLTPHOSRawAnalyzerPeakFinderComponent::Spawn()
 {
-  //  cout << "AliHLTPHOSRawAnalyzerPeakFinderComponent spawning new instance" << endl;
   return new AliHLTPHOSRawAnalyzerPeakFinderComponent;
 }