// fPedestal(0), //Not used, remove?
// fSlope(0), //Not used, remove?
fPinNoise(0),
+ fTimeDelay(0),
fTimeResolution(0),
// fTimeThreshold(0), //Not used, remove?
// fTimeSignalLength(0), //Not used, remove?
// fPedestal(0),//Not used, remove?
// fSlope(0), //Not used, remove?
fPinNoise(0),
+ fTimeDelay(0),
fTimeResolution(0),
// fTimeThreshold(0), //Not used, remove?
// fTimeSignalLength(0), //Not used, remove?
// fPedestal(d.fPedestal), //Not used, remove?
// fSlope(d.fSlope), //Not used, remove?
fPinNoise(d.fPinNoise),
+ fTimeDelay(d.fTimeDelay),
fTimeResolution(d.fTimeResolution),
// fTimeThreshold(d.fTimeThreshold), //Not used, remove?
// fTimeSignalLength(d.fTimeSignalLength), //Not used, remove?
// fPedestal(0), //Not used, remove?
// fSlope(0.), //Not used, remove?
fPinNoise(0.),
+ fTimeDelay(0.),
fTimeResolution(0.),
// fTimeThreshold(0), //Not used, remove?
// fTimeSignalLength(0), //Not used, remove?
digit->SetIndexInList(i) ;
energy = sDigitizer->Calibrate(digit->GetAmplitude()) ;
digit->SetAmplitude(DigitizeEnergy(energy, digit->GetId()) ) ;
+ //Add delay to time
+ digit->SetTime(digit->GetTime()+fTimeDelay) ;
// printf("digit amplitude set at end: i %d, amp %f\n",i,digit->GetAmplitude());
}
if (fPinNoise < 0.0001 )
Warning("InitParameters", "No noise added\n") ;
fDigitThreshold = simParam->GetDigitThreshold(); //fPinNoise * 3; // 3 * sigma
- fTimeResolution = simParam->GetTimeResolution(); //0.6e-9 ; // 600 psc
+ fTimeResolution = simParam->GetTimeResolution(); //0.6e-9 ; // 600 pc
+ fTimeDelay = simParam->GetTimeDelay(); //600e-9 ; // 600 ns
// These defaults are normally not used.
// Values are read from calibration database instead
void Digitize(Int_t event); // Make Digits from SDigits stored in fSDigits
void Exec(Option_t *option); // Supervising method
- Int_t GetDigitThreshold() const { return fDigitThreshold;}
+ Int_t GetDigitThreshold() const { return fDigitThreshold;}
//Float_t GetPedestal() const { return fPedestal; }
- Float_t GetPinNoise() const { return fPinNoise;}
+ Float_t GetPinNoise() const { return fPinNoise;}
//Float_t GetSlope() const { return fSlope; }
Double_t GetTimeResolution() const { return fTimeResolution ; }
- Float_t GetECAchannel() const { return fADCchannelEC ; }
- Float_t GetECApedestal() const { return fADCpedestalEC ; }
- void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
- void SetDigitThreshold(Int_t EMCThreshold) {fDigitThreshold = EMCThreshold;}
- void SetPinNoise(Float_t PinNoise ) {fPinNoise = PinNoise;}
+ Double_t GetTimeDelay() const { return fTimeDelay ; }
+ Float_t GetECAchannel() const { return fADCchannelEC ; }
+ Float_t GetECApedestal() const { return fADCpedestalEC ; }
+ void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
+ void SetDigitThreshold(Int_t EMCThreshold) {fDigitThreshold = EMCThreshold;}
+ void SetPinNoise(Float_t PinNoise ) {fPinNoise = PinNoise;}
//General
Int_t GetDigitsInRun() const { return fDigitsInRun; }
TString * fInputFileNames ; //[fInput] List of file names to merge
TString * fEventNames ; //[fInput] List of event names to merge
- Int_t fDigitThreshold ; // Threshold for storing digits in EMC, ACD units
- Int_t fMeanPhotonElectron ; // number of photon electrons per GeV deposited energy
+ Int_t fDigitThreshold ; // Threshold for storing digits in EMC, ACD units
+ Int_t fMeanPhotonElectron ; // number of photon electrons per GeV deposited energy
//Float_t fPedestal ; // Calibration parameters //Not used, remove?
//Float_t fSlope ; // read from SDigitizer //Not used, remove?
- Float_t fPinNoise ; // Electronics noise in EMC
- Double_t fTimeResolution ; // Time resolution of FEE electronics
+ Float_t fPinNoise ; // Electronics noise in EMC
+ Double_t fTimeDelay; // Time delay to reproduce data delay
+ Double_t fTimeResolution ; // Time resolution of FEE electronics
//Float_t fTimeThreshold ; // Threshold to start timing for given crystall //Not used, remove?
//Float_t fTimeSignalLength ; // Length of the timing signal //Not used, remove?
Float_t fADCchannelEC ; // width of one ADC channel in EC section (GeV)
Float_t fADCpedestalEC ; // pedestal for one ADC channel
Int_t fNADCEC ; // number of channels in EC section 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
-
+ 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
+
AliEMCALCalibData * fCalibData; //Calibration data pointer
- ClassDef(AliEMCALDigitizer,8) // description
+ ClassDef(AliEMCALDigitizer,9) // description
};
fDigitThreshold(0),
fMeanPhotonElectron(0),
fPinNoise(0),
+fTimeDelay(0),
fTimeResolution(0),
//fTimeThreshold(0),
//fTimeSignalLength(0),
fMeanPhotonElectron = 4400; // electrons per GeV
fPinNoise = 0.012; // pin noise in GeV from analysis test beam data
fDigitThreshold = 3; // 3 ADC counts not anymore cut in energy: //fPinNoise * 3; // 3 * sigma
- fTimeResolution = 0.6e-9 ; // 600 psc
+ fTimeResolution = 0.6e-9 ; // 600 pc
+ fTimeDelay = 600e-9 ; // 600 nc
+
//fTimeSignalLength = 1.0e-9 ;
fNADCEC = (Int_t) TMath::Power(2,16) ; // number of channels in Tower ADC - 65536
//fTimeThreshold = 0.001*10000000 ; // Means 1 MeV in terms of SDigits amplitude ??
fDigitThreshold(0),
fMeanPhotonElectron(0),
fPinNoise(0),
+fTimeDelay(0),
fTimeResolution(0),
//fTimeThreshold(0),
//fTimeSignalLength(0),//Digitizer
printf("\t Electronics noise in EMC (fPinNoise) = %f\n", fPinNoise) ;
printf("\t Threshold in EMC (fDigitThreshold) = %d\n", fDigitThreshold) ;
printf("\t Time Resolution (fTimeResolution) = %g\n", fTimeResolution) ;
+ printf("\t Time Delay (fTimeDelay) = %g\n", fTimeDelay) ;
printf("\t Mean Photon-Electron (fMeanPhotonElectron) = %d\n", fMeanPhotonElectron) ;
printf("\t N channels in EC section ADC (fNADCEC) = %d\n", fNADCEC) ;
virtual void Print(Option_t * option="") const ;
//Parameters used in Digitizer
- Int_t GetDigitThreshold() const { return fDigitThreshold;}
- Float_t GetPinNoise() const { return fPinNoise;}
- Double_t GetTimeResolution() const { return fTimeResolution ; }
- Int_t GetNADCEC() const { return fNADCEC ; }
- Int_t GetMeanPhotonElectron() const { return fMeanPhotonElectron ; }
- void SetDigitThreshold(Int_t val) { fDigitThreshold = val ; }
- void SetPinNoise(Float_t val) { fPinNoise = val ; }
- void SetTimeResolution(Double_t val) { fTimeResolution = val ; }
- void SetNADCED(Int_t val) { fNADCEC = val ; }
- void SetMeanPhotonElectron(Int_t val){ fMeanPhotonElectron = val ; }
+ Int_t GetDigitThreshold() const { return fDigitThreshold;}
+ Float_t GetPinNoise() const { return fPinNoise;}
+ Double_t GetTimeDelay() const { return fTimeDelay ; }
+ Double_t GetTimeResolution() const { return fTimeResolution ; }
+ Int_t GetNADCEC() const { return fNADCEC ; }
+ Int_t GetMeanPhotonElectron() const { return fMeanPhotonElectron ; }
+ void SetDigitThreshold(Int_t val) { fDigitThreshold = val ; }
+ void SetPinNoise(Float_t val) { fPinNoise = val ; }
+ void SetTimeDelay(Double_t val) { fTimeDelay = val ; }
+ void SetTimeResolution(Double_t val) { fTimeResolution = val ; }
+ void SetNADCED(Int_t val) { fNADCEC = val ; }
+ void SetMeanPhotonElectron(Int_t val){ fMeanPhotonElectron = val ; }
//Parameters used in SDigitizer
Float_t GetA() const { return fA ; }
static AliEMCALSimParam * fgSimParam ; // pointer to the unique instance of the class
// Digitizer
- Int_t fDigitThreshold ; // Threshold for storing digits in EMC
- Int_t fMeanPhotonElectron ; // number of photon electrons per GeV deposited energy
- Float_t fPinNoise ; // Electronics noise in EMC
+ Int_t fDigitThreshold ; // Threshold for storing digits in EMC
+ Int_t fMeanPhotonElectron ; // number of photon electrons per GeV deposited energy
+ Float_t fPinNoise ; // Electronics noise in EMC
+ Double_t fTimeDelay; // Time delay to reproduce data delay
Double_t fTimeResolution ; // Time resolution of FEE electronics
//Float_t fTimeThreshold ; // Threshold to start timing for given crystall
//Float_t fTimeSignalLength ; // Length of the timing signal
- Int_t fNADCEC ; // number of channels in EC section ADC
+ Int_t fNADCEC ; // number of channels in EC section ADC
// SDigitizer
Float_t fA ; // Pedestal parameter
Float_t fB ; // Slope Digitizition parameters
Float_t fECPrimThreshold ; // To store primary if EC Shower Elos > threshold
- ClassDef(AliEMCALSimParam,2)
+ ClassDef(AliEMCALSimParam,3)
};
#endif
params->SetMinECut(0.45);
params->SetUnfold(kFALSE);
params->SetLocMaxCut(0.03);
- params->SetTimeCut(100e-9);//100 ns
- //Simulation
- //params->SetTimeMin(5e-9);//100 ns
- //params->SetTimeMax(50e-9);//100 ns
- //Real Data
- params->SetTimeMin(525e-9);//100 ns
- params->SetTimeMax(725e-9);//100 ns
+ params->SetTimeCut(250e-9);//250 ns
+ params->SetTimeMin(425e-9);//425 ns
+ params->SetTimeMax(825e-9);//825 ns
//Track matching
params->SetTrkCutX(6.0);
params->SetTau(2.35);
params->SetNoiseThreshold(3);
params->SetNPedSamples(5);
- params->SetRemoveBadChannels(kTRUE);
+ params->SetRemoveBadChannels(kFALSE);
params->SetFittingAlgorithm(AliEMCALRawUtils::kStandard);
params->SetFALTROUsage(kTRUE);
params->SetLEDFit(kFALSE);
AliEMCALRecParam* params = AliEMCALRecParam::GetDefaultParameters();
params->SetClusteringThreshold(0.1); // 100 MeV
params->SetMinECut(0.01); //10 MeV
- params->SetTimeCut(100e-9);//100 ns
- //Simulation
- //params->SetTimeMin(5e-9);//100 ns
- //params->SetTimeMax(50e-9);//100 ns
- //Real Data
- params->SetTimeMin(525e-9);//100 ns
- params->SetTimeMax(725e-9);//100 ns
+ params->SetTimeCut(250e-9);//250 ns
+ params->SetTimeMin(425e-9);//425 ns
+ params->SetTimeMax(825e-9);//825 ns
//PID parameters for pp implemented
// as a first step, all array elements are initialized to 0.0
params->SetTau(2.35);
params->SetNoiseThreshold(3);
params->SetNPedSamples(5);
- params->SetRemoveBadChannels(kTRUE);
+ params->SetRemoveBadChannels(kFALSE);
params->SetFittingAlgorithm(AliEMCALRawUtils::kStandard);
params->SetFALTROUsage(kTRUE);
params->SetLEDFit(kFALSE);
AliEMCALSimParam *simParam = new AliEMCALSimParam();
//Digits
// simParam->SetDigitThreshold(3) ;
-// simParam->SetPinNoise(0.012) ;
+// simParam->SetPinNoise(0.012) ;
+// simParam->SetTimeDelay(600e-9) ;
// simParam->SetTimeResolution(0.6e-9) ;
// simParam->SetNADCED( (Int_t) TMath::Power(2,16)) ;
// simParam->SetMeanPhotonElectron(4400);