free arrays before of return in PropagateBack
[u/mrichter/AliRoot.git] / TOF / CreateIdealOnlineCalibPars.C
1 void CreateIdealOnlineCalibPars(){
2
3   // Create TOF Dummy (delay=0, pulser/noise/HW status ok) Online Calibration Object for reconstruction
4   // and write it on CDB
5   // Both old type objects (using TObjArrays) and new type objects (using AliTOFChannelOnlineArray/
6   // AliTOFChannelOnlineStatusArray are written
7
8   AliTOFcalib *tofcalib = new AliTOFcalib();
9   tofcalib->CreateCalArrays();
10   TObjArray *tofCalOnline = (TObjArray*) tofcalib->GetTOFCalArrayOnline(); 
11   TObjArray *tofCalOnlinePulser = (TObjArray*) tofcalib->GetTOFCalArrayOnlinePulser(); 
12   TObjArray *tofCalOnlineNoise = (TObjArray*) tofcalib->GetTOFCalArrayOnlineNoise(); 
13   TObjArray *tofCalOnlineHW = (TObjArray*) tofcalib->GetTOFCalArrayOnlineHW(); 
14   AliTOFChannelOnlineArray *delayArr = (AliTOFChannelOnlineArray*) tofcalib->GetTOFOnlineDelay();
15   AliTOFChannelOnlineStatusArray *status = (AliTOFChannelOnlineStatusArray*) tofcalib->GetTOFOnlineStatus();
16   // Write the dummy offline calibration object on CDB
17
18   AliCDBManager *man = AliCDBManager::Instance();
19   man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
20   Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
21   for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
22     AliTOFChannelOnline *calChannelOnline = (AliTOFChannelOnline*)tofCalOnline->At(ipad);
23     AliTOFChannelOnlineStatus *calChannelOnlinePulser = (AliTOFChannelOnlineStatus*)tofCalOnlinePulser->At(ipad);
24     AliTOFChannelOnlineStatus *calChannelOnlineNoise = (AliTOFChannelOnlineStatus*)tofCalOnlineNoise->At(ipad);
25     AliTOFChannelOnlineStatus *calChannelOnlineHW = (AliTOFChannelOnlineStatus*)tofCalOnlineHW->At(ipad);
26     Float_t delay = 0.;
27     delayArr->SetDelay(ipad,delay);
28     calChannelOnline->SetDelay(delay); 
29     calChannelOnlinePulser->SetStatus(AliTOFChannelOnlineStatus::kTOFPulserOk);
30     calChannelOnlineNoise->SetStatus(AliTOFChannelOnlineStatus::kTOFNoiseOk);
31     calChannelOnlineHW->SetStatus(AliTOFChannelOnlineStatus::kTOFHWOk);
32     status->SetHWStatus(ipad,AliTOFChannelOnlineStatusArray::kTOFHWOk);
33     status->SetPulserStatus(ipad,AliTOFChannelOnlineStatusArray::kTOFPulserOk);
34     status->SetNoiseStatus(ipad,AliTOFChannelOnlineStatusArray::kTOFNoiseOk);
35  } 
36   tofcalib->WriteParOnlineDelayOnCDB("TOF/Calib");  // new obj
37   tofcalib->WriteParOnlineStatusOnCDB("TOF/Calib"); // new obj
38   tofcalib->WriteParOnlineOnCDB("TOF/Calib");       // old obj
39   tofcalib->WriteParOnlinePulserOnCDB("TOF/Calib"); // old obj
40   tofcalib->WriteParOnlineNoiseOnCDB("TOF/Calib");  // old obj
41   tofcalib->WriteParOnlineHWOnCDB("TOF/Calib");     // old obj
42  return;
43 }