Reintroduce changes of revision 38787, previous committed version modified from non...
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 10 Feb 2010 22:33:01 +0000 (22:33 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 10 Feb 2010 22:33:01 +0000 (22:33 +0000)
EMCAL/AliEMCALRawUtils.cxx
EMCAL/AliEMCALRawUtils.h

index 30651a1..02a492d 100644 (file)
@@ -30,6 +30,7 @@
   
 #include "TF1.h"
 #include "TGraph.h"
+#include <TRandom.h>
 class TSystem;
   
 class AliLog;
@@ -690,8 +691,7 @@ Double_t AliEMCALRawUtils::RawResponseFunctionLog(Double_t *x, Double_t *par)
 }
 
 //__________________________________________________________________
-Bool_t AliEMCALRawUtils::RawSampledResponse(
-const Double_t dtime, const Double_t damp, Int_t * adcH, Int_t * adcL) const 
+Bool_t AliEMCALRawUtils::RawSampledResponse(const Double_t dtime, const Double_t damp, Int_t * adcH, Int_t * adcL, const Int_t keyErr) const 
 {
   // for a start time dtime and an amplitude damp given by digit, 
   // calculates the raw sampled response AliEMCAL::RawResponseFunction
@@ -710,9 +710,10 @@ const Double_t dtime, const Double_t damp, Int_t * adcH, Int_t * adcL) const
   signalF.SetParameter(2, fTau) ; 
   signalF.SetParameter(3, fOrder);
   signalF.SetParameter(4, fgPedestalValue);
-
+       
+  Double_t signal=0.0, noise=0.0;
   for (Int_t iTime = 0; iTime < GetRawFormatTimeBins(); iTime++) {
-    Double_t signal = signalF.Eval(iTime) ;     
+    signal = signalF.Eval(iTime) ;     
 
     // Next lines commeted for the moment but in principle it is not necessary to add
     // extra noise since noise already added at the digits level.      
@@ -724,9 +725,11 @@ const Double_t dtime, const Double_t damp, Int_t * adcH, Int_t * adcL) const
 
     // March 17,09 for fast fit simulations by Alexei Pavlinov.
     // Get from PHOS analysis. In some sense it is open questions.
-    //Double_t noise = gRandom->Gaus(0.,fgFEENoise);
-    //signal += noise; 
-
+       if(keyErr>0) {
+               noise = gRandom->Gaus(0.,fgFEENoise);
+               signal += noise; 
+       }
+         
     adcH[iTime] =  static_cast<Int_t>(signal + 0.5) ;
     if ( adcH[iTime] > fgkRawSignalOverflow ){  // larger than 10 bits 
       adcH[iTime] = fgkRawSignalOverflow ;
index e075653..7a17da7 100644 (file)
@@ -88,7 +88,7 @@ class AliEMCALRawUtils : public TObject {
   void FitParabola(const TGraph *gSig, Float_t & amp) const ; 
   static Double_t RawResponseFunction(Double_t *x, Double_t *par); 
   static Double_t RawResponseFunctionLog(Double_t *x, Double_t *par); 
-  Bool_t   RawSampledResponse(Double_t dtime, Double_t damp, Int_t * adcH, Int_t * adcL) const;  
+  Bool_t   RawSampledResponse(Double_t dtime, Double_t damp, Int_t * adcH, Int_t * adcL, const Int_t keyErr=0) const;  
 
 
  private: