ROOT logo
/* CreateIonTailObject
 * Generic script in order to create a IonTail object
 *
 * Usage : aliroot -b -q CreateIonTailObject.C
 *
 *
 *   Read object :
 *
 *   TFile* f = TFile::Open("/tmp/ocdb/TPC/Calib/IonTail/Run0_999999999_v0_s0.root")
 *   AliCDBEntry* entry = static_cast<AliCDBEntry*>(f.Get("AliCDBEntry"))
 *   TObjArray * arr = entry->GetObject();
 *   arr->ls()
 *
 */
void CreateIonTailObject( const Char_t* objectPath = "/u/marsland/MAF/OCDBimp/AllResponseFunctions.root",
			  const Int_t minRun = 0, 
			  const Int_t maxRun = AliCDBRunRange::Infinity(),
			  const Char_t* newStoragePath = "local:///tmp/ocdb", 
			  const Char_t* author = "Mesut Arslandok", 
			  const Char_t *comment = "Create new IonTail object",
			  const Char_t* alirootVersion = "05-02-Rev-35") {
  
  // -- Get Input 
  // -------------------------------------------------------------------
  TFile* inFile = TFile::Open(objectPath);
  if (!inFile) {
    printf("File %s could not be found!\n", objectPath);
    return -1;
  }

  TObjArray* arr = static_cast<TObjArray*>(inFile->Get("arrResponse"));


  // -- Write out
  // -------------------------------------------------------------------
  
  AliCDBMetaData *metaData= new AliCDBMetaData();
  metaData->SetObjectClassName("TObjArray");
  metaData->SetResponsible(author);
  metaData->SetBeamPeriod(1);
  metaData->SetAliRootVersion(alirootVersion); 
  metaData->SetComment(comment);

  AliCDBId id("TPC/Calib/IonTail", minRun, maxRun);
  AliCDBStorage * gStorage = AliCDBManager::Instance()->GetStorage(newStoragePath);
  gStorage->Put(arr, id, metaData);    

  return;
}
 CreateIonTailObject.C:1
 CreateIonTailObject.C:2
 CreateIonTailObject.C:3
 CreateIonTailObject.C:4
 CreateIonTailObject.C:5
 CreateIonTailObject.C:6
 CreateIonTailObject.C:7
 CreateIonTailObject.C:8
 CreateIonTailObject.C:9
 CreateIonTailObject.C:10
 CreateIonTailObject.C:11
 CreateIonTailObject.C:12
 CreateIonTailObject.C:13
 CreateIonTailObject.C:14
 CreateIonTailObject.C:15
 CreateIonTailObject.C:16
 CreateIonTailObject.C:17
 CreateIonTailObject.C:18
 CreateIonTailObject.C:19
 CreateIonTailObject.C:20
 CreateIonTailObject.C:21
 CreateIonTailObject.C:22
 CreateIonTailObject.C:23
 CreateIonTailObject.C:24
 CreateIonTailObject.C:25
 CreateIonTailObject.C:26
 CreateIonTailObject.C:27
 CreateIonTailObject.C:28
 CreateIonTailObject.C:29
 CreateIonTailObject.C:30
 CreateIonTailObject.C:31
 CreateIonTailObject.C:32
 CreateIonTailObject.C:33
 CreateIonTailObject.C:34
 CreateIonTailObject.C:35
 CreateIonTailObject.C:36
 CreateIonTailObject.C:37
 CreateIonTailObject.C:38
 CreateIonTailObject.C:39
 CreateIonTailObject.C:40
 CreateIonTailObject.C:41
 CreateIonTailObject.C:42
 CreateIonTailObject.C:43
 CreateIonTailObject.C:44
 CreateIonTailObject.C:45
 CreateIonTailObject.C:46
 CreateIonTailObject.C:47
 CreateIonTailObject.C:48
 CreateIonTailObject.C:49
 CreateIonTailObject.C:50