//____________________________________________________________________________
AliEMCALClusterizer::AliEMCALClusterizer():
fIsInputCalibrated(kFALSE),
+ fJustClusters(kFALSE),
fDigitsArr(NULL),
fTreeR(NULL),
fRecPoints(NULL),
//____________________________________________________________________________
AliEMCALClusterizer::AliEMCALClusterizer(AliEMCALGeometry* geometry):
fIsInputCalibrated(kFALSE),
+ fJustClusters(kFALSE),
fDigitsArr(NULL),
fTreeR(NULL),
fRecPoints(NULL),
AliEMCALCalibData *calib,
AliCaloCalibPedestal *caloped):
fIsInputCalibrated(kFALSE),
+ fJustClusters(kFALSE),
fDigitsArr(NULL),
fTreeR(NULL),
fRecPoints(NULL),
// Gustavo: 15-12-09 In case of RAW data this selection is already done, but not in simulation.
// for the moment keep it here but remember to do the selection at the sdigitizer level
// and remove it from here
- Int_t channelStatus = (Int_t)(fCaloPed->GetDeadMap(iSupMod))->GetBinContent(ieta,iphi);
- if(channelStatus == AliCaloCalibPedestal::kHot || channelStatus == AliCaloCalibPedestal::kDead) {
- AliDebug(2,Form("Tower from SM %d, ieta %d, iphi %d is BAD : status %d !!!",iSupMod,ieta,iphi, channelStatus));
- return 0;
+ if (fCaloPed) {
+ Int_t channelStatus = (Int_t)(fCaloPed->GetDeadMap(iSupMod))->GetBinContent(ieta,iphi);
+ if(channelStatus == AliCaloCalibPedestal::kHot || channelStatus == AliCaloCalibPedestal::kDead) {
+ AliDebug(2,Form("Tower from SM %d, ieta %d, iphi %d is BAD : status %d !!!",iSupMod,ieta,iphi, channelStatus));
+ return 0;
+ }
}
//Check if time is too large or too small, indication of a noisy channel, remove in this case
if(time > fTimeMax || time < fTimeMin) return 0;
fIsInputCalibrated = val;
}
+
+//___________________________________________________________________
+void AliEMCALClusterizer::SetJustClusters(Bool_t val)
+{
+ // Flag to indicate that we are running on ESDs, when calling
+ // rp->EvalAll(fECAW0,fDigitsArr,fJustClusters); in derived classes
+
+ fJustClusters = val;
+}
virtual void PrintRecPoints(Option_t *option);
virtual void PrintRecoInfo();
- void SetInputCalibrated(Bool_t val);
+ void SetInputCalibrated(Bool_t val);
+ void SetJustClusters(Bool_t val);
virtual const char *Version() const { Warning("Version", "Not Defined"); return 0; }
virtual void MakeClusters() = 0;
Bool_t fIsInputCalibrated; // to enable reclusterization from ESD cells
-
+ Bool_t fJustClusters; // false for standard reco
TClonesArray *fDigitsArr; // array with EMCAL digits
TTree *fTreeR; // tree with output clusters
TObjArray *fRecPoints; // array with EMCAL clusters
AliEMCALClusterizer(const AliEMCALClusterizer &);
AliEMCALClusterizer & operator = (const AliEMCALClusterizer &);
- ClassDef(AliEMCALClusterizer,5) // Clusterization algorithm class
+ ClassDef(AliEMCALClusterizer,6) // Clusterization algorithm class
};
#endif // AliEMCALCLUSTERIZER_H
for (Int_t index = 0; index < fRecPoints->GetEntries(); index++) {
AliEMCALRecPoint * rp = dynamic_cast<AliEMCALRecPoint *>(fRecPoints->At(index));
if (rp) {
- rp->EvalAll(fECAW0,fDigitsArr,fIsInputCalibrated);
+ rp->EvalAll(fECAW0,fDigitsArr,fJustClusters);
AliDebug(5, Form("MAX INDEX %d ", rp->GetMaximalEnergyIndex()));
//For each rec.point set the distance to the nearest bad crystal
if (fCaloPed)
for(index = 0; index < fRecPoints->GetEntries(); index++) {
AliEMCALRecPoint * rp = dynamic_cast<AliEMCALRecPoint *>(fRecPoints->At(index));
if(rp){
- rp->EvalAll(fECAW0,fDigitsArr,fIsInputCalibrated);
+ rp->EvalAll(fECAW0,fDigitsArr,fJustClusters);
//For each rec.point set the distance to the nearest bad crystal
if (fCaloPed)
rp->EvalDistanceToBadChannels(fCaloPed);