]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/CreateOfflineCalibPars.C
New Run Range validity
[u/mrichter/AliRoot.git] / TOF / CreateOfflineCalibPars.C
CommitLineData
096b3668 1void 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");
bbf4b28d 39 tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid");
096b3668 40 f.Close();
41 return;
42
43}