Dependence on AliPHOSRecoParam removed.
authorpolicheh <policheh@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 3 Feb 2009 11:13:18 +0000 (11:13 +0000)
committerpolicheh <policheh@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 3 Feb 2009 11:13:18 +0000 (11:13 +0000)
PHOS/AliPHOSRawDigiProducer.cxx
PHOS/AliPHOSRawDigiProducer.h
PHOS/AliPHOSReconstructor.cxx

index 59a389f..ea39f00 100644 (file)
@@ -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) ;
   
index 2652258..183c4db 100644 (file)
@@ -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
index f86f86f..c3a1f6d 100644 (file)
@@ -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 ;