ROOT logo
AliRoot » PHOS » AliPHOSDigitizer

class AliPHOSDigitizer: public AliDigitizer

*-- Author :  Dmitri Peressounko (SUBATECH & Kurchatov Institute)

 This class performs digitization of Summable digits (in the PHOS case it is just
 the sum of contributions from all primary particles into a given cell).
 In addition it performs mixing of summable digits from different events.
 The name of the class is also the title of the branch that will contain
 the created SDigits
 The title of the class is the name of the file that contains the hits from
 which the SDigits are created

 For each event two branches are created in TreeD:
   "PHOS" - list of digits
   "AliPHOSDigitizer" - AliPHOSDigitizer with all parameters used in digitization

 Note, that one can set a title for new digits branch, and repeat digitization with
 another set of parameters.

 Use case:
 root[0] AliPHOSDigitizer * d = new AliPHOSDigitizer() ;
 root[1] d->Digitize()
 Warning in <TDatabasePDG::TDatabasePDG>: object already instantiated
                       //Digitizes SDigitis in all events found in file galice.root

 root[2] AliPHOSDigitizer * d1 = new AliPHOSDigitizer("galice1.root") ;
                       // Will read sdigits from galice1.root
 root[3] d1->MixWith("galice2.root")
 Warning in <TDatabasePDG::TDatabasePDG>: object already instantiated
                       // Reads another set of sdigits from galice2.root
 root[3] d1->MixWith("galice3.root")
                       // Reads another set of sdigits from galice3.root
 root[4] d->Digitize("deb timing")
                       // Reads SDigits from files galice1.root, galice2.root ....
                       // mixes them and stores produced Digits in file galice1.root
                       // deb - prints number of produced digits
                       // deb all - prints list of produced digits
                       // timing  - prints time used for digitization

Function Members (Methods)

public:
AliPHOSDigitizer()
AliPHOSDigitizer(AliDigitizationInput* digInput)
AliPHOSDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::GetDefaultEventFolderName())
virtual~AliPHOSDigitizer()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDigitize(Int_t event)
virtual voidDigitize(Option_t* option)
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 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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tGetDigitsInRun() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tAliDigitizer::GetRegionOfInterest() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") 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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
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)
voidSetEventRange(Int_t first = 0, Int_t last = -1)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
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 voidAliDigitizer::Copy(TObject& dig) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tAliDigitizer::GetNInputStreams() const
voidTObject::MakeZombie()

Data Members

protected:
AliDigitizationInput*AliDigitizer::fDigInput! Pointer to the Digitizer input
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
Int_t*fADCValuesHG! Array of high-gain ALTRO samples
Int_t*fADCValuesLG! Array of low-gain ALTRO samples
Bool_tfDefaultInit! Says if the task was created by defaut ctor (only parameters are initialized)
Int_tfDigitsInRun! Total number of digits in one run
Int_tfEmcCrystalsNumber of EMC crystalls in the given geometry
Int_tfEventCounter! counts the events processed
TStringfEventFolderNameskowron: name of EFN to read data from in stand alone mode
TString*fEventNames[fInput] List of event names to merge
Int_tfFirstEventfirst event to process
Bool_tfInit! To avoid overwriting existing files
Int_tfInputNumber of files to merge
TString*fInputFileNames[fInput] List of file names to merge
Int_tfLastEventlast event to process
AliPHOSPulseGenerator*fPulse! Pulse shape generator
AliPHOSCalibData*fcdb! Calibration parameters DB

Class Charts

Inheritance Chart:
TNamed
AliDigitizer
AliPHOSDigitizer

Function documentation

AliPHOSDigitizer()
 ctor
AliPHOSDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::GetDefaultEventFolderName())
 ctor
AliPHOSDigitizer(AliDigitizationInput* digInput)
 ctor Init() is called by RunDigitizer
~AliPHOSDigitizer()
 dtor
void Digitize(Int_t event)
Float_t Calibrate(Float_t amp, Int_t absId)
Apply calibration
void Decalibrate(AliPHOSDigit* digit)
 Decalibrate EMC digit, i.e. change its energy by a factor read from CDB
Float_t CalibrateT(Float_t time, Int_t absId)
Apply time calibration
Int_t DigitizeCPV(Float_t charge, Int_t absId)
 Returns digitized value of the CPV charge in a pad absId
void Digitize(Option_t* option)
 Steering method to process digitization for events
 in the range from fFirstEvent to fLastEvent.
 This range is optionally set by SetEventRange().
 if fLastEvent=-1, then process events until the end.
 by default fLastEvent = fFirstEvent (process only one event)
Float_t TimeResolution(Float_t energy)
calculate TOF resolution using beam-test resutls
Bool_t Init()
 Makes all memory allocations
void InitParameters()
 Set initial parameters Digitizer
void Print(Option_t* = "") const
 Print Digitizer's parameters
void PrintDigits(Option_t* option)
 Print a table of digits
Float_t TimeOfNoise(void)
PH  Info("TimeOfNoise", "Change me") ;
void Unload()
void WriteDigits()
AliPHOSDigitizer()
void SetEventRange(Int_t first = 0, Int_t last = -1)
{fFirstEvent=first; fLastEvent=last; }
Int_t GetDigitsInRun() const
General
{ return fDigitsInRun ;}