ROOT logo

// TTimeStamp startTime(2006,10,18,0,0,0,0,kFALSE)
// TTimeStamp endTime(2006,10,19,0,0,0,0,kFALSE)
// Int_t run=2546
// AliTPCGenDBTemp db
// db->Init(run,"TPC/Config/Temperature","TPC/*/*")
// db->MakeCalib("TempSensor.txt","DCSMap.root",startTime,endTime,run)

//  Data base entry generation:
  
//  AliTPCGenDBTemp db
//  db->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
//  db->SetSpecificStorage("local:///afs/cern.ch/alice/tpctest/Calib/");
//  db->Init(0,"TPC/Config/Temperature","TPC/*/*")
//  db->MakeConfig("TempSensor.txt",0,999999999,"TPC/Config/Temperature")

  




#include "AliTPCGenDBTemp.h"
#include "AliLog.h"

ClassImp(AliTPCGenDBTemp)

const Int_t kValCut = 100;         // discard temperatures > 100 degrees
const Int_t kDiffCut = 5;	   // discard temperature differences > 5 degrees

//______________________________________________________________________________________________

AliTPCGenDBTemp::AliTPCGenDBTemp():
   AliDCSGenDB()
{
}

//______________________________________________________________________________________________

AliTPCGenDBTemp::AliTPCGenDBTemp(const char *defaultStorage, const char *specificStorage) :
   AliDCSGenDB(defaultStorage,specificStorage)
{
}

//______________________________________________________________________________________________

AliTPCGenDBTemp::AliTPCGenDBTemp(const AliTPCGenDBTemp& ) : AliDCSGenDB()
{

//
//  Copy constructor
//
 AliError("copy constructor not implemented");

}

//______________________________________________________________________________________________
AliTPCGenDBTemp::~AliTPCGenDBTemp(){
//
// destructor
//

}
//______________________________________________________________________________________________
AliTPCGenDBTemp& AliTPCGenDBTemp::operator= (const AliTPCGenDBTemp&  )
{
 //
 // assignment operator
 //
 AliError("assignment operator not implemented");
 return *this;
}


//______________________________________________________________________________________________

void AliTPCGenDBTemp::MakeCalib(const char *fList, const char *fMap,
                             const TTimeStamp& startTime,
			     const TTimeStamp& endTime,
			     Int_t run, const TString& amandaString )
{
   // The Terminate() function is the last function to be called during
   // a query. It always runs on the client, it can be used to present
   // the results graphically or save the results to file.

   AliTPCSensorTempArray *temperature=0;
   if ( amandaString.Length()== 0 ) {
    temperature = new AliTPCSensorTempArray(fList);
   } else {
    temperature = new AliTPCSensorTempArray(fList,amandaString);
   }
   temperature->SetStartTime(startTime);
   temperature->SetEndTime(endTime);
   temperature->SetValCut(kValCut);
   temperature->SetDiffCut(kDiffCut);
   TMap* map = SetGraphFile(fMap);
   if (map) {
     temperature->MakeSplineFit(map);
   }
   delete map;
   map=0;
   fMap=0;

   SetFirstRun(run);
   SetLastRun(run);
   SetSensorArray(temperature);
   StoreObject("TPC/Calib/Temperature",temperature, fMetaData);
}

//______________________________________________________________________________________________

TClonesArray * AliTPCGenDBTemp::ReadList(const char *fname, const char *title,
                       const TString& amandaString) {
  //
  // read values from ascii file
  //
  TTree* tree = new TTree(title,title);
  tree->ReadFile(fname,"");
  TClonesArray *arr;
  if ( amandaString.Length()== 0 ) {
    arr = AliTPCSensorTemp::ReadTree(tree);
  } else {
    arr = AliTPCSensorTemp::ReadTree(tree,amandaString);
  }
  delete tree;
  return arr;
}

//______________________________________________________________________________________________

TTree * AliTPCGenDBTemp::ReadListTree(const char *fname, const char *title) {
  //
  // read values from ascii file
  //
  TTree* tree = new TTree(title,title);
  tree->ReadFile(fname,"");
  return tree;
}

//______________________________________________________________________________________________
void AliTPCGenDBTemp::MakeConfig(const char *file, Int_t firstRun, Int_t lastRun, 
                             const char *confDir)
{
   //
   // Store Configuration file to OCDB
   //

   TTree *tree = ReadListTree(file,"tempConf");
   SetConfTree(tree);
   SetFirstRun(firstRun);
   SetLastRun(lastRun);

   StoreObject(confDir, fConfTree, fMetaData);
}


 AliTPCGenDBTemp.cxx:1
 AliTPCGenDBTemp.cxx:2
 AliTPCGenDBTemp.cxx:3
 AliTPCGenDBTemp.cxx:4
 AliTPCGenDBTemp.cxx:5
 AliTPCGenDBTemp.cxx:6
 AliTPCGenDBTemp.cxx:7
 AliTPCGenDBTemp.cxx:8
 AliTPCGenDBTemp.cxx:9
 AliTPCGenDBTemp.cxx:10
 AliTPCGenDBTemp.cxx:11
 AliTPCGenDBTemp.cxx:12
 AliTPCGenDBTemp.cxx:13
 AliTPCGenDBTemp.cxx:14
 AliTPCGenDBTemp.cxx:15
 AliTPCGenDBTemp.cxx:16
 AliTPCGenDBTemp.cxx:17
 AliTPCGenDBTemp.cxx:18
 AliTPCGenDBTemp.cxx:19
 AliTPCGenDBTemp.cxx:20
 AliTPCGenDBTemp.cxx:21
 AliTPCGenDBTemp.cxx:22
 AliTPCGenDBTemp.cxx:23
 AliTPCGenDBTemp.cxx:24
 AliTPCGenDBTemp.cxx:25
 AliTPCGenDBTemp.cxx:26
 AliTPCGenDBTemp.cxx:27
 AliTPCGenDBTemp.cxx:28
 AliTPCGenDBTemp.cxx:29
 AliTPCGenDBTemp.cxx:30
 AliTPCGenDBTemp.cxx:31
 AliTPCGenDBTemp.cxx:32
 AliTPCGenDBTemp.cxx:33
 AliTPCGenDBTemp.cxx:34
 AliTPCGenDBTemp.cxx:35
 AliTPCGenDBTemp.cxx:36
 AliTPCGenDBTemp.cxx:37
 AliTPCGenDBTemp.cxx:38
 AliTPCGenDBTemp.cxx:39
 AliTPCGenDBTemp.cxx:40
 AliTPCGenDBTemp.cxx:41
 AliTPCGenDBTemp.cxx:42
 AliTPCGenDBTemp.cxx:43
 AliTPCGenDBTemp.cxx:44
 AliTPCGenDBTemp.cxx:45
 AliTPCGenDBTemp.cxx:46
 AliTPCGenDBTemp.cxx:47
 AliTPCGenDBTemp.cxx:48
 AliTPCGenDBTemp.cxx:49
 AliTPCGenDBTemp.cxx:50
 AliTPCGenDBTemp.cxx:51
 AliTPCGenDBTemp.cxx:52
 AliTPCGenDBTemp.cxx:53
 AliTPCGenDBTemp.cxx:54
 AliTPCGenDBTemp.cxx:55
 AliTPCGenDBTemp.cxx:56
 AliTPCGenDBTemp.cxx:57
 AliTPCGenDBTemp.cxx:58
 AliTPCGenDBTemp.cxx:59
 AliTPCGenDBTemp.cxx:60
 AliTPCGenDBTemp.cxx:61
 AliTPCGenDBTemp.cxx:62
 AliTPCGenDBTemp.cxx:63
 AliTPCGenDBTemp.cxx:64
 AliTPCGenDBTemp.cxx:65
 AliTPCGenDBTemp.cxx:66
 AliTPCGenDBTemp.cxx:67
 AliTPCGenDBTemp.cxx:68
 AliTPCGenDBTemp.cxx:69
 AliTPCGenDBTemp.cxx:70
 AliTPCGenDBTemp.cxx:71
 AliTPCGenDBTemp.cxx:72
 AliTPCGenDBTemp.cxx:73
 AliTPCGenDBTemp.cxx:74
 AliTPCGenDBTemp.cxx:75
 AliTPCGenDBTemp.cxx:76
 AliTPCGenDBTemp.cxx:77
 AliTPCGenDBTemp.cxx:78
 AliTPCGenDBTemp.cxx:79
 AliTPCGenDBTemp.cxx:80
 AliTPCGenDBTemp.cxx:81
 AliTPCGenDBTemp.cxx:82
 AliTPCGenDBTemp.cxx:83
 AliTPCGenDBTemp.cxx:84
 AliTPCGenDBTemp.cxx:85
 AliTPCGenDBTemp.cxx:86
 AliTPCGenDBTemp.cxx:87
 AliTPCGenDBTemp.cxx:88
 AliTPCGenDBTemp.cxx:89
 AliTPCGenDBTemp.cxx:90
 AliTPCGenDBTemp.cxx:91
 AliTPCGenDBTemp.cxx:92
 AliTPCGenDBTemp.cxx:93
 AliTPCGenDBTemp.cxx:94
 AliTPCGenDBTemp.cxx:95
 AliTPCGenDBTemp.cxx:96
 AliTPCGenDBTemp.cxx:97
 AliTPCGenDBTemp.cxx:98
 AliTPCGenDBTemp.cxx:99
 AliTPCGenDBTemp.cxx:100
 AliTPCGenDBTemp.cxx:101
 AliTPCGenDBTemp.cxx:102
 AliTPCGenDBTemp.cxx:103
 AliTPCGenDBTemp.cxx:104
 AliTPCGenDBTemp.cxx:105
 AliTPCGenDBTemp.cxx:106
 AliTPCGenDBTemp.cxx:107
 AliTPCGenDBTemp.cxx:108
 AliTPCGenDBTemp.cxx:109
 AliTPCGenDBTemp.cxx:110
 AliTPCGenDBTemp.cxx:111
 AliTPCGenDBTemp.cxx:112
 AliTPCGenDBTemp.cxx:113
 AliTPCGenDBTemp.cxx:114
 AliTPCGenDBTemp.cxx:115
 AliTPCGenDBTemp.cxx:116
 AliTPCGenDBTemp.cxx:117
 AliTPCGenDBTemp.cxx:118
 AliTPCGenDBTemp.cxx:119
 AliTPCGenDBTemp.cxx:120
 AliTPCGenDBTemp.cxx:121
 AliTPCGenDBTemp.cxx:122
 AliTPCGenDBTemp.cxx:123
 AliTPCGenDBTemp.cxx:124
 AliTPCGenDBTemp.cxx:125
 AliTPCGenDBTemp.cxx:126
 AliTPCGenDBTemp.cxx:127
 AliTPCGenDBTemp.cxx:128
 AliTPCGenDBTemp.cxx:129
 AliTPCGenDBTemp.cxx:130
 AliTPCGenDBTemp.cxx:131
 AliTPCGenDBTemp.cxx:132
 AliTPCGenDBTemp.cxx:133
 AliTPCGenDBTemp.cxx:134
 AliTPCGenDBTemp.cxx:135
 AliTPCGenDBTemp.cxx:136
 AliTPCGenDBTemp.cxx:137
 AliTPCGenDBTemp.cxx:138
 AliTPCGenDBTemp.cxx:139
 AliTPCGenDBTemp.cxx:140
 AliTPCGenDBTemp.cxx:141
 AliTPCGenDBTemp.cxx:142
 AliTPCGenDBTemp.cxx:143
 AliTPCGenDBTemp.cxx:144
 AliTPCGenDBTemp.cxx:145
 AliTPCGenDBTemp.cxx:146
 AliTPCGenDBTemp.cxx:147
 AliTPCGenDBTemp.cxx:148
 AliTPCGenDBTemp.cxx:149
 AliTPCGenDBTemp.cxx:150
 AliTPCGenDBTemp.cxx:151
 AliTPCGenDBTemp.cxx:152
 AliTPCGenDBTemp.cxx:153
 AliTPCGenDBTemp.cxx:154
 AliTPCGenDBTemp.cxx:155