+++ /dev/null
-#include "AliHLTPHOSAnalyzer.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-
-
-AliHLTPHOSAnalyzer:: AliHLTPHOSAnalyzer():fFloatDataPtr(0), fSampleFrequency(10), fTau(2), fDTof(99999), fDAmpl(99999), n(99999)
-{
-
-
-}
-
-AliHLTPHOSAnalyzer::~AliHLTPHOSAnalyzer()
-{
-
-}
-
-AliHLTPHOSAnalyzer::AliHLTPHOSAnalyzer(AliHLTPHOSAnalyzer const&):fFloatDataPtr(0), fSampleFrequency(10), fTau(2), fDTof(99999), fDAmpl(99999), n(99999)
-{
-
-}
-
-/**
-* Main constructor
-* @param dataPtr Data array for wich a subarray will be taken to perform the fit
-* @param fs the sampling frequency in entities of MHz. Needed in order to calculate physical time
-**/
-AliHLTPHOSAnalyzer::AliHLTPHOSAnalyzer(double *dtaPtr, double fs):fFloatDataPtr(0), fSampleFrequency(10), fTau(2), fDTof(99999), fDAmpl(99999), n(99999)
-{
- fFloatDataPtr = dtaPtr;
- fSampleFrequency = fs;
-} //end
-
-
-/**
-* Attemps to level the basline to zero.
-* The baseline will be calculated from the pretrigger samples and subtracted from the
-* data array.
-* If pretrigger samples are not present then the basline correction will be incorrect.
-* @param dataPtr array for wich to correct the basline
-* @param N the number of pretrigger samples used to calculate the baseline.
-**/
-void
-AliHLTPHOSAnalyzer::BaselineCorrection(double *dataPtr, int N)
-{
- fFloatDataPtr = dataPtr;
- n=N;
- cout << "Baseline correction not yet implemeted" << endl;
-} //end BaselineCorrection
-
-
-/**
-* Shifts the basline with the amount given by baselineValue
-* If pretrigger samples are not present then the basline correction will be incorrect.
-* @param dataPtr array for wich to correct the basline
-* @param BaslineValue the basline value to subtract..
-**/
-void
-AliHLTPHOSAnalyzer::BaselineCorrection(double *dataPtr, double baselineValue)
-{
- fFloatDataPtr = dataPtr;
- printf("\nbaselineValue = %f\n", baselineValue);
- cout << "Baseline correction not yet implemeted" << endl;
-} //end BaslineCorrection
-
-
-/**
- * Gives the timing in entities of sample indexes
- * Physical time is found by multiplying with the sampling intervall (Ts).
- **/
-float
-AliHLTPHOSAnalyzer::GetTiming()
-{
- return fDTof;
-} //end GetTiming
-
-
-/**
- * Gives the time in entities of ADC channels (quantization levels).
- * Absolute enrgy is found by multiplying with offline calibration constants.
- **/
-float
-AliHLTPHOSAnalyzer::GetEnergy()
-{
- return fDAmpl;
-} //end GetEnergy
-
-
-/**
- * Set data array. Overrides data data array set in the constructor.
- **/
-void
-AliHLTPHOSAnalyzer::SetData(double *data)
-{
- // double *dta;
- // dta = data;
- fFloatDataPtr = data;
- // cout << "Set data not yet implemented" << endl;
-}
-
-void
-AliHLTPHOSAnalyzer::SetSampleFreq(double freq)
-{
-
-}
-
-int
-AliHLTPHOSAnalyzer::FindStartIndex(double treshold)
-{
- printf("\ntreshold = %f \n", treshold);
- cout << "Find Start index not yet implemented" << endl;
- return 0;
-} //end FindStartIndex
-
-
-/**
- * This function applies only to the Chi and Least mean square fit. An initial guess is made
- * based on the average of the first 5 samples and the first value exeeding this value.
- **/
-void
-AliHLTPHOSAnalyzer::MakeInitialGuess()
-{
- cout << "Make initial guess not yet implemeted" << endl;
-}
-
-
-/**
- * This function applies only to the Chi and Least mean square fit. An initial guess is made
- * based on the average of the first 5 samples and the first value exeeding threshold + this value.
- * @param treshold The index of the first value above treshold is ntaken to be the first value.
- **/
-void
-AliHLTPHOSAnalyzer::MakeInitialGuess(int treshold)
-{
- printf("\ntreshold = %d\n", treshold);
- cout << "Make initial guess not yet implemeted" << endl;
-}
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZER_H
-#define ALIHLTPHOSANALYZER_H
-/* Copyright(c) 1998-2004, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-/* $Id$ */
-
-class AliHLTPHOSAnalyzer
-{
- public:
- AliHLTPHOSAnalyzer();
- virtual ~AliHLTPHOSAnalyzer();
- AliHLTPHOSAnalyzer(double *dataPtr, double fs);
- AliHLTPHOSAnalyzer(const AliHLTPHOSAnalyzer & );
- AliHLTPHOSAnalyzer & operator = (const AliHLTPHOSAnalyzer &)
- {
- return *this;
- }
-
- void BaselineCorrection(double *dataPtr, int N);
- void BaselineCorrection(double *dataPtr, double baselineValue);
- int FindStartIndex(double treshold);
- float GetTiming();
- float GetEnergy();
- void SetData(double *data);
- void SetSampleFreq(double freq);
- void MakeInitialGuess();
- void MakeInitialGuess(int treshold);
- virtual void Evaluate(int start = 0, int lenght = 100) = 0;
-
- protected:
- double *fFloatDataPtr; /**<Float representation of data that should be fitted */
- double fSampleFrequency; /**<The ADC sample frequency in MHz used under data taking */
- double fDTofGuess; /**<Initial guess for t0*/
- double fDAmplGuess; /**<Initial guess for amplitude*/
- double fTau; /**<The risetime in micro seconds*/
- double fDTof; /**<Time of flight in entities of sample intervals */
- double fDAmpl; /**<Amplitude in entities of ADC levels*/
- int n;
-
-};
-
-
-#endif
+++ /dev/null
-
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-#include "AliHLTPHOSAnalyzerChiSquareFit.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliHLTPHOSAnalyzerChiSquareFit)
-
-AliHLTPHOSAnalyzerChiSquareFit::AliHLTPHOSAnalyzerChiSquareFit(const AliHLTPHOSAnalyzerChiSquareFit&):AliHLTPHOSAnalyzer()
-{
-
-}
-
-/**
- * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
- * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
- * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
- * calculation is of type double.
- **/
-AliHLTPHOSAnalyzerChiSquareFit::AliHLTPHOSAnalyzerChiSquareFit():AliHLTPHOSAnalyzer()
-{
- cout <<"You cannot invoke the Fitter without arguments"<<endl;;
-}
-
-
-AliHLTPHOSAnalyzerChiSquareFit::~AliHLTPHOSAnalyzerChiSquareFit()
-{
-
-} //end AliHLTPHOSAnalyzerChiSquareFit
-
-
-/**
-* Extraction of timing and energy using the Peakfinde Algorithm.
-* The. The parameters "start" and "length" defines a sub array of the data array
-* that will be used for the the fit. If start+length must not exeed the total length
-* of the Data array. "start" must be chosen as close as possible to t0.
-* The baseline must also be subtracted.
-* The length of "tVector" and "aVector" mus be equal to length.
-* "index + length" must not exeed the length of the data array set in the constructor.
-* @param start the start index of the subarray of the data array.
-* @param length the number of samples to use starting from index
-**/
-void
-AliHLTPHOSAnalyzerChiSquareFit::Evaluate(int start, int length)
-{
- /*
-
- */
-
- //thats all
-} //end FitChiSquareFit
-
-
-
-
-
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZERCHISQUAREFIT_H
-#define ALIHLTPHOSANALYZERCHISQUAREFIT_H
-#include <Rtypes.h>
-#include "TObject.h"
-#include "AliHLTPHOSAnalyzer.h"
-
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-
-class AliHLTPHOSAnalyzerChiSquareFit : public AliHLTPHOSAnalyzer
-{
- public:
- AliHLTPHOSAnalyzerChiSquareFit();
- AliHLTPHOSAnalyzerChiSquareFit(const AliHLTPHOSAnalyzerChiSquareFit & );
-
- AliHLTPHOSAnalyzerChiSquareFit & operator = (const AliHLTPHOSAnalyzerChiSquareFit)
- {
- return *this;
- }
-
- virtual ~AliHLTPHOSAnalyzerChiSquareFit();
- virtual void Evaluate(int start = 0, int lenght = 100);
- private:
-
- ClassDef(AliHLTPHOSAnalyzerChiSquareFit, 2)
-
- };
-
-#endif
+++ /dev/null
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-#include "AliHLTPHOSAnalyzerComponent.h"
-#include <iostream>
-
-//ClassImp(AliHLTPHOSAnalyzerComponent)
-
-AliHLTPHOSAnalyzerComponent::AliHLTPHOSAnalyzerComponent()
-{
-
-}
-
-AliHLTPHOSAnalyzerComponent::~AliHLTPHOSAnalyzerComponent()
-{
-
-}
-
-
-AliHLTPHOSAnalyzerComponent::AliHLTPHOSAnalyzerComponent(const AliHLTPHOSAnalyzerComponent & ) : AliHLTProcessor()
-{
-
-}
-
-int
-AliHLTPHOSAnalyzerComponent::Deinit()
-{
- return 0;
-}
-
-int
-AliHLTPHOSAnalyzerComponent::DoDeinit()
-{
- return 0;
-}
-
-const char*
-AliHLTPHOSAnalyzerComponent::GetComponentID()
-{
- return 0;
-}
-
-void
-AliHLTPHOSAnalyzerComponent::GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&)
-{
-
-}
-
-AliHLTComponentDataType
-AliHLTPHOSAnalyzerComponent::GetOutputDataType()
-{
- AliHLTComponentDataType tmp;
- return tmp;
-}
-
-void
-AliHLTPHOSAnalyzerComponent::GetOutputDataSize(long unsigned int&, double&)
-{
-
-}
-
-void
-AliHLTPHOSAnalyzerComponent::GetOutputDataSize(long int&, double&)
-{
-
-}
-
-AliHLTComponent*
-AliHLTPHOSAnalyzerComponent::Spawn()
-{
- return 0;
-}
-
-int
-AliHLTPHOSAnalyzerComponent::DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&)
-{
- printf("\nPHOSHLT DoEvent, not yet implemented\n");
- return 0;
-}
+++ /dev/null
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-#ifndef ALIHLTPHOSANALYZERCOMPONENT_H
-#define ALIHLTPHOSANALYZERCOMPONENT_H
-
-//#include <Rtypes.h>
-//#include "TObject.h"
-#include "AliHLTProcessor.h"
-#include "AliHLTPHOSAnalyzer.h"
-#include "AliHLTPHOSAnalyzerCrude.h"
-
-class AliHLTPHOSAnalyzerComponent: public AliHLTProcessor
-{
- public:
- AliHLTPHOSAnalyzerComponent();
- ~AliHLTPHOSAnalyzerComponent();
- AliHLTPHOSAnalyzerComponent(const AliHLTPHOSAnalyzerComponent & );
- AliHLTPHOSAnalyzerComponent & operator = (const AliHLTPHOSAnalyzerComponent)
- {
- return *this;
- };
-
- virtual int Deinit();
- virtual int DoDeinit();
- virtual const char* GetComponentID();
- virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
- virtual AliHLTComponentDataType GetOutputDataType();
- virtual void GetOutputDataSize(long unsigned int&, double&);
- virtual void GetOutputDataSize(long int&, double&);
- virtual AliHLTComponent* Spawn();
- virtual int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&);
-
- // private:
- protected:
- AliHLTPHOSAnalyzer *analyzerPtr;
-
- // ClassDef(AliHLTPHOSAnalyzerComponent, 2)
-};
-#endif
+++ /dev/null
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-#include "AliHLTPHOSAnalyzerCrude.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliHLTPHOSAnalyzerCrude)
-
-
-AliHLTPHOSAnalyzerCrude::AliHLTPHOSAnalyzerCrude(const AliHLTPHOSAnalyzerCrude&):AliHLTPHOSAnalyzer()
-{
-
-}
-
-/**
- * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
- * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
- * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
- * calculation is of type double.
- **/
-AliHLTPHOSAnalyzerCrude::AliHLTPHOSAnalyzerCrude():AliHLTPHOSAnalyzer()
-{
- cout <<"You cannot invoke the Fitter without arguments"<<endl;
-}
-
-
-
-AliHLTPHOSAnalyzerCrude::~AliHLTPHOSAnalyzerCrude()
-{
-
-} //end AliHLTPHOSAnalyzerCrude
-
-
-
-/**
-* Extraction of timing and energy using the Peakfinde Algorithm.
-* The. The parameters "start" and "length" defines a sub array of the data array
-* that will be used for the the fit. If start+length must not exeed the total length
-* of the Data array. "start" must be chosen as close as possible to t0.
-* The baseline must also be subtracted.
-* The length of "tVector" and "aVector" mus be equal to length.
-* "index + length" must not exeed the length of the data array set in the constructor.
-* @param start the start index of the subarray of the data array.
-* @param length the number of samples to use starting from index
-* @param tVector the peakfinder vector for timing
-* @param aVector the peakfinder vector for amplitude (energy)
-**/
-void
-AliHLTPHOSAnalyzerCrude::Evaluate(int start, int length)
-{
-
- double tmpAmplitudeMax =0;
- double tmpTime = 0;
-
- for(int i=start; i<length; i++)
- {
- if(fFloatDataPtr[i] > tmpAmplitudeMax)
- {
- tmpAmplitudeMax = fFloatDataPtr[i];
- tmpTime = i;
- }
- }
-
- fDAmpl = tmpAmplitudeMax;
- fDTof = tmpTime;
- //thats all
-} //end Crude
-
-
-
-
-
-
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZERCRUDE_H
-#define ALIHLTPHOSANALYZERCRUDE_H
-#include <Rtypes.h>
-#include "TObject.h"
-#include "AliHLTPHOSAnalyzer.h"
-
-
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-
-class AliHLTPHOSAnalyzerCrude : public AliHLTPHOSAnalyzer
-{
- public:
- AliHLTPHOSAnalyzerCrude();
- AliHLTPHOSAnalyzerCrude(const AliHLTPHOSAnalyzerCrude & );
- AliHLTPHOSAnalyzerCrude & operator = (const AliHLTPHOSAnalyzerCrude)
- {
- return *this;
- }
-
- virtual ~AliHLTPHOSAnalyzerCrude();
- virtual void Evaluate(int start = 0, int lenght = 100);
- private:
- ClassDef(AliHLTPHOSAnalyzerCrude, 2)
-
- };
-
-#endif
+++ /dev/null
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-#include "AliHLTPHOSAnalyzerCrudeComponent.h"
-
-
-//ClassImp(AliHLTPHOSAnalyzerCrudeComponent)
-
-
-AliHLTPHOSAnalyzerCrudeComponent::AliHLTPHOSAnalyzerCrudeComponent()
-{
- analyzerPtr = new AliHLTPHOSAnalyzerCrude();
-}
-
-AliHLTPHOSAnalyzerCrudeComponent::~AliHLTPHOSAnalyzerCrudeComponent()
-{
-
-}
-
-
-AliHLTPHOSAnalyzerCrudeComponent::AliHLTPHOSAnalyzerCrudeComponent(const AliHLTPHOSAnalyzerCrudeComponent & ):AliHLTPHOSAnalyzerComponent()
-{
-
-}
-
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZERCRUDECOMPONENT_H
-#define ALIHLTPHOSANALYZERCRUDECOMPONENT_H
-
-#include "AliHLTPHOSAnalyzerComponent.h"
-
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-
-class AliHLTPHOSAnalyzerCrudeComponent: public AliHLTPHOSAnalyzerComponent
-{
- AliHLTPHOSAnalyzerCrudeComponent();
- ~AliHLTPHOSAnalyzerCrudeComponent();
- AliHLTPHOSAnalyzerCrudeComponent(const AliHLTPHOSAnalyzerCrudeComponent & );
- AliHLTPHOSAnalyzerCrudeComponent & operator = (const AliHLTPHOSAnalyzerCrudeComponent)
- {
- return *this;
- };
-
- //ClassDef(AliHLTPHOSAnalyzerCrudeComponent, 2)
- };
-
-#endif
+++ /dev/null
-
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-#include "AliHLTPHOSAnalyzerKLevel.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliHLTPHOSAnalyzerKLevel)
-
-
-AliHLTPHOSAnalyzerKLevel::AliHLTPHOSAnalyzerKLevel(const AliHLTPHOSAnalyzerKLevel&):AliHLTPHOSAnalyzer(), tKLevel(0)
-{
-
-}
-
-
-/**
- * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
- * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
- * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
- * calculation is of type double.
- **/
-AliHLTPHOSAnalyzerKLevel::AliHLTPHOSAnalyzerKLevel():AliHLTPHOSAnalyzer(), tKLevel(0)
-{
- cout <<"You cannot invoke the Fitter without arguments"<<endl;;
-}
-
-
-AliHLTPHOSAnalyzerKLevel::~AliHLTPHOSAnalyzerKLevel()
-{
-
-} //end AliHLTPHOSAnalyzerKLevel
-
-
-
-/**
-* Extraction of timing and energy using the Peakfinde Algorithm.
-* The. The parameters "start" and "length" defines a sub array of the data array
-* that will be used for the the fit. If start+length must not exeed the total length
-* of the Data array. "start" must be chosen as close as possible to t0.
-* The baseline must also be subtracted.
-* The length of "tVector" and "aVector" mus be equal to length.
-* "index + length" must not exeed the length of the data array set in the constructor.
-* @param start the start index of the subarray of the data array.
-* @param length the number of samples to use starting from index
-**/
-void
-AliHLTPHOSAnalyzerKLevel::Evaluate(int start, int length)
-{
- //thats all
-} //end FitKLevel
-
-
-
-
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZERKLEVEL_H
-#define ALIHLTPHOSANALYZERKLEVEL_H
-#include <Rtypes.h>
-#include "TObject.h"
-#include "AliHLTPHOSAnalyzer.h"
-
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-class AliHLTPHOSAnalyzerKLevel : public AliHLTPHOSAnalyzer
-{
- public:
- AliHLTPHOSAnalyzerKLevel();
- AliHLTPHOSAnalyzerKLevel(const AliHLTPHOSAnalyzerKLevel & );
- AliHLTPHOSAnalyzerKLevel & operator = (const AliHLTPHOSAnalyzerKLevel)
- {
- return *this;
- }
-
- virtual ~AliHLTPHOSAnalyzerKLevel();
- virtual void Evaluate(int start = 0, int lenght = 100);
- private:
- double tKLevel;
- ClassDef(AliHLTPHOSAnalyzerKLevel, 2)
-
- };
-
-#endif
+++ /dev/null
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-
-#include "AliHLTPHOSAnalyzerLMS.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliHLTPHOSAnalyzerLMS)
-
-
-AliHLTPHOSAnalyzerLMS::AliHLTPHOSAnalyzerLMS(const AliHLTPHOSAnalyzerLMS&):AliHLTPHOSAnalyzer(), kfMCovarPtrPtr(0), fPCovarPtrPtr(0)
-{
-
-}
-
-
-/**
- * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
- * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
- * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
- * calculation is of type double.
- **/
-AliHLTPHOSAnalyzerLMS::AliHLTPHOSAnalyzerLMS():AliHLTPHOSAnalyzer(), kfMCovarPtrPtr(0), fPCovarPtrPtr(0)
-{
- cout <<"You cannot invoke the Fitter without arguments"<<endl;;
-}
-
-
-/**
-* Main constructor
-* @param dataPtr Data array for wich a subarray will be taken to perform the fit
-* @param fs the sampling frequency in entities of MHz. Needed in order to calculate physical time
-**/
-AliHLTPHOSAnalyzerLMS::AliHLTPHOSAnalyzerLMS(double *dtaPtr, double fs):AliHLTPHOSAnalyzer(),kfMCovarPtrPtr(0), fPCovarPtrPtr(0)
-{
- fFloatDataPtr = dtaPtr;
- fSampleFrequency = fs;
-} //end AliHLTPHOSAnalyzerLMS
-
-
-AliHLTPHOSAnalyzerLMS::~AliHLTPHOSAnalyzerLMS()
-{
-
-} //end AliHLTPHOSAnalyzerLMS
-
-
-/**
-* Extraction of timing and energy using the Peakfinde Algorithm.
-* The. The parameters "start" and "length" defines a sub array of the data array
-* that will be used for the the fit. If start+length must not exeed the total length
-* of the Data array. "start" must be chosen as close as possible to t0.
-* The baseline must also be subtracted.
-* The length of "tVector" and "aVector" mus be equal to length.
-* "index + length" must not exeed the length of the data array set in the constructor.
-* @param start the start index of the subarray of the data array.
-* @param length the number of samples to use starting from index
-**/
-void
-AliHLTPHOSAnalyzerLMS::Evaluate(int start, int length)
-{
- /*
-
- */
-
- //thats all
-} //end FitLMS
-
-
-
-
-
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZERLMS_H
-#define ALIHLTPHOSANALYZERLMS_H
-#include <Rtypes.h>
-#include "TObject.h"
-#include "AliHLTPHOSAnalyzer.h"
-
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-
-class AliHLTPHOSAnalyzerLMS : public AliHLTPHOSAnalyzer
-{
- public:
- AliHLTPHOSAnalyzerLMS();
- AliHLTPHOSAnalyzerLMS(double *dataPtr, double fs);
- AliHLTPHOSAnalyzerLMS(const AliHLTPHOSAnalyzerLMS & );
- AliHLTPHOSAnalyzerLMS & operator = (const AliHLTPHOSAnalyzerLMS)
- {
- return *this;
- }
-
- virtual ~AliHLTPHOSAnalyzerLMS();
- virtual void Evaluate(int start = 0, int lenght = 100);
- private:
- double **kfMCovarPtrPtr; /**<Covariance matrix of the measurements*/
- double **fPCovarPtrPtr; /**<Covariance matrix of the estimated parameters*/
-
- ClassDef(AliHLTPHOSAnalyzerLMS, 2)
-
- };
-
-#endif
+++ /dev/null
-
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-#include "AliHLTPHOSAnalyzerPeakFinder.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliHLTPHOSAnalyzerPeakFinder)
-
-
-AliHLTPHOSAnalyzerPeakFinder::AliHLTPHOSAnalyzerPeakFinder(const AliHLTPHOSAnalyzerPeakFinder&):AliHLTPHOSAnalyzer(),tVector(0), aVector(0)
-{
-
-}
-
-
-/**
- * The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
- * "timing" and "energy" from the PHOS raw data. Physical data will for a given readout channel be
- * a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
- * calculation is of type double.
- **/
-AliHLTPHOSAnalyzerPeakFinder::AliHLTPHOSAnalyzerPeakFinder():AliHLTPHOSAnalyzer(),tVector(0), aVector(0)
-{
- cout <<"You cannot invoke the Fitter without arguments"<<endl;;
-}
-
-
-
-AliHLTPHOSAnalyzerPeakFinder::~AliHLTPHOSAnalyzerPeakFinder()
-{
-
-} //end AliHLTPHOSAnalyzerPeakFinder
-
-void
-AliHLTPHOSAnalyzerPeakFinder::SetTVector(double *tVec)
-{
- tVector = tVec;
-}
-
-void
-AliHLTPHOSAnalyzerPeakFinder::SetAVector(double *aVec)
-{
- aVector = aVec;
-
-}
-
-/**
-* Extraction of timing and energy using the Peakfinde Algorithm.
-* The. The parameters "start" and "length" defines a sub array of the data array
-* that will be used for the the fit. If start+length must not exeed the total length
-* of the Data array. "start" must be chosen as close as possible to t0.
-* The baseline must also be subtracted.
-* The length of "tVector" and "aVector" mus be equal to length.
-* "index + length" must not exeed the length of the data array set in the constructor.
-* @param start the start index of the subarray of the data array.
-* @param length the number of samples to use starting from index
-* @param tVector the peakfinder vector for timing
-* @param aVector the peakfinder vector for amplitude (energy)
-**/
-void
-AliHLTPHOSAnalyzerPeakFinder::Evaluate(int start, int length)
-{
- fDTof = 0;
- fDAmpl = 0;
-
- if(tVector == 0 || aVector == 0)
- {
- printf("\nError: the peakfinder vectors are not specified, aborting !!!\n");
- }
- else
- {
-
- printf("\nstart = %d, length = %d\n", start, length);
- double tmpTime[1008];
-
- for(int i=0; i < length; i++)
- {
- fDAmpl += aVector[i]*fFloatDataPtr[i];
- }
-
- for(int i=0; i < length; i++)
- {
- tmpTime[i] = tVector[i]*fFloatDataPtr[i];
- fDTof = fDTof + tmpTime[i];
- }
-
- fDTof = fDTof/fDAmpl;
- }
- //thats all
-} //end FitPeakFinder
-
-
-
-
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZERPEAKFINDER_H
-#define ALIHLTPHOSANALYZERPEAKFINDER_H
-#include <Rtypes.h>
-#include "TObject.h"
-#include "AliHLTPHOSAnalyzer.h"
-
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-class AliHLTPHOSAnalyzerPeakFinder : public AliHLTPHOSAnalyzer
-{
- public:
- AliHLTPHOSAnalyzerPeakFinder();
- AliHLTPHOSAnalyzerPeakFinder(const AliHLTPHOSAnalyzerPeakFinder & );
- AliHLTPHOSAnalyzerPeakFinder & operator = (const AliHLTPHOSAnalyzerPeakFinder)
- {
- return *this;
- }
-
- virtual ~AliHLTPHOSAnalyzerPeakFinder();
- void SetTVector(double *tVector);
- void SetAVector(double *aVector);
- virtual void Evaluate(int start = 0, int lenght = 100);
- private:
- double *tVector; /**<Peakfinder vector for TOF reconstruction*/
- double *aVector; /**<Peakfinder vector for Energy reconstruction*/
-
- ClassDef(AliHLTPHOSAnalyzerPeakFinder, 2)
-
- };
-
-#endif
+++ /dev/null
-/**************************************************************************
- * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: Per Thomas Hille for the ALICE HLT Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
-
-#include "AliHLTPHOSAnalyzerPeakFinderComponent.h"
-
-
-//ClassImp(AliHLTPHOSAnalyzerPeakFinderComponent)
-
-
- AliHLTPHOSAnalyzerPeakFinderComponent::AliHLTPHOSAnalyzerPeakFinderComponent():AliHLTPHOSAnalyzerComponent()
-{
-
-}
-
-AliHLTPHOSAnalyzerPeakFinderComponent::~AliHLTPHOSAnalyzerPeakFinderComponent()
-{
-
-}
-
-
-AliHLTPHOSAnalyzerPeakFinderComponent::AliHLTPHOSAnalyzerPeakFinderComponent(const AliHLTPHOSAnalyzerPeakFinderComponent & ) : AliHLTPHOSAnalyzerComponent()
-{
-
-}
-
-
+++ /dev/null
-#ifndef ALIHLTPHOSANALYZERPEAKFINDERCOMPONENT_H
-#define ALIHLTPHOSANALYZERPEAKFINDERCOMPONENT_H
-
-/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-#include "AliHLTPHOSAnalyzerComponent.h"
-
-class AliHLTPHOSAnalyzerPeakFinderComponent: public AliHLTPHOSAnalyzerComponent
-{
- AliHLTPHOSAnalyzerPeakFinderComponent();
- ~AliHLTPHOSAnalyzerPeakFinderComponent();
- AliHLTPHOSAnalyzerPeakFinderComponent(const AliHLTPHOSAnalyzerPeakFinderComponent & );
- AliHLTPHOSAnalyzerPeakFinderComponent & operator = (const AliHLTPHOSAnalyzerPeakFinderComponent)
- {
- return *this;
- };
-
- //ClassDef(AliHLTPHOSAnalyzerPeakFinderComponent, 2)
- };
-
-
-
-#endif
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
-PROJECT_NAME = PHOS offline parameter extraction
+PROJECT_NAME = AliHLTPHOS
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# Doxygen will generate a detailed section even if there is only a brief
# description.
-ALWAYS_DETAILED_SEC = NO
+ALWAYS_DETAILED_SEC = YES
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
# members of a class in the documentation of that class as if those members were
# ordinary class members. Constructors, destructors and assignment operators of
# the base classes will not be shown.
-INLINE_INHERITED_MEMB = NO
+INLINE_INHERITED_MEMB = YES
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# If set to NO, the detailed description appears after the member
# documentation.
-DETAILS_AT_TOP = NO
+DETAILS_AT_TOP = YES
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# Note: To get rid of all source code in the generated output, make sure also
# VERBATIM_HEADERS is set to NO.
-SOURCE_BROWSER = NO
+SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
-INLINE_SOURCES = NO
+INLINE_SOURCES = YES
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code