//////////////////////////////////////////////////////////////////////////////
// --- ROOT system ---
-#include "TClonesArray.h"
-#include "TTree.h"
+#include <TTree.h>
#include <TFile.h>
class TFolder;
#include <TMath.h>
// make sure we delete the rec points array
DeleteRecPoints();
+
+ //Delete digits array
+ DeleteDigits();
+
}
//____________________________________________________________________________
}
}
+//____________________________________________________________________________
+void AliEMCALClusterizer::DeleteDigits()
+{
+ // free the digits array
+ if (fDigitsArr)
+ {
+ AliDebug(2, "Deleting fDigitsArr.");
+ fDigitsArr->Clear("C");
+ delete fDigitsArr;
+ fDigitsArr = 0;
+ }
+}
+
//____________________________________________________________________________
void AliEMCALClusterizer::Calibrate(Float_t & amp, Float_t & time, const Int_t absId)
{
// Convert digitized amplitude into energy, calibrate time
// Calibration parameters are taken from OCDB : OCDB/EMCAL/Calib/Data
+ //Check if time is too large or too small, indication of a noisy channel, remove in this case
+ if(time > fTimeMax || time < fTimeMin) {
+ amp = 0 ;
+ time = 0 ;
+ return ;
+ }
+
//Return energy with default parameters if calibration is not available
if (!fCalibData && !fCaloPed) {
if (fIsInputCalibrated == kTRUE)
return ;
}
}
- //Check if time is too large or too small, indication of a noisy channel, remove in this case
- if(time > fTimeMax || time < fTimeMin) {
- amp = 0 ;
- time = 0 ;
- return ;
- }
- if (fIsInputCalibrated||!fCalibData)
+ if (fIsInputCalibrated || !fCalibData)
{
AliDebug(10, Form("Input already calibrated!"));
return ;
}
+ Int_t bc = 0; // Get somehow the bunch crossing number
+
fADCchannelECA = fCalibData->GetADCchannel (iSupMod,ieta,iphi);
fADCpedestalECA = fCalibData->GetADCpedestal(iSupMod,ieta,iphi);
- fTimeECA = fCalibData->GetTimeChannel(iSupMod,ieta,iphi);
+ fTimeECA = fCalibData->GetTimeChannel(iSupMod,ieta,iphi, bc);
time -= fTimeECA ;
amp = amp * fADCchannelECA - fADCpedestalECA ;
fTimeCut = recParam->GetTimeCut();
fTimeMin = recParam->GetTimeMin();
fTimeMax = recParam->GetTimeMax();
-
+
+ //For NxN
+ SetNRowDiff(recParam->GetNRowDiff());
+ SetNColDiff(recParam->GetNColDiff());
+
AliDebug(1,Form("Reconstruction parameters: fECAClusteringThreshold=%.3f GeV, fECAW=%.3f, fMinECut=%.3f GeV, "
"fToUnfold=%d, fECALocMaxCut=%.3f GeV, fTimeCut=%e s,fTimeMin=%e s,fTimeMax=%e s",
fECAClusteringThreshold,fECAW0,fMinECut,fToUnfold,fECALocMaxCut,fTimeCut, fTimeMin, fTimeMax));