]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/CreateOfflineCalibPars.C
coding convention - RN17 violation: suppressed
[u/mrichter/AliRoot.git] / TOF / CreateOfflineCalibPars.C
1 void CreateOfflineCalibPars(){
2   // Create TOF Offline Calibration Object for reconstruction
3   // and write it on CDB
4   AliTOFcalib *tofcalib = new AliTOFcalib();
5   tofcalib->CreateCalArrays();
6   TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline(); 
7
8   TFile f("$ALICE_ROOT/TOF/data/spectrumScaled.root","READ");  
9
10   TH1F *hTimeToTFit=  (TH1F*)f.Get("hTimeToTScaled");
11   TF1  *fit=hTimeToTFit->GetFunction("pol5");
12   
13   // Slewing parameters (same for all channels)
14
15   Float_t delay=0.;
16   Float_t meanDelay=0.3;
17   Float_t sigmaDelay=0.08;
18   TRandom *rnd   = new TRandom(4357);
19
20   Float_t par[6] = {0.,0.,0.,0.,0.,0.};
21   for(Int_t i =0;i<6;i++){
22     par[i]=fit->GetParameter(i);
23     cout << " Slewing parameter " <<i<<" =" << par[i] << endl;
24   }
25
26
27   Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
28
29   for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
30     AliTOFChannelOffline *calChannelOffline = (AliTOFChannelOffline*)tofCalOffline->At(ipad);
31     delay = rnd->Gaus(meanDelay,sigmaDelay);
32     par[0]+=delay.; // adding time delay
33     calChannelOffline->SetSlewPar(par);
34   }
35   // Write the valid offline calibration object on CDB
36
37   AliCDBManager *man = AliCDBManager::Instance();
38   man->SetDefaultStorage("local://$ALICE");
39   tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid",0,0);
40   f.Close();
41   return;
42
43 }