17 #include <Riostream.h> 93 Float_t digEnergy, Float_t time,
94 Int_t type, Int_t index, Float_t
chi2,
95 Int_t ndf, Float_t dE)
274 Float_t eta=-10., phi=-10.;
288 Float_t eta=-10., phi=-10.;
311 timeBin = (
fSamples[iSample] >> 12) & 0xFF;
330 timeBin = (
fSamples[iSample] >> 12) & 0xFF;
383 if ( (index <=
fNprimary) && (index > 0) )
394 if ( (index <=
fNprimary) && (index > 0) )
405 if ( index <= fNiparent && index > 0)
416 if ( (index <=
fNiparent) && (index > 0))
428 for(index = 0; index <
fNprimary; index++ ){
431 for(index =0; index <
fNiparent; index++){
440 if(&digit ==
this)
return *
this;
540 for (index = 0 ; index < digit.
fNprimary ; index++)
542 Bool_t newPrim = kTRUE ;
544 for ( old = 0 ; (old < max1) && newPrim; old++)
566 TString mess =
" NMaxPrimary = " ;
568 mess +=
" is too small" ;
574 for (index = 0 ; index < digit.
fNiparent ; index++)
576 Bool_t newParent = kTRUE ;
578 for ( old = 0 ; (old < max2) && newParent; old++)
600 TString mess =
" NMaxiparent = " ;
602 mess +=
" is too small" ;
638 out <<
"ID " << digit.
fId <<
" Energy = " << digit.
fAmp <<
" Time = " << digit.
fTime << endl ;
641 out <<
"Primary " << i+1 <<
" = " << digit.
fPrimary[i]
645 out <<
"Iparent " << j+1 <<
" = " << digit.
fIparent[j]
646 <<
" : DE " << digit.
fDEParent[j] << endl ;
647 out <<
"Position in list = " << digit.
fIndexInList << endl ;
657 printf(
"===\nDigit id: %4d / Energy %2.3f ; Time %e ; Time samples %d ; Chi2 %2.3f, NDF %d, Type? %d \n",
667 printf(
" (%d,%d) ",timeBin,amp);
673 printf(
"ALTRO, Low Gain: ");
678 printf(
" (%d,%d) ",timeBin,amp);
682 printf(
"ALTRO, High Gain: ");
687 printf(
" (%d,%d) ",timeBin,amp);
703 if ( npri <= 0 || !prilist || !edepList )
705 AliError(Form(
"Null number of entries (%d) or null lists (%p,%p), do not set!",npri,prilist,edepList));
717 for(Int_t ipri = 0; ipri < npri; ipri++)
734 if ( npar <= 0 || !parlist || !edepList )
736 AliError(Form(
"Null number of entries (%d) or null lists (%p,%p), do not set!",npar,parlist,edepList));
748 for(Int_t ipar = 0; ipar < npar; ipar++)
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
Float_t GetDEParent(Int_t index) const
Int_t fNprimary
Number of primaries.
Float_t * fDEParent
Array of parent energy contributions.
AliEMCALDigit operator+(const AliEMCALDigit &rValue)
Int_t * fPrimary
Array of primary labels.
AliEMCALDigit()
Default Constructor.
Int_t * fSamples
List of time bin constents, Low Gain for ALTRO, used also for FALTRO.
Float_t fAmpFloat
Cell amplitude, float.
void EtaPhiFromIndex(Int_t absId, Double_t &eta, Double_t &phi) const
Float_t fChi2
Fit quality parameter, chi square.
Int_t fMaxIter
Number to Increment Maxiparent, and MaxPrimary if default is not sufficient.
Int_t * fSamplesHG
List of time bin constents, High Gain for ALTRO, used also for FALTRO.
Float_t fTime
Calculated time.
AliEMCALDigit operator*(Float_t factor)
Multiplies the amplitude by a factor.
Int_t GetIparent(Int_t index) const
Int_t GetNALTROSamplesHG() const
Int_t GetNALTROSamplesLG() const
Bool_t operator==(const AliEMCALDigit &rValue) const
Two digits are equal if they have the same Id.
Float_t * fDEPrimary
Array of primary energy contributions.
Bool_t GetALTROSampleHG(const Int_t iSample, Int_t &timeBin, Int_t &) const
Int_t fDigitType
This is a trigger digit(0), HG (1) or LG (3)
Float_t GetDEPrimary(Int_t index) const
friend ostream & operator<<(ostream &, const AliEMCALDigit &)
Prints the data of the digit.
Int_t GetNFALTROSamples() const
Float_t fAmpCalib
Calibrated energy.
Int_t fNDF
Fit quality parameter, number of Degrees of Freedom.
Bool_t GetALTROSampleLG(const Int_t iSample, Int_t &timeBin, Int_t &) const
void ShiftPrimary(Int_t shift)
Shifts primary number to BIG offset, to separate primary in different TreeK.
void SetListOfPrimaries(Int_t npri, Int_t *prilist, Float_t *edepList)
Bool_t GetFALTROSample(const Int_t iSample, Int_t &timeBin, Int_t &) const
Int_t fNMaxPrimary
Max Number of primaries.
#define AliFatal(message)
void SetALTROSamplesHG(const Int_t nSamplesHG, Int_t *samplesHG)
Set array of ALTRO samples, High Gain.
Int_t fNiparent
Number of initial parents.
Int_t * fIparent
Array of parents labels.
Int_t GetPrimary(Int_t index) const
Float_t fTimeR
Earliest time: to be used by Digits2Raw.
Int_t fNMaxiparent
Max Number of parents.
void Print(const Option_t *) const
Dump digit info.
#define AliError(message)
static AliEMCALGeometry * GetInstance()
Int_t fNSamples
Number of time samples, Low Gain for ALTRO, used also for FALTRO.
for(Int_t itree=0;itree< arrInputTreesDistortionCalib->GetEntriesFast();++itree)
void SetALTROSamplesLG(const Int_t nSamplesLG, Int_t *samplesLG)
Set array of ALTRO samples, Low Gain or FALTRO.
void SetListOfParents(Int_t npar, Int_t *parlist, Float_t *edepList)
Int_t fNSamplesHG
Number of time samples, High Gain for ALTRO.
EMCal geometry, singleton.
AliEMCALDigit & operator=(const AliEMCALDigit &digit)
Assignment operator.