fTriggerData(NULL),
fTimeSlewing(NULL),
fSaturationCorr(NULL),
+ fEqFactors(NULL),
fCollisionMode(0),
fBeamEnergy(0.),
fDigitsArray(0)
AliCDBEntry *entry6 = AliCDBManager::Instance()->Get("VZERO/Trigger/Data");
if (!entry6) AliFatal("VZERO trigger config data is not found in OCDB !");
fTriggerData = (AliVZEROTriggerData*)entry6->GetObject();
+
+ AliCDBEntry *entry7 = AliCDBManager::Instance()->Get("VZERO/Calib/EqualizationFactors");
+ if (!entry7) AliFatal("VZERO equalization factors are not found in OCDB !");
+ fEqFactors = (TH1F*)entry7->GetObject();
}
width[pmNumber] = digit->Width();
if (adc[pmNumber] > 0) {
- AliDebug(1,Form("PM = %d ADC = %f TDC %f (%f) Int %d (%d %d %d %d %d) %f %f %f %f %d %d",pmNumber, adc[pmNumber],
+ AliDebug(1,Form("PM = %d ADC = %.2f (%.2f) TDC %.2f (%.2f) Int %d (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d) %.2f %.2f %.2f %.2f %d %d",pmNumber, adc[pmNumber],
+ digit->ChargeADC(11)+digit->ChargeADC(10)+digit->ChargeADC(9)+digit->ChargeADC(8)+
+ digit->ChargeADC(7)+digit->ChargeADC(6)+digit->ChargeADC(5)+digit->ChargeADC(4)-
+ 4.*fCalibData->GetPedestal(pmNumber)-4.*fCalibData->GetPedestal(pmNumber+64),
digit->Time(),time[pmNumber],
integrator,
+ digit->ChargeADC(0),digit->ChargeADC(1),digit->ChargeADC(2),digit->ChargeADC(3),digit->ChargeADC(4),digit->ChargeADC(5),digit->ChargeADC(6),digit->ChargeADC(7),
digit->ChargeADC(8),digit->ChargeADC(9),digit->ChargeADC(10),
digit->ChargeADC(11),digit->ChargeADC(12),
+ digit->ChargeADC(13),digit->ChargeADC(14),digit->ChargeADC(15),digit->ChargeADC(16),digit->ChargeADC(17),digit->ChargeADC(18),digit->ChargeADC(19),digit->ChargeADC(20),
fCalibData->GetPedestal(pmNumber),fCalibData->GetSigma(pmNumber),
fCalibData->GetPedestal(pmNumber+64),fCalibData->GetSigma(pmNumber+64),
aBBflag[pmNumber],aBGflag[pmNumber]));
if (esd) {
AliDebug(1, Form("Writing VZERO data to ESD tree"));
esd->SetVZEROData(fESDVZERO);
+ const AliESDRun *esdRun = esd->GetESDRun();
+ if (esdRun) {
+ Float_t factors[64];
+ Float_t factorSum = 0;
+ for(Int_t i = 0; i < 64; ++i) {
+ factors[i] = fEqFactors->GetBinContent(i+1)*fCalibData->GetMIPperADC(i);
+ factorSum += factors[i];
+ }
+ for(Int_t i = 0; i < 64; ++i) factors[i] *= (64./factorSum);
+
+ esd->SetVZEROEqFactors(factors);
+ }
+ else
+ AliError("AliESDRun object is not available! Cannot write the equalization factors!");
}
if (esd) {