void CreateCalibPars_Miscalibrated_Scaled(){
// Create TOF Calibration Object for miscalibrated detector
// and write it on CDB
AliTOFcalib *tofcalib = new AliTOFcalib();
tofcalib->CreateCalArrays();
TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline();
// Input data for decalibration
TFile f("$ALICE_ROOT/TOF/data/spectrumScaled.root","READ");
TH1F *hTimeToTFit= (TH1F*)f.Get("hTimeToTScaled");
TF1 *fit=hTimeToTFit->GetFunction("pol5");
// Slewing parameters (same for all channels)
Float_t par[6] = {0.,0.,0.,0.,0.,0.};
Float_t kpar=0;
for(Int_t i =0;i<6;i++){
par[i]=fit->GetParameter(i);
kpar=par[0];
cout << " Slewing parameter " <<i<<" =" << par[i] << endl;
}
// Global time offset (randomly gen, gaussian with mean = 0.3, sig=0.08 ns)
Float_t delay=0.;
Float_t meanDelay=0.3;
Float_t sigmaDelay=0.08;
// ToT spectrum
TH1F *hToT= (TH1F*)f.Get("hToTScaled");
// Fill the Sim calibration object
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
TRandom *rnd = new TRandom(4357);
Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
AliTOFChannelOffline *calChannelOffline = (AliTOFChannelOffline*)tofCalOffline->At(ipad);
delay=rnd->Gaus(meanDelay,sigmaDelay);
par[0]=kpar+delay;
calChannelOffline->SetSlewPar(par);
}
tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity());
tofcalib->WriteSimHistoOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),hToT);
f.Close();
}
CreateCalibPars_Miscalibrated_Scaled.C:1 CreateCalibPars_Miscalibrated_Scaled.C:2 CreateCalibPars_Miscalibrated_Scaled.C:3 CreateCalibPars_Miscalibrated_Scaled.C:4 CreateCalibPars_Miscalibrated_Scaled.C:5 CreateCalibPars_Miscalibrated_Scaled.C:6 CreateCalibPars_Miscalibrated_Scaled.C:7 CreateCalibPars_Miscalibrated_Scaled.C:8 CreateCalibPars_Miscalibrated_Scaled.C:9 CreateCalibPars_Miscalibrated_Scaled.C:10 CreateCalibPars_Miscalibrated_Scaled.C:11 CreateCalibPars_Miscalibrated_Scaled.C:12 CreateCalibPars_Miscalibrated_Scaled.C:13 CreateCalibPars_Miscalibrated_Scaled.C:14 CreateCalibPars_Miscalibrated_Scaled.C:15 CreateCalibPars_Miscalibrated_Scaled.C:16 CreateCalibPars_Miscalibrated_Scaled.C:17 CreateCalibPars_Miscalibrated_Scaled.C:18 CreateCalibPars_Miscalibrated_Scaled.C:19 CreateCalibPars_Miscalibrated_Scaled.C:20 CreateCalibPars_Miscalibrated_Scaled.C:21 CreateCalibPars_Miscalibrated_Scaled.C:22 CreateCalibPars_Miscalibrated_Scaled.C:23 CreateCalibPars_Miscalibrated_Scaled.C:24 CreateCalibPars_Miscalibrated_Scaled.C:25 CreateCalibPars_Miscalibrated_Scaled.C:26 CreateCalibPars_Miscalibrated_Scaled.C:27 CreateCalibPars_Miscalibrated_Scaled.C:28 CreateCalibPars_Miscalibrated_Scaled.C:29 CreateCalibPars_Miscalibrated_Scaled.C:30 CreateCalibPars_Miscalibrated_Scaled.C:31 CreateCalibPars_Miscalibrated_Scaled.C:32 CreateCalibPars_Miscalibrated_Scaled.C:33 CreateCalibPars_Miscalibrated_Scaled.C:34 CreateCalibPars_Miscalibrated_Scaled.C:35 CreateCalibPars_Miscalibrated_Scaled.C:36 CreateCalibPars_Miscalibrated_Scaled.C:37 CreateCalibPars_Miscalibrated_Scaled.C:38 CreateCalibPars_Miscalibrated_Scaled.C:39 CreateCalibPars_Miscalibrated_Scaled.C:40 CreateCalibPars_Miscalibrated_Scaled.C:41 CreateCalibPars_Miscalibrated_Scaled.C:42 CreateCalibPars_Miscalibrated_Scaled.C:43 CreateCalibPars_Miscalibrated_Scaled.C:44 CreateCalibPars_Miscalibrated_Scaled.C:45 CreateCalibPars_Miscalibrated_Scaled.C:46 CreateCalibPars_Miscalibrated_Scaled.C:47 CreateCalibPars_Miscalibrated_Scaled.C:48 CreateCalibPars_Miscalibrated_Scaled.C:49 CreateCalibPars_Miscalibrated_Scaled.C:50 CreateCalibPars_Miscalibrated_Scaled.C:51 CreateCalibPars_Miscalibrated_Scaled.C:52