ROOT logo
/*  
  Example macro to build AliTPCClusterParam
  postprocessing the output of the calibration using tracks
  In the future this macro will be part of the Preprocesor
  ..

*/
void StoreObject(AliTPCClusterParam *param);

void MakeClusterParam(const char *fnresolc="Output.root", const char *fnresolg="Output.root"){
  gSystem->Load("libTPCcalib.so");
  TFile fresolc(fnresolc);
  TFile fresolg(fnresolg);
  AliTPCcalibTracks *calibtracks = (AliTPCcalibTracks*)fresolc.Get("calibTracks");
  AliTPCcalibTracksGain *calibtracksGain = (AliTPCcalibTracksGain*)fresolg.Get("calibTracksGain");

  AliTPCClusterParam clParam;
  //
  // Make a resolution tree
  //
  calibtracks->MakeResPlotsQTree(200,"plots");  
  TFile fres("plots/resol.root");
  TTree *treeres = (TTree*)fres.Get("Resol");
  // Fit the resolution parameterization
  clParam.FitResol(treeres);
  clParam.FitRMS(treeres);
  clParam.SetInstance(&clParam);
  TF1 f1z_z("f1z_z","AliTPCClusterParam::SGetError0Par(1,0,x,0)",0,250);
  //
  // angular effect calibration - usable only with the 
  // cosmic tracks 
  //
  calibtracksGain->UpdateClusterParam(&clParam);
  //
  //
  //
  TFile fclparam("TPCClusterParam.root","recreate");
  clParam->Write("Param");
  fclparam.Close();
  StoreObject(clParam);
  AliTPCClusterParam::SetInstance(&clParam);
}
 
void StoreObject(AliTPCClusterParam *clParam)
{ 
  //
  //
  //
  Int_t gkDummyRun = 0;
  char *gCDBpath   = "local://$ALICE_ROOT/OCDB";
  AliCDBMetaData *md1= new AliCDBMetaData(); 
  AliCDBId id1("TPC/Calib/ClusterParam", gkDummyRun, gkDummyRun); 
  AliCDBStorage* gStorLoc = 0;
  AliCDBManager *man = AliCDBManager::Instance();
  gStorLoc = man->GetStorage(gCDBpath);

  md1->SetObjectClassName("AliTPCClusterParam");
  md1->SetResponsible("Marian Ivanov");
  md1->SetBeamPeriod(1);
  md1->SetAliRootVersion("v5-08-Release"); //root version
  md1->SetComment("Calibration data using the MC cosmic");
  gStorLoc->Put(&clParam, id1, md1); 
}


 MakeClusterParam.C:1
 MakeClusterParam.C:2
 MakeClusterParam.C:3
 MakeClusterParam.C:4
 MakeClusterParam.C:5
 MakeClusterParam.C:6
 MakeClusterParam.C:7
 MakeClusterParam.C:8
 MakeClusterParam.C:9
 MakeClusterParam.C:10
 MakeClusterParam.C:11
 MakeClusterParam.C:12
 MakeClusterParam.C:13
 MakeClusterParam.C:14
 MakeClusterParam.C:15
 MakeClusterParam.C:16
 MakeClusterParam.C:17
 MakeClusterParam.C:18
 MakeClusterParam.C:19
 MakeClusterParam.C:20
 MakeClusterParam.C:21
 MakeClusterParam.C:22
 MakeClusterParam.C:23
 MakeClusterParam.C:24
 MakeClusterParam.C:25
 MakeClusterParam.C:26
 MakeClusterParam.C:27
 MakeClusterParam.C:28
 MakeClusterParam.C:29
 MakeClusterParam.C:30
 MakeClusterParam.C:31
 MakeClusterParam.C:32
 MakeClusterParam.C:33
 MakeClusterParam.C:34
 MakeClusterParam.C:35
 MakeClusterParam.C:36
 MakeClusterParam.C:37
 MakeClusterParam.C:38
 MakeClusterParam.C:39
 MakeClusterParam.C:40
 MakeClusterParam.C:41
 MakeClusterParam.C:42
 MakeClusterParam.C:43
 MakeClusterParam.C:44
 MakeClusterParam.C:45
 MakeClusterParam.C:46
 MakeClusterParam.C:47
 MakeClusterParam.C:48
 MakeClusterParam.C:49
 MakeClusterParam.C:50
 MakeClusterParam.C:51
 MakeClusterParam.C:52
 MakeClusterParam.C:53
 MakeClusterParam.C:54
 MakeClusterParam.C:55
 MakeClusterParam.C:56
 MakeClusterParam.C:57
 MakeClusterParam.C:58
 MakeClusterParam.C:59
 MakeClusterParam.C:60
 MakeClusterParam.C:61
 MakeClusterParam.C:62
 MakeClusterParam.C:63
 MakeClusterParam.C:64
 MakeClusterParam.C:65
 MakeClusterParam.C:66