]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/CreateCalibPars_Miscalibrated_Scaled.C
support for LHC10de + some code reshuffling
[u/mrichter/AliRoot.git] / TOF / CreateCalibPars_Miscalibrated_Scaled.C
index 827fc71960c8a3baa6aff2898dc5def9f2a747a2..b843dbed7245c42d951f992238cc28dfaf2040e2 100644 (file)
@@ -1,11 +1,9 @@
 void CreateCalibPars_Miscalibrated_Scaled(){
   // Create TOF Calibration Object for miscalibrated detector
   // and write it on CDB
-  AliTOFGeometry *geom = new AliTOFGeometryV5(); 
-  AliTOFcalib *tofcalib = new AliTOFcalib(geom);
-  AliTOFCal *tofCal= new AliTOFCal(geom);
-  tofCal->CreateArray();
-
+  AliTOFcalib *tofcalib = new AliTOFcalib();
+  tofcalib->CreateCalArrays();
+  TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline(); 
   // Input data for decalibration
 
   TFile f("$ALICE_ROOT/TOF/data/spectrumScaled.root","READ");  
@@ -16,26 +14,37 @@ void CreateCalibPars_Miscalibrated_Scaled(){
   // 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);
-    cout << " Slewing parameters=" << par[i] << endl;
+    kpar=par[0];
+    cout << " Slewing parameter " <<i<<" =" << par[i] << endl;
   }
 
-  // Global time offset 3 ns
-  Float_t delay=3.;
+  // 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
 
-  //  TRandom *rnd   = new TRandom(4357);
-  for (Int_t ipad = 0 ; ipad<tofCal->NPads(); ipad++){
-    AliTOFChannel *calChannel = tofCal->GetChannel(ipad);
-    calChannel->SetSlewPar(par);
-    calChannel->SetDelay(delay);
+  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->WriteSimParOnCDB("TOF/Calib",0,0,tofCal,hToT);
+  tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity());
+  tofcalib->WriteSimHistoOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),hToT);
   f.Close();
 }