AliEMCALClusterizer* AliEMCALReconstructor::fgClusterizer = 0; // EMCAL clusterizer class
TClonesArray* AliEMCALReconstructor::fgDigitsArr = 0; // list of digits, to be used multiple times
TObjArray* AliEMCALReconstructor::fgClustersArr = 0; // list of clusters, to be used multiple times
+TClonesArray* AliEMCALReconstructor::fgTriggerDigits = 0; // list of trigger digits, to be used multiple times
AliEMCALTriggerElectronics* AliEMCALReconstructor::fgTriggerProcessor = 0x0;
//____________________________________________________________________________
AliEMCALReconstructor::AliEMCALReconstructor()
fTriggerData = new AliEMCALTriggerData();
//Init temporary list of digits
- fgDigitsArr = new TClonesArray("AliEMCALDigit",1000);
- fgClustersArr = new TObjArray(1000);
-
+ fgDigitsArr = new TClonesArray("AliEMCALDigit",1000);
+ fgClustersArr = new TObjArray(1000);
+ fgTriggerDigits = new TClonesArray("AliEMCALTriggerRawDigit",1000);
}
//____________________________________________________________________________
delete fgClustersArr;
}
+ if(fgTriggerDigits){
+ fgTriggerDigits->Clear("C");
+ delete fgTriggerDigits;
+ }
+
if(fgRawUtils) delete fgRawUtils;
if(fgClusterizer) delete fgClusterizer;
if(fgTriggerProcessor) delete fgTriggerProcessor;
AliWarning("Cannot retrieve V0 ESD! Run w/ null V0 charges");
}
- TClonesArray *trgDigits = new TClonesArray("AliEMCALTriggerRawDigit",1000);
-
+ if (fgTriggerDigits) fgTriggerDigits->Clear("C");
+
TBranch *branchtrg = digitsTree->GetBranch("EMTRG");
if (!branchtrg)
return;
}
- branchtrg->SetAddress(&trgDigits);
+ branchtrg->SetAddress(&fgTriggerDigits);
branchtrg->GetEntry(0);
// Note: fgTriggerProcessor reset done at the end of this method
- fgTriggerProcessor->Digits2Trigger(trgDigits, v0M, fTriggerData);
+ fgTriggerProcessor->Digits2Trigger(fgTriggerDigits, v0M, fTriggerData);
// Fill ESD
AliESDCaloTrigger* trgESD = esd->GetCaloTrigger("EMCAL");
if (trgESD)
{
- trgESD->Allocate(trgDigits->GetEntriesFast());
+ trgESD->Allocate(fgTriggerDigits->GetEntriesFast());
- for (Int_t i = 0; i < trgDigits->GetEntriesFast(); i++)
+ for (Int_t i = 0; i < fgTriggerDigits->GetEntriesFast(); i++)
{
- AliEMCALTriggerRawDigit* rdig = (AliEMCALTriggerRawDigit*)trgDigits->At(i);
+ AliEMCALTriggerRawDigit* rdig = (AliEMCALTriggerRawDigit*)fgTriggerDigits->At(i);
Int_t px, py;
if (fGeom->GetPositionInEMCALFromAbsFastORIndex(rdig->GetId(), px, py))
// parameters for EMCAL
static AliEMCALRawUtils* fgRawUtils; // raw utilities class -
// only need one per reco
- static TClonesArray* fgDigitsArr; // Array with EMCAL digits
- static TObjArray* fgClustersArr; // Array with EMCAL clusters
+ static TClonesArray* fgDigitsArr; //-> Array with EMCAL digits
+ static TObjArray* fgClustersArr; // Array with EMCAL clusters
+ static TClonesArray* fgTriggerDigits; //-> Array with EMCAL trigger digits
AliEMCALCalibData * fCalibData ; //! Calibration database if aval
AliCaloCalibPedestal * fPedestalData ; //! Tower status database if aval
+
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* *
Bool_t AliEMCALTriggerSTURawStream::ReadPayLoad()
{
// STU data decoder from Olivier Bourrion LPSC CNRS-IN2P3
- // bourrion@lpsc.in2p3.fr
+ // bourrion_at_lpsc_dot_in2p3_dot_fr
UInt_t word32[1772]; // 32b words
for (Int_t i=0;i<1772;i++) word32[i] = 0;