From 8be3a30abb2c175f967aac42ff06d5c04e229ad7 Mon Sep 17 00:00:00 2001 From: policheh Date: Tue, 3 Feb 2009 11:13:18 +0000 Subject: [PATCH] Dependence on AliPHOSRecoParam removed. --- PHOS/AliPHOSRawDigiProducer.cxx | 43 ++------------------------------- PHOS/AliPHOSRawDigiProducer.h | 14 +++++------ PHOS/AliPHOSReconstructor.cxx | 11 +++++++-- 3 files changed, 18 insertions(+), 50 deletions(-) diff --git a/PHOS/AliPHOSRawDigiProducer.cxx b/PHOS/AliPHOSRawDigiProducer.cxx index 59a389fde7a..ea39f00512c 100644 --- a/PHOS/AliPHOSRawDigiProducer.cxx +++ b/PHOS/AliPHOSRawDigiProducer.cxx @@ -37,7 +37,6 @@ #include "AliPHOSRawDecoder.h" #include "AliPHOSGeometry.h" #include "AliPHOSDigit.h" -#include "AliPHOSRecoParam.h" #include "AliPHOSCalibData.h" #include "AliPHOSPulseGenerator.h" #include "AliLog.h" @@ -52,53 +51,26 @@ AliPHOSRawDigiProducer::AliPHOSRawDigiProducer(): fEmcMinE(0.), fCpvMinE(0.), fSampleQualityCut(1.), - fGlobalAltroOffset(0), - fGlobalAltroThreshold(0), fEmcCrystals(0), fGeom(0), fPulseGenerator(0) { // Default constructor -} -//-------------------------------------------------------------------------------------- -AliPHOSRawDigiProducer::AliPHOSRawDigiProducer(const AliPHOSRecoParam* recoParam): - TObject(), - fEmcMinE(0.), - fCpvMinE(0.), - fSampleQualityCut(1.), - fGlobalAltroOffset(0), - fGlobalAltroThreshold(0), - fEmcCrystals(0), - fGeom(0), - fPulseGenerator(0) -{ - // Constructor takes paramerters from recoParam - - if(!recoParam) AliFatal("Reconstruction parameters are not set!"); - - fEmcMinE = recoParam->GetEMCRawDigitThreshold(); - fCpvMinE = recoParam->GetCPVMinE(); - fSampleQualityCut = recoParam->GetEMCSampleQualityCut() ; - fGlobalAltroOffset = recoParam->GetGlobalAltroOffset() ; - fGlobalAltroThreshold = recoParam->GetGlobalAltroThreshold() ; fGeom=AliPHOSGeometry::GetInstance() ; if(!fGeom) fGeom = AliPHOSGeometry::GetInstance("IHEP"); fEmcCrystals=fGeom->GetNCristalsInModule()*fGeom->GetNModules() ; - fPulseGenerator = new AliPHOSPulseGenerator(); - GetCalibrationParameters() ; + } -//-------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------- AliPHOSRawDigiProducer::AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp): TObject(), fEmcMinE(0.), fCpvMinE(0.), fSampleQualityCut(1.), - fGlobalAltroOffset(0), - fGlobalAltroThreshold(0), fEmcCrystals(0), fGeom(0), fPulseGenerator(0) @@ -108,8 +80,6 @@ AliPHOSRawDigiProducer::AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp) fEmcMinE = dp.fEmcMinE ; fCpvMinE = dp.fCpvMinE ; fSampleQualityCut = dp.fSampleQualityCut; - fGlobalAltroOffset = dp.fGlobalAltroOffset; - fGlobalAltroThreshold = dp.fGlobalAltroThreshold; fEmcCrystals = dp.fEmcCrystals ; fPulseGenerator = new AliPHOSPulseGenerator(); fGeom = dp.fGeom ; @@ -124,8 +94,6 @@ AliPHOSRawDigiProducer& AliPHOSRawDigiProducer::operator= (const AliPHOSRawDigiP fEmcMinE = dp.fEmcMinE ; fCpvMinE = dp.fCpvMinE ; fSampleQualityCut = dp.fSampleQualityCut ; - fGlobalAltroOffset = dp.fGlobalAltroOffset ; - fGlobalAltroThreshold = dp.fGlobalAltroThreshold ; fEmcCrystals = dp.fEmcCrystals ; fGeom = dp.fGeom ; if(fPulseGenerator) delete fPulseGenerator ; @@ -157,13 +125,6 @@ void AliPHOSRawDigiProducer::MakeDigits(TClonesArray *digits, AliPHOSRawDecoder* TClonesArray tmpLG("AliPHOSDigit",10000) ; Int_t ilgDigit=0 ; - - //Read current altro offcet from RCU - decoder->SetAmpOffset(fGlobalAltroOffset) ; - - //Read ZS threshold from RCU - decoder->SetAmpThreshold(fGlobalAltroThreshold) ; - //Let decoder subtract pedestals in case of ZS decoder->SetCalibData(fgCalibData) ; diff --git a/PHOS/AliPHOSRawDigiProducer.h b/PHOS/AliPHOSRawDigiProducer.h index 26522582ce6..183c4db87c2 100644 --- a/PHOS/AliPHOSRawDigiProducer.h +++ b/PHOS/AliPHOSRawDigiProducer.h @@ -11,7 +11,6 @@ class AliPHOSRawDecoder; class AliPHOSCalibData ; class AliPHOSDigit ; -class AliPHOSRecoParam ; class AliPHOSGeometry ; class AliPHOSPulseGenerator; #include "TObject.h" @@ -21,7 +20,6 @@ class AliPHOSRawDigiProducer: public TObject { public: AliPHOSRawDigiProducer() ; - AliPHOSRawDigiProducer(const AliPHOSRecoParam* recoParam) ; AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp); AliPHOSRawDigiProducer& operator= (const AliPHOSRawDigiProducer &dp); @@ -29,6 +27,10 @@ public: void MakeDigits(TClonesArray *digits, AliPHOSRawDecoder* decoder); + void SetEmcMinAmp(Float_t emcMin) { fEmcMinE=emcMin; } + void SetCpvMinAmp(Float_t cpvMin) { fCpvMinE=cpvMin; } + void SetSampleQualityCut(Float_t qcut) { fSampleQualityCut=qcut; } + protected: void GetCalibrationParameters() ; //Extract calibration parameters from DB @@ -41,17 +43,15 @@ protected: Double_t CalibrateT(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate time private: - Float_t fEmcMinE ; // minimum energy of digit to be included into cluster - Float_t fCpvMinE ; // minimum energy of digit to be included into cluster + Float_t fEmcMinE ; // minimum energy of digit (ADC) + Float_t fCpvMinE ; // minimum energy of digit (ADC) Float_t fSampleQualityCut; // Cut on sample shapes: 0: no samples; 1: default parameterization; 999: accept even obviously bad - Int_t fGlobalAltroOffset; // Global ALTRO offset used in ZS runs - Int_t fGlobalAltroThreshold; // Global ALTRO threshold used in ZS runs Int_t fEmcCrystals ; // number of EMC crystals AliPHOSGeometry * fGeom ; //! PHOS geometry static AliPHOSCalibData * fgCalibData ; //! Calibration database if avalable AliPHOSPulseGenerator * fPulseGenerator ; //! Class with pulse shape parameters - ClassDef(AliPHOSRawDigiProducer,4) + ClassDef(AliPHOSRawDigiProducer,5) }; #endif diff --git a/PHOS/AliPHOSReconstructor.cxx b/PHOS/AliPHOSReconstructor.cxx index f86f86f8cbe..c3a1f6de4af 100644 --- a/PHOS/AliPHOSReconstructor.cxx +++ b/PHOS/AliPHOSReconstructor.cxx @@ -361,13 +361,20 @@ void AliPHOSReconstructor::ConvertDigits(AliRawReader* rawReader, TTree* digits dc=new AliPHOSRawDecoder(rawReader,mapping); dc->SubtractPedestals(GetRecoParam()->EMCSubtractPedestals()); - + dc->SetAmpOffset(GetRecoParam()->GetGlobalAltroOffset()); + dc->SetAmpThreshold(GetRecoParam()->GetGlobalAltroThreshold()); + TClonesArray *digits = new TClonesArray("AliPHOSDigit",1); digits->SetName("DIGITS"); Int_t bufsize = 32000; digitsTree->Branch("PHOS", &digits, bufsize); - AliPHOSRawDigiProducer pr(GetRecoParam()); + //AliPHOSRawDigiProducer pr(GetRecoParam()); + AliPHOSRawDigiProducer pr; + + pr.SetEmcMinAmp(GetRecoParam()->GetEMCRawDigitThreshold()); // in ADC + pr.SetCpvMinAmp(GetRecoParam()->GetCPVMinE()); + pr.SetSampleQualityCut(GetRecoParam()->GetEMCSampleQualityCut()); pr.MakeDigits(digits,dc); delete dc ; -- 2.43.0