17 #include <TObjArray.h> 18 #include <TClonesArray.h> 19 #include <TGeoManager.h> 46 fClusterUnfolding(NULL)
83 Warning(
"AliEMCALAfterBurnerUF::Init",
"GeoManager not found, please import the geometry.root file or pass to the geometry the misalignment matrices");
88 Info(
"AliEMCALAfterBurnerUF::Init",
"gGeoManager was not set, be careful");
92 Warning(
"AliEMCALAfterBurnerUF::Init",
"AliEMCALGeometry is not yet initialized. Initializing with EMCAL_COMPLETE12SMV1_DCAL_8SM");
99 Fatal(
"AliEMCALAfterBurnerUF::AliEMCALAfterBurnerUF",
"could not get EMCAL geometry");
107 fDigitsArr =
new TClonesArray(
"AliEMCALDigit",1152);
149 for(Int_t i = 0; i <
fRecPoints->GetEntriesFast(); i++)
154 Int_t ncellsTrue = 0;
157 UShort_t absIds[ncells];
158 Double32_t ratios[ncells];
160 for (Int_t c = 0; c < ncells; c++)
164 absIds[ncellsTrue] = digit->
GetId();
167 if (ratios[ncellsTrue] > 0.001) ncellsTrue++;
172 Warning(
"AliEMCALAfterBurnerUF::RecPoints2Clusters",
"skipping cluster with no cells");
195 clusArray->Add(clus);
209 Int_t nclus = clusArray->GetEntriesFast();
213 for (Int_t i = 0; i < nclus; i++)
216 if (!clus->
IsEMCAL())
continue;
224 for (Int_t c = 0; c < clus->
GetNCells(); c++)
241 recPoint->
AddDigit(*digit, amp, kFALSE);
247 clusArray->RemoveAt(i);
265 clusArray->Compress();
Class for calorimeter cluster, EMCal and PHOS, data handling.
virtual Double_t GetCellTime(Short_t cellNumber)=0
After-burner for the EMCAL cluster unfolding algorithm.
Virtual class for calorimeter cell data handling.
void SetCellsAmplitudeFraction(Double32_t *array)
virtual void SetInput(Int_t numberOfECAClusters, TObjArray *recPoints, TClonesArray *digitsArr)
void SetCellsAbsId(UShort_t *array)
virtual Float_t GetEnergy() const
virtual int * GetDigitsList(void) const
Virtual class for calorimeter cluster data handling.
void SetPosition(Float_t *x)
Base class for the cluster unfolding algorithm.
void SetTime(Float_t time)
Int_t GetMultiplicity(void) const
virtual void Clear()
Clean the arrays.
virtual void MakeUnfolding()
virtual void AddDigit(AliEMCALDigit &digit, const Float_t energy, const Bool_t shared)
TGeoManager * gGeoManager
TObjArray * fRecPoints
! list of cluster <=> recPoint
void SetType(Char_t ttype)
Float_t * GetEnergiesList() const
virtual Double_t GetCellAmplitude(Short_t cellNumber)=0
virtual void RecPoints2Clusters(TObjArray *clusArray)
Float_t fECALocMaxCut
This amount of energy must distinguish a local maximum from its neighbours.
AliEMCALUnfolding * fClusterUnfolding
unfolding class instance
void SetIndexInList(Int_t val)
AliEMCALGeometry * fGeom
EMCAL geometry.
void SetTimeR(Float_t time)
virtual void SetECALocalMaxCut(Float_t cut)
virtual void GetGlobalPosition(TVector3 &gpos) const
virtual void UnfoldClusters(TObjArray *clusArray, AliVCaloCells *cellsEMCAL)
virtual Bool_t IsEMCAL() const
void SetE(Double32_t energy)
TClonesArray * fDigitsArr
list of cell <=> digit
AliEMCALAfterBurnerUF()
Default constructor.
Float_t fLogWeight
Used in AliEMCALRecPoint::EvalGlobalPosition()
virtual ~AliEMCALAfterBurnerUF()
Destructor.
virtual void SetThreshold(Float_t energy)
static AliEMCALGeometry * GetInstance()
virtual Int_t GetNCells() const
virtual void SetClusterType(Int_t ver)
Float_t fMinECut
Minimum energy of cell.
Float_t GetAmplitude() const
virtual void EvalGlobalPosition(Float_t logWeight, TClonesArray *digits)
Calculates the center of gravity in the global ALICE coordinates.
virtual Int_t GetCellAbsId(Int_t) const
void SetAmplitude(Float_t amp)