]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/Cal/AliTRDCreateDummyCDB.C
bootstrap pdf before usage
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCreateDummyCDB.C
index eec11ae4f2b493e08f35a640898967d747a84123..1a1d85518ac878980cf3e9cd731ff81a5fca3636 100644 (file)
@@ -12,7 +12,6 @@
 #include "AliTRDCalROC.h"
 #include "AliTRDCalPad.h"
 #include "AliTRDCalDet.h"
-#include "AliTRDCalGlobals.h"
 
 #include "AliTRDCalChamberStatus.h"
 #include "AliTRDCalPadStatus.h"
 
 #endif
 
-// Run number for the dummy file
-const Int_t    gkDummyRun = 0;
-AliCDBStorage *gStorLoc   = 0;
+// Run numbers for the dummy file
+const Int_t    gkDummyRunBeg = 0;
+const Int_t    gkDummyRunEnd = 999999999;
+AliCDBStorage *gStorLoc      = 0;
 
 //_____________________________________________________________________________
 TObject *CreatePadObject(const char *shortName, const char *description
@@ -56,38 +56,15 @@ TObject *CreateDetObject(const char *shortName, const char *description
 
 }
 
-//_____________________________________________________________________________
-TObject *CreateGlobalsObject(Float_t t0Offset = 0.0) 
-{
-
-  AliTRDCalGlobals *object = new AliTRDCalGlobals("Globals"
-                                                 ,"Global TRD calibration parameters");
-
-  object->SetNumberOfTimeBins(22);
-
-  object->SetTailCancelationTau1(0);
-  object->SetTailCancelationTau2(0);
-  object->SetTailCancelationAmp(0);
-
-  object->SetPedestal(0);
-  object->SetADCClockphase(0);
-
-  // Introduce negative offset to allow for fluctuations around 0
-  object->SetT0Offset(-t0Offset);
-  
-  return object;
-
-}
-
 //_____________________________________________________________________________
 TObject *CreatePRFWidthObject()
 {
 
   AliTRDCalPad *calPad = new AliTRDCalPad("PRFWidth","PRFWidth");
-  for (Int_t plane = 0; plane < AliTRDgeometry::kNplan; ++plane) {
+  for (Int_t iLayer = 0; iLayer < AliTRDgeometry::kNlayer; ++iLayer) {
 
     Float_t value = 0.0;
-    switch (plane) {
+    switch (iLayer) {
       case 0: 
         value = 0.515; 
         break;
@@ -111,11 +88,11 @@ TObject *CreatePRFWidthObject()
         return 0;
     }
 
-    for (Int_t chamber = 0; chamber < AliTRDgeometry::kNcham; ++chamber) {
-      for (Int_t sector = 0; sector < AliTRDgeometry::kNsect; ++sector) {
-        AliTRDCalROC *calROC = calPad->GetCalROC(plane,chamber,sector);
-        for (Int_t channel = 0; channel < calROC->GetNchannels(); ++channel) {
-          calROC->SetValue(channel, value);
+    for (Int_t iStack = 0; iStack < AliTRDgeometry::kNstack; ++iStack) {
+      for (Int_t iSector = 0; iSector < AliTRDgeometry::kNsector; ++iSector) {
+        AliTRDCalROC *calROC = calPad->GetCalROC(iLayer,iStack,iSector);
+        for (Int_t iChannel = 0; iChannel < calROC->GetNchannels(); ++iChannel) {
+          calROC->SetValue(iChannel, value);
        }
       }
     }
@@ -152,29 +129,33 @@ AliTRDCalPadStatus *CreatePadStatusObject()
 }
 
 //_____________________________________________________________________________
-AliTRDCalPIDLQ *CreatePIDLQObject()
+AliTRDCalMonitoring *CreateMonitoringObject()
 {
+  AliTRDCalMonitoring    *obj = new AliTRDCalMonitoring();
 
-  AliTRDCalPIDLQ         *pid = new AliTRDCalPIDLQ("pidobject"
-                                                  ,"pidobject");
-
-  pid->ReadData("$ALICE_ROOT/TRD/TRDdEdxHistogramsV1.root");
-
-  // The factor is the ratio of Mean of pi charge dist.
-  // for the New TRD code divided by the Mean of pi charge
-  // dist. given in AliTRDCalPIDLQ object
-  pid->SetMeanChargeRatio(1.0); 
-  
-  return pid;
+  return obj;
 
 }
 
 //_____________________________________________________________________________
-AliTRDCalMonitoring *CreateMonitoringObject()
+TClonesArray* CreateRecoParamObject()
 {
-  AliTRDCalMonitoring    *obj = new AliTRDCalMonitoring();
+  TClonesArray *recos = new TClonesArray("AliTRDrecoParam", 3);
+  recos->SetOwner(kTRUE);
 
-  return obj;
+  AliTRDrecoParam *rec = 0x0;
+  AliTRDrecoParam *reco = new((*recos)[0]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetLowFluxParam()));
+  delete rec;
+  // further settings for low flux reco param
+  // reco->SetThisAndThat()
+
+  reco = new((*recos)[1]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetHighFluxParam()));
+  delete rec;
+
+  reco = new((*recos)[2]) AliTRDrecoParam(*(rec = AliTRDrecoParam::GetCosmicTestParam()));
+  delete rec;
+
+  return recos;
 
 }
 
@@ -184,10 +165,10 @@ AliCDBMetaData *CreateMetaObject(const char *objectClassName)
 
   AliCDBMetaData *md1= new AliCDBMetaData(); 
   md1->SetObjectClassName(objectClassName);
-  md1->SetResponsible("Jan Fiete Grosse-Oetringhaus");
+  md1->SetResponsible("Christoph Blume");
   md1->SetBeamPeriod(1);
-  md1->SetAliRootVersion("05-06-00"); //root version
-  md1->SetComment("The dummy values in this calibration file are for testing only");
+  md1->SetAliRootVersion("05-16-00"); //root version
+  md1->SetComment("Ideal calibration values");
   
   return md1;
 
@@ -197,31 +178,45 @@ AliCDBMetaData *CreateMetaObject(const char *objectClassName)
 void StoreObject(const char *cdbPath, TObject *object, AliCDBMetaData *metaData)
 {
 
-  AliCDBId id1(cdbPath,gkDummyRun,gkDummyRun); 
+  AliCDBId id1(cdbPath,gkDummyRunBeg,gkDummyRunEnd); 
   gStorLoc->Put(object,id1,metaData); 
 
 }
     
+
 //_____________________________________________________________________________
 void AliTRDCreateDummyCDB()
 {
 
   cout << endl 
-       << "TRD :: Creating dummy CDB with event number " 
-       << gkDummyRun 
+       << "TRD :: Creating dummy CDB for the runs " 
+       << gkDummyRunBeg
+       << " -- " 
+       << gkDummyRunEnd
        << endl;
-
-  Float_t t0Offset = 5.0;
   
   AliCDBManager *man = AliCDBManager::Instance();
-  gStorLoc = man->GetStorage("local://$ALICE_ROOT");
+  gStorLoc = man->GetStorage("local://$ALICE_ROOT/OCDB");
   if (!gStorLoc) {
     return;
   }
 
   TObject        *obj      = 0;
   AliCDBMetaData *metaData = 0;
-  
+
+  //
+  // Reco Param Object
+  //
+
+  metaData= new AliCDBMetaData(); 
+  metaData->SetObjectClassName("TClonesArray");
+  metaData->SetResponsible("Alexandru Bercuci");
+  metaData->SetBeamPeriod(1);
+  metaData->SetAliRootVersion("05-19-04"); //root version
+  metaData->SetComment("Ideal reconstruction parameters for low, high and cosmic runs");
+  StoreObject("TRD/Calib/RecoParam",CreateRecoParamObject(),metaData);
+  return;
+
   //
   // Pad objects
   //
@@ -231,7 +226,7 @@ void AliTRDCreateDummyCDB()
   obj = CreatePadObject("LocalVdrift"       ,"TRD drift velocities (local variations)",1);
   StoreObject("TRD/Calib/LocalVdrift"       ,obj,metaData);
   
-  obj = CreatePadObject("LocalT0"           ,"T0 (local variations)",0.0);
+  obj = CreatePadObject("LocalT0"           ,"T0 (local variations)",0);
   StoreObject("TRD/Calib/LocalT0"           ,obj,metaData);
 
   obj = CreatePadObject("GainFactor"        ,"GainFactor (local variations)",1);
@@ -249,20 +244,12 @@ void AliTRDCreateDummyCDB()
   obj = CreateDetObject("ChamberVdrift"     ,"TRD drift velocities (detector value)", 1.5);
   StoreObject("TRD/Calib/ChamberVdrift"     ,obj,metaData);
   
-  obj = CreateDetObject("ChamberT0"         ,"T0 (detector value)",t0Offset);
+  obj = CreateDetObject("ChamberT0"         ,"T0 (detector value)",0);
   StoreObject("TRD/Calib/ChamberT0"         ,obj,metaData);
   
   obj = CreateDetObject("ChamberGainFactor" ,"GainFactor (detector value)", 1);
   StoreObject("TRD/Calib/ChamberGainFactor" ,obj,metaData);
   
-  //
-  // Global object
-  //
-
-  metaData = CreateMetaObject("AliTRDCalGlobals");
-  obj = CreateGlobalsObject(t0Offset);
-  StoreObject("TRD/Calib/Globals"           ,obj,metaData);
-  
   //
   // Status objects
   //
@@ -275,10 +262,6 @@ void AliTRDCreateDummyCDB()
   obj = CreatePadStatusObject();
   StoreObject("TRD/Calib/PadStatus"         ,obj,metaData);
 
-  metaData = CreateMetaObject("AliTRDCalPIDLQ");
-  obj = CreatePIDLQObject();
-  StoreObject("TRD/Calib/PIDLQ"             ,obj,metaData);
-
   //
   // Monitoring object
   //