#include "AliITSRawClusterSSD.h"
#include "AliITSRecPoint.h"
#include "AliITSCalibrationSDD.h"
+#include "AliITSMapSDD.h"
#include "AliITSCalibrationSSD.h"
#include "AliITSNoiseSSD.h"
#include "AliITSGainSSD.h"
fSegmentation = 0;
}
if(fCalibration){
- AliITSresponse* rspd = ((AliITSCalibration*)fCalibration->At(GetITSgeom()->GetStartSPD()))->GetResponse();
- AliITSresponse* rsdd = ((AliITSCalibration*)fCalibration->At(GetITSgeom()->GetStartSDD()))->GetResponse();
- AliITSresponse* rssd = ((AliITSCalibration*)fCalibration->At(GetITSgeom()->GetStartSSD()))->GetResponse();
- if(rspd) delete rspd;
- if(rsdd) delete rsdd;
- if(rssd) delete rssd;
- fCalibration->Delete();
- delete fCalibration;
- fCalibration = 0;
+ if(!(AliCDBManager::Instance()->GetCacheFlag())) {
+ AliITSresponse* rspd = ((AliITSCalibration*)fCalibration->At(GetITSgeom()->GetStartSPD()))->GetResponse();
+ AliITSresponse* rsdd = ((AliITSCalibration*)fCalibration->At(GetITSgeom()->GetStartSDD()))->GetResponse();
+ AliITSresponse* rssd = ((AliITSCalibration*)fCalibration->At(GetITSgeom()->GetStartSSD()))->GetResponse();
+ if(rspd) delete rspd;
+ if(rsdd) delete rsdd;
+ if(rssd) delete rssd;
+ fCalibration->Delete();
+ delete fCalibration;
+ fCalibration = 0;
+ }
}
if(fPreProcess) delete fPreProcess;
if(fPostProcess) delete fPostProcess;
}
if(dettype==1){
AliITSCalibrationSDD* res=(AliITSCalibrationSDD*) GetCalibrationModel(GetITSgeom()->GetStartSDD());
- seg = new AliITSsegmentationSDD(GetITSgeom(),res);
+ seg = new AliITSsegmentationSDD(GetITSgeom());
SetSegmentationModel(dettype,seg);
const char *kopt = ((AliITSresponseSDD*)res->GetResponse())->ZeroSuppOption();
if((!strstr(kopt,"2D"))&&(!strstr(kopt,"1D"))) SetDigitClassName(dettype,"AliITSdigit");
fCalibration->Clear();
}
- AliCDBEntry *entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSPD");
+ AliCDBEntry *entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDDead");
AliCDBEntry *entrySDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD");
// AliCDBEntry *entrySSD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSSD");
AliCDBEntry *entry2SPD = AliCDBManager::Instance()->Get("ITS/Calib/RespSPD");
AliCDBEntry *entry2SDD = AliCDBManager::Instance()->Get("ITS/Calib/RespSDD");
AliCDBEntry *entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD");
+ AliCDBEntry *mapASDD = AliCDBManager::Instance()->Get("ITS/Calib/MapsAnodeSDD");
+ AliCDBEntry *mapTSDD = AliCDBManager::Instance()->Get("ITS/Calib/MapsTimeSDD");
if(!entrySPD || !entrySDD || !entryNoiseSSD || !entryGainSSD || !entryBadChannelsSSD ||
- !entry2SPD || !entry2SDD || !entry2SSD){
+ !entry2SPD || !entry2SDD || !entry2SSD || !mapASDD || !mapTSDD){
AliFatal("Calibration object retrieval failed! ");
return kFALSE;
}
if(!cacheStatus)entry2SDD->SetObject(NULL);
entry2SDD->SetOwner(kTRUE);
+ TObjArray *mapAn = (TObjArray *)mapASDD->GetObject();
+ if(!cacheStatus)mapASDD->SetObject(NULL);
+ mapASDD->SetOwner(kTRUE);
+
+ TObjArray *mapT = (TObjArray *)mapTSDD->GetObject();
+ if(!cacheStatus)mapTSDD->SetObject(NULL);
+ mapTSDD->SetOwner(kTRUE);
+
TObjArray *noiseSSD = (TObjArray *)entryNoiseSSD->GetObject();
if(!cacheStatus)entryNoiseSSD->SetObject(NULL);
entryNoiseSSD->SetOwner(kTRUE);
delete entry2SPD;
delete entry2SDD;
delete entry2SSD;
+ delete mapASDD;
+ delete mapTSDD;
}
if ((!pSPD)||(!pSDD)||(!pSSD) || (!calSPD) || (!calSDD)
- || (!noiseSSD)|| (!gainSSD)|| (!badchannelsSSD)) {
+ || (!mapAn) || (!mapT) || (!noiseSSD)|| (!gainSSD)|| (!badchannelsSSD)) {
AliWarning("Can not get calibration from calibration database !");
return kFALSE;
}
cal = (AliITSCalibration*) calSPD->At(i);
cal->SetResponse((AliITSresponse*)pSPD);
SetCalibrationModel(i, cal);
- }
+ }
+ Int_t nn1=0;
+ Int_t nn2=0;
for (Int_t i=0; i<fNMod[1]; i++) {
cal = (AliITSCalibration*) calSDD->At(i);
cal->SetResponse((AliITSresponse*)pSDD);
+ AliITSMapSDD* m1 = (AliITSMapSDD*)mapAn->At(nn1);nn1++;
+ AliITSMapSDD* m2 = (AliITSMapSDD*)mapAn->At(nn1);nn1++;
+ AliITSMapSDD* m3 = (AliITSMapSDD*)mapT->At(nn2);nn2++;
+ AliITSMapSDD* m4 = (AliITSMapSDD*)mapT->At(nn2);nn2++;
+ cal->SetMapA(0,m1);
+ cal->SetMapA(1,m2);
+ cal->SetMapT(0,m3);
+ cal->SetMapT(1,m4);
Int_t iMod = i + fNMod[0];
SetCalibrationModel(iMod, cal);
- }
+ }
for (Int_t i=0; i<fNMod[2]; i++) {
AliITSCalibrationSSD *calibSSD = new AliITSCalibrationSSD();