ROOT logo
AliRoot » EMCAL » AliCaloRawAnalyzer

class AliCaloRawAnalyzer: public TObject

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliCaloRawAnalyzer()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Double_tCalculateChi2(const Double_t amp, const Double_t time, const Int_t first, const Int_t last, const Double_t adcErr = 1, const Double_t tau = 2.35) const
voidCalculateMeanAndRMS(const Int_t first, const Int_t last, Double_t& mean, Double_t& rms)
boolCheckBunchEdgesForMax(const AliCaloBunchInfo *const bunch) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual AliCaloFitResultsEvaluate(const vector<AliCaloBunchInfo>&, UInt_t, UInt_t)
Float_tEvaluatePedestal(const UShort_t *const data, const int length) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
CaloConstants::FitAlgorithm::fitAlgorithmGetAlgo() const
const char*GetAlgoAbbr() const
const char*GetAlgoName() const
Float_tGetAmpCut() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tGetFitArrayCut() const
Bool_tGetFixTau() const
virtual const char*TObject::GetIconName() const
boolGetIsZeroSuppressed() const
virtual const char*TObject::GetName() const
Int_tGetNsampleCut() const
Int_tGetNsamplePed() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tGetOverflowCut() const
Double_tGetReversed(const int i) const
Float_tGetTau() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
boolIsInTimeRange(const int maxindex, const int maxtime, const int mintime) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
shortMax(const AliCaloBunchInfo *const bunch, int* maxindex) const
UShort_tMax(const UShort_t* data, const int length) const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliCaloRawAnalyzer&operator=(const AliCaloRawAnalyzer&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
intPreFitEvaluateSamples(const vector<AliCaloBunchInfo>& bunchvector, UInt_t altrocfg1, UInt_t altrocfg2, Int_t& index, Float_t& maxf, short& maxamp, short& maxampindex, Float_t& ped, int& first, int& last, int acut)
virtual voidTObject::Print(Option_t* option = "") const
static voidPrintBunch(const AliCaloBunchInfo& bunch)
static voidPrintBunches(const vector<AliCaloBunchInfo>& bunchvector)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
Float_tReverseAndSubtractPed(const AliCaloBunchInfo* bunch, UInt_t altrocfg1, UInt_t altrocfg2, double* outarray) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
intSelectBunch(const vector<AliCaloBunchInfo>& bunchvector, short* maxampbin, short* maxamplitude)
voidSelectSubarray(const Double_t* date, int length, short maxindex, int* first, int* last, int cut) const
voidSetAmpCut(Float_t cut)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetFitArrayCut(Int_t cut)
voidSetFixTau(Bool_t b)
voidSetIsZeroSuppressed(bool iszs = true)
voidSetL1Phase(Double_t phase)
voidSetNsampleCut(Int_t cut)
voidSetNsamplePed(Int_t i)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOverflowCut(Int_t cut)
voidSetTau(Float_t tau)
voidSetTimeConstraint(int min, int max)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVerbose(bool verbose = true)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
CaloConstants::FitAlgorithm::fitAlgorithmfAlgoWhich algorithm to use
Double_tfAmpThe amplitude in entities of ADC counts
Float_tfAmpCutMax ADC - pedestal must be higher than this befor attemting to extract the amplitude
intfFitArrayCutCut on ADC value (after ped. subtraction) for signals used for fit
Bool_tfFixTauFixed fit parameter or not, used in AliCaloRawAnalyzerFitter
boolfIsZerosupressedWether or not the data is zeros supressed, by default its assumed that the baseline is also subtracted if set to true
Double_tfL1PhasePhase of the ADC sampling clock relative to the LHC clock
intfMaxTimeIndexThe timebin of the max signal value must be between fMinTimeIndex and fMaxTimeIndex
intfMinTimeIndexThe timebin of the max signal value must be between fMinTimeIndex and fMaxTimeIndex
charfName[256]Name of the algorithm
charfNameShort[256]Abbrevation for the name
intfNsampleCutMinimum number of sample require before attemting to extract signal parameters
intfNsamplePedNumber of samples used for pedestal calculation (first in bunch)
intfOverflowCutvalue when ADC starts to saturate
Double_tfReversed[1008]Reversed sequence of samples (pedestalsubtracted)
Float_tfTauRise time of the signal (peak position = t0 +tau), by defauly it is 235 ns
Double_tfTofThe amplitude in entities of ADC counts
boolfVerbosePrint debug information to std out if set to true

Class Charts

Inheritance Chart:
TObject
AliCaloRawAnalyzer
AliCaloRawAnalyzerCrude
AliCaloRawAnalyzerNN
AliCaloRawAnalyzerPeakFinder

Function documentation

SetTimeConstraint(int min, int max)
Require that the bin if the maximum ADC value is between min and max (timebin)
Max(const UShort_t* data, const int length) const
 Get maximum of array
SelectSubarray(const Double_t* date, int length, short maxindex, int* first, int* last, int cut) const
Selection of subset of data from one bunch that will be used for fitting or
Peak finding.  Go to the left and right of index of the maximum time bin
Until the ADC value is less that fFitArrayCut, or derivative changes sign (data jump)
ReverseAndSubtractPed(const AliCaloBunchInfo* bunch, UInt_t altrocfg1, UInt_t altrocfg2, double* outarray) const
Time sample comes in reversed order, revers them back
Subtract the baseline based on content of altrocfg1 and altrocfg2.
EvaluatePedestal(const UShort_t *const data, const int length) const
  Pedestal evaluation if not zero suppressed
Max(const AliCaloBunchInfo *const bunch, int* maxindex) const
 Get maximum in bunch array
CheckBunchEdgesForMax(const AliCaloBunchInfo *const bunch) const
 a bunch is considered invalid if the maximum is in the first or last time-bin
SelectBunch(const vector<AliCaloBunchInfo>& bunchvector, short* maxampbin, short* maxamplitude)
We select the bunch with the highest amplitude unless any time constraints is set
IsInTimeRange(const int maxindex, const int maxtime, const int mintime) const
 Ckeck if the index of the max ADC vaue is consistent with trigger.
PrintBunches(const vector<AliCaloBunchInfo>& bunchvector)
 Print bunch vector info
PrintBunch(const AliCaloBunchInfo& bunch)
 Print bunch infor
CalculateChi2(const Double_t amp, const Double_t time, const Int_t first, const Int_t last, const Double_t adcErr = 1, const Double_t tau = 2.35) const
   Input:
   amp   - max amplitude;
   time    - time of max amplitude;
   first, last - sample array indices to be used
   adcErr   - nominal error of amplitude measurement (one value for all channels)
           if adcErr<0 that mean adcErr=1.
   tau   - filter time response (in timebin units)
 Output:
   chi2 - chi2
CalculateMeanAndRMS(const Int_t first, const Int_t last, Double_t& mean, Double_t& rms)
   Input:
   first, last - sample array indices to be used
 Output:
   mean and RMS of samples

 To possibly be used to differentiate good signals from bad before fitting

PreFitEvaluateSamples(const vector<AliCaloBunchInfo>& bunchvector, UInt_t altrocfg1, UInt_t altrocfg2, Int_t& index, Float_t& maxf, short& maxamp, short& maxampindex, Float_t& ped, int& first, int& last, int acut)
 method to do the selection of what should possibly be fitted
virtual ~AliCaloRawAnalyzer()
{ ; }
AliCaloFitResults Evaluate(const vector<AliCaloBunchInfo>& , UInt_t , UInt_t )
void SetVerbose(bool verbose = true)
{ fVerbose = verbose; }
void SetIsZeroSuppressed(bool iszs = true)
{ fIsZerosupressed = iszs ; }
void SetAmpCut(Float_t cut)
{ fAmpCut = cut ; }
void SetFitArrayCut(Int_t cut)
{ fFitArrayCut = cut ; }
void SetNsampleCut(Int_t cut)
{ fNsampleCut = cut ; }
void SetOverflowCut(Int_t cut)
{ fOverflowCut = cut ; }
void SetNsamplePed(Int_t i)
{ fNsamplePed = i ; }
void SetL1Phase(Double_t phase)
{ fL1Phase = phase ; }
bool GetIsZeroSuppressed() const
{ return fIsZerosupressed;}
Float_t GetAmpCut() const
{ return fAmpCut ; }
Int_t GetFitArrayCut() const
{ return fFitArrayCut ; }
Int_t GetNsampleCut() const
{ return fNsampleCut ; }
Int_t GetOverflowCut() const
{ return fOverflowCut ; }
Int_t GetNsamplePed() const
{ return fNsamplePed ; }
Double_t GetReversed(const int i) const
 access to array info
{ return fReversed[i]; }
const char * GetAlgoName() const
{ return fName ; }
const char * GetAlgoAbbr() const
{ return fNameShort ; }
Algo::fitAlgorithm GetAlgo() const
{ return fAlgo ; }
Float_t GetTau() const
 Used in AliCaloRawAnalyzerFitter
{ return fTau ; }
void SetTau(Float_t tau)
{ fTau = tau ; }
Bool_t GetFixTau() const
{ return fFixTau ; }
void SetFixTau(Bool_t b)
{ fFixTau = b ; }