1 void CreateCalibPars_Miscalibrated(){
2 // Create TOF Calibration Object for miscalibrated detector
4 AliTOFGeometry *geom = new AliTOFGeometryV5();
5 AliTOFcalib *tofcalib = new AliTOFcalib(geom);
6 AliTOFCal *tofCal= new AliTOFCal(geom);
9 // Input data for decalibration
11 TFile f("$ALICE_ROOT/TOF/data/spectrum.root","READ");
13 TH1F *hTimeToTFit= (TH1F*)f.Get("TimeToTFit");
14 TF1 *fit=hTimeToTFit->GetFunction("poly5");
16 // Slewing parameters (same for all channels)
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;
24 // Global time offset (randomly gen, gaussian with mean = 0.3, sig=0.08 ns)
27 Float_t meanDelay=0.3;
28 Float_t sigmaDelay=0.08;
32 TH1F *hToT= (TH1F*)f.Get("ToT");
34 // Fill the Sim calibration object
36 TRandom *rnd = new TRandom(4357);
37 for (Int_t ipad = 0 ; ipad<tofCal->NPads(); ipad++){
38 AliTOFChannel *calChannel = tofCal->GetChannel(ipad);
39 calChannel->SetSlewPar(par);
40 delay=rnd->Gaus(meanDelay,sigmaDelay);
41 // cout << " delay=" << delay << endl;
42 calChannel->SetDelay(delay);
44 tofcalib->WriteSimParOnCDB("TOF/Calib",0,0,tofCal,hToT);