/* $Id$ */
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.35 2007/08/07 14:12:03 kharlov
+ * Quality assurance added (Yves Schutz)
+ *
+ * Revision 1.34 2006/04/29 20:25:30 hristov
+ * Decalibration is implemented (Yu.Kharlov)
+ *
+ * Revision 1.33 2005/05/28 14:19:04 schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
//_________________________________________________________________________
// Task Class for making SDigits in PHOS
// Class performs digitization of Summable digits (in the PHOS case this is just
// --- AliRoot header files ---
#include "AliDigitizer.h"
class AliPHOSSDigitizer ;
+class AliPHOSQualAssDataMaker ;
class AliRunDigitizer ;
class AliPHOSDigitizer: public AliDigitizer {
public:
AliPHOSDigitizer() ; // ctor
- AliPHOSDigitizer(const TString alirunFileNameFile, const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ;
+ AliPHOSDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ;
AliPHOSDigitizer(const AliPHOSDigitizer & dtizer) ;
AliPHOSDigitizer(AliRunDigitizer * manager) ;
virtual ~AliPHOSDigitizer() ;
- void Digitize(const Int_t event) ; // Make Digits from SDigits
+ void Digitize(Int_t event) ; // Make Digits from SDigits
void Exec(Option_t *option); // Supervising method
//CPV parameters
- const Float_t GetCPVNoise() const { return fCPVNoise ;}
- const Float_t GetCPVThreshold() const { return fCPVDigitThreshold ;}
- const Float_t GetCPVchannel() const { return fADCchanelCpv; }
- const Float_t GetCPVpedestal() const { return fADCpedestalCpv; }
+ Float_t GetCPVNoise() const { return fCPVNoise ;}
+ Float_t GetCPVThreshold() const { return fCPVDigitThreshold ;}
+ Float_t GetCPVchannel() const { return fADCchanelCpv; }
+ Float_t GetCPVpedestal() const { return fADCpedestalCpv; }
void SetCPVNoise(Float_t CPVNoise) {fCPVNoise = CPVNoise;}
void SetCPVThreshold(Float_t CPVThreshold) {fCPVDigitThreshold= CPVThreshold;}
//EMC parameters
- const Float_t GetEMCThreshold() const { return fEMCDigitThreshold;}
- const Float_t GetEMCchannel() const { return fADCchanelEmc; }
- const Float_t GetEMCpedestal() const { return fADCpedestalEmc; }
- const Float_t GetPinNoise() const { return fPinNoise;}
- const Float_t GetTimeResolution() const { return fTimeResolution ; }
+ Float_t GetEMCThreshold() const { return fEMCDigitThreshold;}
+ Float_t GetEMCchannel() const { return fADCchanelEmc; }
+ Float_t GetEMCpedestal() const { return fADCpedestalEmc; }
+ Float_t GetPinNoise() const { return fPinNoise;}
+ Float_t GetTimeResolution() const { return fTimeResolution ; }
void SetEMCThreshold(Float_t EMCThreshold) {fEMCDigitThreshold = EMCThreshold;}
void SetPinNoise(Float_t PinNoise ) {fPinNoise = PinNoise;}
void SetEMCpedestal(Float_t ped) { fADCpedestalEmc = ped ; }
void SetEventFolderName(TString name) { fEventFolderName = name ; }
void SetTimeResolution(Float_t res){ fTimeResolution = res ; }
+ void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
//General
- const Int_t GetDigitsInRun() const { return fDigitsInRun ;}
- void MixWith(const TString alirunFileName,
- const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ; // Add another one file to mix
- void Print()const ;
+ Int_t GetDigitsInRun() const { return fDigitsInRun ;}
+ void MixWith(TString alirunFileName,
+ TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ; // Add another one file to mix
+
+ void Print(const Option_t * = "")const ;
AliPHOSDigitizer & operator = (const AliPHOSDigitizer & /*rvalue*/) {
// assignement operator requested by coding convention but not needed
return *this ;
}
+
private:
+ AliPHOSQualAssDataMaker * GetQualAssDataMaker() const { return fQADM ; }
virtual Bool_t Init() ;
void InitParameters() ;
//Calculate the time of crossing of the threshold by front edge
Float_t FrontEdgeTime(TClonesArray * ticks) const ;
//Calculate digitized signal with gived ADC parameters
- Int_t DigitizeEnergy(Float_t energy, Int_t absId) ;
+ void DecalibrateEMC(AliPHOSDigit * digit);
+ Int_t DigitizeCPV(Float_t charge, Int_t absId) ;
private:
Int_t fNADCcpv ; // number of channels in CPV ADC
TString fEventFolderName; // skowron: name of EFN to read data from in stand alone mode
+ Int_t fFirstEvent; // first event to process
+ Int_t fLastEvent; // last event to process
+ AliPHOSQualAssDataMaker * fQADM ; //!Quality Assurance Data Maker
+ Int_t fEventCounter ; //! counts the events processed
- ClassDef(AliPHOSDigitizer,2) // description
+ //QA stuff
+ static const Int_t fgkCycles = 9999 ; // QA data accumulation cycle
+
+ ClassDef(AliPHOSDigitizer,4) // description
};