1 void MakeCalibrationSSD(Int_t firstRun=0,Int_t lastRun=9999999 ){
3 if(!AliCDBManager::Instance()->IsDefaultStorageSet()) {
4 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/");
7 AliCDBMetaData *md1= new AliCDBMetaData(); // metaData describing the object
8 md1->SetObjectClassName("AliITSCalibration");
9 md1->SetResponsible("Enrico Fragiacomo");
10 md1->SetBeamPeriod(0);
11 md1->SetAliRootVersion("head 23/08/07"); //root version
13 AliCDBId idNoiseSSD("ITS/Calib/NoiseSSD",firstRun, lastRun);
14 AliCDBId idGainSSD("ITS/Calib/GainSSD",firstRun, lastRun);
15 AliCDBId idBadChannelsSSD("ITS/Calib/BadChannelsSSD",firstRun, lastRun);
17 TObjArray noiseSSD(1698);
18 TObjArray gainSSD(1698);
19 TObjArray badchannelsSSD(1698);
21 noiseSSD.SetOwner(kFALSE);
22 gainSSD.SetOwner(kFALSE);
23 badchannelsSSD.SetOwner(kFALSE);
31 // loop over SSD modules
32 for(Int_t i=0;i<1698;i++){
34 AliITSNoiseSSD* noise = new AliITSNoiseSSD();
35 AliITSGainSSD* gain = new AliITSGainSSD();
36 AliITSBadChannelsSSD* badchannels = new AliITSBadChannelsSSD();
38 // 768 strips on P- and N-side
39 noise->SetNNoiseP(768);
40 noise->SetNNoiseN(768);
43 badchannels->SetNBadPChannelsList(10);
44 badchannels->SetNBadNChannelsList(10);
46 // take a reasonable averaged value for the noise on P- and N-side strips
47 for(Int_t j=0; j<768; j++) {
48 noise->AddNoiseP(j,2.);
50 noise->AddNoiseN(j,4.);
54 // 10 random strips per module tagged as "bad"
55 for(Int_t j=0; j<10; j++) {
56 badchannels->AddBadPChannel(j,gRandom->Uniform(0,767));
57 badchannels->AddBadNChannel(j,gRandom->Uniform(0,767));
62 badchannelsSSD.Add(badchannels);
66 AliCDBManager::Instance()->GetDefaultStorage()->Put(&noiseSSD, idNoiseSSD, md1);
67 AliCDBManager::Instance()->GetDefaultStorage()->Put(&gainSSD, idGainSSD, md1);
68 AliCDBManager::Instance()->GetDefaultStorage()->Put(&badchannelsSSD, idBadChannelsSSD, md1);