Class performs digitization of Summable digits from simulated data In addition it performs mixing/embedding of summable digits from different events. For each event 3 branches are created in TreeD: "EMCAL" - list of digits "EMCALTRG" - list of trigger digits "AliEMCALDigitizer" - AliEMCALDigitizer with all parameters used in digitization *-- Author: Sahal Yacoob (LBL) based on : AliEMCALDigitizer Modif: August 2002 Yves Schutz: clone PHOS as closely as possible and intoduction of new IO (a la PHOS) November 2003 Aleksei Pavlinov : adopted for Shish-Kebab geometry July 2011 GCB: Digitizer modified to accomodate embedding. Time calibration added. Decalibration possibility of energy and time added
AliEMCALDigitizer() | |
AliEMCALDigitizer(const AliEMCALDigitizer& dtizer) | |
AliEMCALDigitizer(AliDigitizationInput* manager) | |
AliEMCALDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::GetDefaultEventFolderName()) | |
virtual | ~AliEMCALDigitizer() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
void | Digitize(Int_t event) |
virtual void | Digitize(Option_t* option) |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
Int_t | GetDigitsInRun() const |
Int_t | GetDigitThreshold() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
Float_t | GetECAchannel() const |
Float_t | GetECApedestal() const |
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_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
Float_t | GetPinNoise() const |
Bool_t | AliDigitizer::GetRegionOfInterest() const |
Double_t | GetTimeDelay() const |
Float_t | GetTimeNoise() const |
Float_t | GetTimeResolution(const Float_t energy) const |
Double_t | GetTimeResolutionPar0() const |
Double_t | GetTimeResolutionPar1() const |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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) |
AliEMCALDigitizer& | operator=(const AliEMCALDigitizer&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | Print(Option_t* option = "") const |
void | Print1(Option_t* option)MENU |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetDigitThreshold(Int_t EMCThreshold) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetEventRange(Int_t first = 0, Int_t last = -1) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetPinNoise(Float_t pinNoise) |
void | SetTimeNoise(Float_t timeNoise) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | AliDigitizer::Copy(TObject& dig) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
Int_t | AliDigitizer::GetNInputStreams() const |
void | TObject::MakeZombie() |
void | CalibrateADCTime(Float_t& adc, Float_t& time, const Int_t AbsId) |
void | DecalibrateTrigger(AliEMCALDigit* digit) |
void | DigitalFastOR(Double_t time, Double_t dE, Int_t* timeSamples, Int_t nSamples) |
void | DigitizeEnergyTime(Float_t& energy, Float_t& time, const Int_t AbsId) |
void | Digits2FastOR(TClonesArray* digitsTMP, TClonesArray* digitsTRG) |
virtual Bool_t | Init() |
void | InitParameters() |
Bool_t | IsDead(AliEMCALDigit* digit) |
Bool_t | IsDead(Int_t absId) |
void | PrintDigits(Option_t* option) |
Float_t | TimeOfNoise() |
void | Unload() |
void | WriteDigits() |
void | WriteDigits(TClonesArray* digits, const char* branchName = "EMTRG") |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
AliDigitizationInput* | AliDigitizer::fDigInput | ! Pointer to the Digitizer input |
TString | TNamed::fName | object identifier |
TString | TNamed::fTitle | object title |
Float_t | fADCchannelEC | calibration width of one ADC channel in EC section (GeV) |
Float_t | fADCchannelECDecal | decalibration width of one ADC channel in EC section (GeV) |
Float_t | fADCpedestalEC | calibration pedestal for one ADC channel |
AliEMCALCalibData* | fCalibData | Calibration data pointer |
Bool_t | fDefaultInit | ! Says if the task was created by defaut ctor (only parameters are initialized) |
Int_t | fDigitThreshold | Threshold for storing digits in EMC, ACD units |
Int_t | fDigitsInRun | ! Total number of digits in one run |
TString | fEventFolderName | skowron: name of EFN to read data from in stand alone mode |
TString* | fEventNames | [fInput] List of event names to merge |
Int_t | fFirstEvent | first event to process |
Float_t | fGainFluctuations | correct fMeanPhotonElectron by the gain fluctuations |
Bool_t | fInit | ! To avoid overwriting existing files |
Int_t | fInput | Number of files to merge |
TString* | fInputFileNames | [fInput] List of file names to merge |
Int_t | fLastEvent | last event to process |
Int_t | fMeanPhotonElectron | number of photon electrons per GeV deposited energy |
Int_t | fNADCEC | number of channels in EC section ADC |
Float_t | fPinNoise | Electronics noise in EMC, APD |
AliEMCALSDigitizer* | fSDigitizer | SDigitization object |
Float_t | fTimeChannel | calibration time width for one channel |
Float_t | fTimeChannelDecal | calibration time width for one channel |
Double_t | fTimeDelay | Time delay to reproduce data delay |
Double_t | fTimeNoise | Electronics noise in EMC, time |
Double_t | fTimeResolutionPar0 | Time resolution of FEE electronics |
Double_t | fTimeResolutionPar1 | Time resolution of FEE electronics |
Inheritance Chart: | ||||||||||||
|
ctor
Makes the digitization of the collected summable digits for this it first creates the array of all EMCAL modules filled with noise and after that adds contributions from SDigits. This design helps to avoid scanning over the list of digits to add contribution of any new SDigit. JLK 26-Jun-2008 Note that SDigit energy info is stored as an amplitude, so we must call the Calibrate() method of the SDigitizer to convert it back to an energy in GeV before adding it to the Digit
JLK 26-June-2008 Returns digitized value of the energy in a cell absId using the calibration constants stored in the OCDB or default values if no CalibData object is found. This effectively converts everything to match the dynamic range of the real data we will collect Load Geometry
Returns the energy in a cell absId with a given adc value using the calibration constants stored in the OCDB. Time also corrected from parameter in OCDB Used in case of embedding, transform ADC counts from real event into energy so that we can add the energy of the simulated sdigits which are in energy units. Same as in AliEMCALClusterizer::Calibrate() but here we do not reject channels being marked as hot or with time out of window
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)
Assign a smeared time to the digit, from observed distribution in LED system (?). From F. Blanco
FEE digits afterburner to produce TRG digits we are only interested in the FEE digit deposited energy to be converted later into a voltage value
parameters: id: 0..95
Calculates the time signal generated by noise printf("Time noise %e\n",fTimeNoise);
Check if branch already exists: if yes, exit without writing: ROOT TTree does not support overwriting/updating of already existing branches. else creates branch with Digits, named "EMCAL", title "...", and branch "AliEMCALDigitizer", with the same title to keep all the parameters and names of files, from which digits are made.
Check if cell is defined as dead, so that it is not included input is digit