#include "AliZDCPedestals.h"
#include "AliZDCEnCalib.h"
#include "AliZDCTowerCalib.h"
+#include "AliZDCMBCalib.h"
#include "AliZDCRecoParam.h"
#include "AliZDCRecoParampp.h"
#include "AliZDCRecoParamPbPb.h"
fPedData(GetPedestalData()),
fEnCalibData(GetEnergyCalibData()),
fTowCalibData(GetTowerCalibData()),
+ fMBCalibData(GetMBCalibData()),
fRecoMode(0),
fBeamEnergy(0.),
fNRun(0),
if(fPedData) delete fPedData;
if(fEnCalibData) delete fEnCalibData;
if(fTowCalibData) delete fTowCalibData;
+ if(fMBCalibData) delete fMBCalibData;
}
//____________________________________________________________________________
TString beamType = GetRunInfo()->GetBeamType();
// This is a temporary solution to allow reconstruction in tests without beam
- if(((beamType.CompareTo("UNKNOWN"))==0) && ((runType.CompareTo("PHYSICS")) == 0)){
+ if(((beamType.CompareTo("UNKNOWN"))==0) &&
+ ((runType.CompareTo("PHYSICS"))==0 || (runType.CompareTo("CALIBRATION_BC"))==0)){
fRecoMode=1;
}
/*else if((beamType.CompareTo("UNKNOWN"))==0){
}
fBeamEnergy = GetRunInfo()->GetBeamEnergy();
- if(fBeamEnergy==0.){
- AliWarning(" Beam energy value missing -> E_beam = 0");
- fBeamEnergy = 0.;
- }
+ if(fBeamEnergy==0.) AliWarning(" Beam energy value missing -> E_beam = 0");
if(fIsCalibrationMB==kFALSE)
printf("\n\n ***** ZDC reconstruction initialized for %s @ %1.0f GeV *****\n\n",beamType.Data(), fBeamEnergy);
}// ADC DATA
// ***************************** Reading Scaler
else if(rawData.GetADCModule()==kScalerGeo){
- if(rawData.IsScHeaderRead()==kTRUE && rawData.IsScEventGood()==kTRUE){
+ if(rawData.IsScalerWord()==kTRUE && rawData.IsScEventGood()==kTRUE){
isScalerOn = kTRUE;
scalerData[jsc] = rawData.GetTriggerCount();
+ // Ch. debug
+ //printf(" Reconstructed VME Scaler: %d %d ",jsc,scalerData[jsc]);
+ //
jsc++;
}
}// VME SCALER DATA
Float_t calibEne[4];
// **** Energy calibration coefficient set to 1
// **** (no trivial way to calibrate in p-p runs)
- for(Int_t ij=0; ij<4; ij++) calibEne[ij] = fEnCalibData->GetEnCalib(ij);
+ for(Int_t ij=0; ij<6; ij++) calibEne[ij] = fEnCalibData->GetEnCalib(ij);
// ****** Equalization of detector responses
Float_t equalTowZN1[10], equalTowZN2[10], equalTowZP1[10], equalTowZP2[10];
if(fIsCalibrationMB == kFALSE){
// ****** Reconstruction parameters ------------------
- // Ch. debug
- //fRecoParam->Print("");
- //
-
if (!fRecoParam) fRecoParam = const_cast<AliZDCRecoParam*>(GetRecoParam());
- TH2F *hZDCvsZEM = fRecoParam->GethZDCvsZEM();
- TH2F *hZDCCvsZEM = fRecoParam->GethZDCCvsZEM();
- TH2F *hZDCAvsZEM = fRecoParam->GethZDCAvsZEM();
+ TH2F *hZDCvsZEM = fMBCalibData->GethZDCvsZEM();
+ TH2F *hZDCCvsZEM = fMBCalibData->GethZDCCvsZEM();
+ TH2F *hZDCAvsZEM = fMBCalibData->GethZDCAvsZEM();
+ //
TH1D *hNpartDist = fRecoParam->GethNpartDist();
TH1D *hbDist = fRecoParam->GethbDist();
Float_t ClkCenter = fRecoParam->GetClkCenter();
clustersTree->Fill();
}
-//_____________________________________________________________________________
-void AliZDCReconstructor::BuildRecoParam(Float_t ZDCC, Float_t ZDCA, Float_t ZEM) const
-{
- // Calculate RecoParam object for Pb-Pb data
- (fRecoParam->GethZDCvsZEM())->Fill(ZDCC+ZDCA, ZEM);
- (fRecoParam->GethZDCCvsZEM())->Fill(ZDCC, ZEM);
- (fRecoParam->GethZDCAvsZEM())->Fill(ZDCA, ZEM);
-
-}
//_____________________________________________________________________________
void AliZDCReconstructor::FillZDCintoESD(TTree *clustersTree, AliESDEvent* esd) const
return calibdata;
}
+//_____________________________________________________________________________
+AliZDCMBCalib* AliZDCReconstructor::GetMBCalibData() const
+{
+
+ // Getting energy and equalization calibration object for ZDC set
+
+ AliCDBEntry *entry = AliCDBManager::Instance()->Get("ZDC/Calib/MBCalib");
+ if(!entry) AliFatal("No calibration data loaded!");
+ entry->SetOwner(kFALSE);
+
+ AliZDCMBCalib *calibdata = dynamic_cast<AliZDCMBCalib*> (entry->GetObject());
+ if(!calibdata) AliFatal("Wrong calibration object in calibration file!");
+
+ return calibdata;
+}
+
//_____________________________________________________________________________
AliZDCRecoParampp* AliZDCReconstructor::GetppRecoParamFromOCDB() const
{