#include "AliITSRawClusterSDD.h"
#include "AliITSRawClusterSSD.h"
#include "AliITSRecPoint.h"
+#include "AliITSReconstructor.h"
+#include "AliITSRecoParam.h"
#include "AliITSCalibrationSDD.h"
#include "AliITSMapSDD.h"
#include "AliITSDriftSpeedArraySDD.h"
seg = new AliITSsegmentationSDD();
SetSegmentationModel(dettype,seg);
const char *kopt = ((AliITSresponseSDD*)res->GetResponse())->ZeroSuppOption();
- if((!strstr(kopt,"2D"))&&(!strstr(kopt,"1D"))) SetDigitClassName(dettype,"AliITSdigit");
+ if(!strstr(kopt,"ZS")) SetDigitClassName(dettype,"AliITSdigit");
else SetDigitClassName(dettype,"AliITSdigitSDD");
SetClusterClassName(dettype,"AliITSRawClusterSDD");
fCalibration->Clear();
}
- AliCDBEntry *entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDDead");
+ // dead pixel are not used for local reconstruction
+ AliCDBEntry *entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDNoisy");
AliCDBEntry *entrySDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD");
// AliCDBEntry *entrySSD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSSD");
AliCDBEntry *entryPedestalSSD = AliCDBManager::Instance()->Get("ITS/Calib/PedestalSSD");
AliCDBEntry *entryGainSSD = AliCDBManager::Instance()->Get("ITS/Calib/GainSSD");
AliCDBEntry *entryBadChannelsSSD = AliCDBManager::Instance()->Get("ITS/Calib/BadChannelsSSD");
-
+ // Entry for the AliITSRecoParam object
+ AliCDBEntry *entryRP = AliCDBManager::Instance()->Get("ITS/Calib/RecoParam/");
AliCDBEntry *entry2SPD = AliCDBManager::Instance()->Get("ITS/Calib/RespSPD");
AliCDBEntry *entry2SDD = AliCDBManager::Instance()->Get("ITS/Calib/RespSDD");
AliCDBEntry *entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD");
if(!entrySPD || !entrySDD || !entryNoiseSSD || !entryGainSSD ||
!entryPedestalSSD || !entryBadChannelsSSD ||
- !entry2SPD || !entry2SDD || !entry2SSD || !drSpSDD || !ddlMapSDD || !mapASDD || !mapTSDD){
+ !entry2SPD || !entry2SDD || !entry2SSD || !drSpSDD || !ddlMapSDD || !mapASDD || !mapTSDD || !entryRP){
AliFatal("Calibration object retrieval failed! ");
return kFALSE;
}
if(!cacheStatus)entry2SSD->SetObject(NULL);
entry2SSD->SetOwner(kTRUE);
+ AliITSRecoParam *rp = (AliITSRecoParam*)entryRP->GetObject();
+ if(!cacheStatus)entryRP->SetObject(NULL);
+ entryRP->SetOwner(kTRUE);
+ if(!AliITSReconstructor::GetRecoParam()){
+ AliITSReconstructor::SetRecoParam(rp);
+ }
+ else {
+ AliWarning("AliITSRecoPAram object has been already set in AliITSReconstructor. The OCDB instance will not be used\n");
+ }
+
// DB entries are deleted. In this way metadeta objects are deleted as well
if(!cacheStatus){
delete entrySPD;
for(Int_t icar=0; icar<AliITSDDLModuleMapSDD::GetNModPerDDL();icar++){
Int_t iMod=fDDLMapSDD->GetModuleNumber(iddl,icar);
if(iMod==-1) continue;
- Int_t i=iMod-fNMod[0];
+ Int_t i=iMod - fgkDefaultNModulesSPD;
cal = (AliITSCalibration*) calSDD->At(i);
cal->SetResponse((AliITSresponse*)pSDD);
Int_t i0=2*i;
AliITSBadChannelsSSD *bad = (AliITSBadChannelsSSD*) (badchannelsSSD->At(i));
calibSSD->SetBadChannels(bad);
- Int_t iMod = i + fNMod[0] + fNMod[1];
+ Int_t iMod = i + fgkDefaultNModulesSPD + fgkDefaultNModulesSDD;
SetCalibrationModel(iMod, calibSSD);
}