New Macro for Miscalibrated digits (ToT spectrum is scaled by 10 ns)
[u/mrichter/AliRoot.git] / TOF / CreateCalibPars_Miscalibrated_Scaled.C
1 void CreateCalibPars_Miscalibrated_Scaled(){
2   // Create TOF Calibration Object for miscalibrated detector
3   // and write it on CDB
4   AliTOFGeometry *geom = new AliTOFGeometryV5(); 
5   AliTOFcalib *tofcalib = new AliTOFcalib(geom);
6   AliTOFCal *tofCal= new AliTOFCal(geom);
7   tofCal->CreateArray();
8
9   // Input data for decalibration
10
11   TFile f("$ALICE_ROOT/TOF/data/spectrumScaled.root","READ");  
12
13   TH1F *hTimeToTFit=  (TH1F*)f.Get("hTimeToTScaled");
14   TF1  *fit=hTimeToTFit->GetFunction("pol5");
15   
16   // Slewing parameters (same for all channels)
17
18   Float_t par[6] = {0.,0.,0.,0.,0.,0.};
19   for(Int_t i =0;i<6;i++){
20     par[i]=fit->GetParameter(i);
21     cout << " Slewing parameters=" << par[i] << endl;
22   }
23
24   // Global time offset 3 ns
25   Float_t delay=3.;
26
27   // ToT spectrum 
28   TH1F *hToT=  (TH1F*)f.Get("hToTScaled");
29
30   // Fill the Sim calibration object
31
32   //  TRandom *rnd   = new TRandom(4357);
33   for (Int_t ipad = 0 ; ipad<tofCal->NPads(); ipad++){
34     AliTOFChannel *calChannel = tofCal->GetChannel(ipad);
35     calChannel->SetSlewPar(par);
36     calChannel->SetDelay(delay);
37   }
38   tofcalib->WriteSimParOnCDB("TOF/Calib",0,0,tofCal,hToT);
39   f.Close();
40 }
41
42