X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ZDC%2FAliZDCReconstructor.cxx;h=2e7efe34376ef9d7935858ce556558ea1d4bef50;hb=d631e5e72d8149fa9f221862675131332ff0e886;hp=3cc68e88feeda38ee40d350e9c9527ec35897f9d;hpb=c2bb665a944e6389f7f8f7348ad456544b894c1f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDCReconstructor.cxx b/ZDC/AliZDCReconstructor.cxx index 3cc68e88fee..2e7efe34376 100644 --- a/ZDC/AliZDCReconstructor.cxx +++ b/ZDC/AliZDCReconstructor.cxx @@ -42,6 +42,7 @@ #include "AliZDCPedestals.h" #include "AliZDCEnCalib.h" #include "AliZDCTowerCalib.h" +#include "AliZDCMBCalib.h" #include "AliZDCRecoParam.h" #include "AliZDCRecoParampp.h" #include "AliZDCRecoParamPbPb.h" @@ -56,6 +57,7 @@ AliZDCReconstructor:: AliZDCReconstructor() : fPedData(GetPedestalData()), fEnCalibData(GetEnergyCalibData()), fTowCalibData(GetTowerCalibData()), + fMBCalibData(GetMBCalibData()), fRecoMode(0), fBeamEnergy(0.), fNRun(0), @@ -75,6 +77,7 @@ AliZDCReconstructor::~AliZDCReconstructor() if(fPedData) delete fPedData; if(fEnCalibData) delete fEnCalibData; if(fTowCalibData) delete fTowCalibData; + if(fMBCalibData) delete fMBCalibData; } //____________________________________________________________________________ @@ -90,7 +93,8 @@ void AliZDCReconstructor::Init() 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){ @@ -107,10 +111,7 @@ void AliZDCReconstructor::Init() } 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); @@ -477,9 +478,12 @@ void AliZDCReconstructor::Reconstruct(AliRawReader* rawReader, TTree* clustersTr }// 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 @@ -647,7 +651,7 @@ void AliZDCReconstructor::ReconstructEventpp(TTree *clustersTree, Float_t* corrA 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]; @@ -914,15 +918,12 @@ void AliZDCReconstructor::ReconstructEventPbPb(TTree *clustersTree, if(fIsCalibrationMB == kFALSE){ // ****** Reconstruction parameters ------------------ - // Ch. debug - //fRecoParam->Print(""); - // - if (!fRecoParam) fRecoParam = const_cast(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(); @@ -1155,15 +1156,6 @@ void AliZDCReconstructor::ReconstructEventPbPb(TTree *clustersTree, 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 @@ -1296,6 +1288,22 @@ AliZDCTowerCalib* AliZDCReconstructor::GetTowerCalibData() 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 (entry->GetObject()); + if(!calibdata) AliFatal("Wrong calibration object in calibration file!"); + + return calibdata; +} + //_____________________________________________________________________________ AliZDCRecoParampp* AliZDCReconstructor::GetppRecoParamFromOCDB() const {