Using the Altro mapping from calib DB
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 25 Nov 2007 12:15:43 +0000 (12:15 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 25 Nov 2007 12:15:43 +0000 (12:15 +0000)
-Previous version -read ASCII files (Marian)

TPC/AliTPCcalibDB.cxx
TPC/AliTPCcalibDB.h
TPC/AliTPCclustererMI.cxx

index ce526e6d397d2ef282a684ec98398031947fe2b8..3239270de6710187cbc09ddc922906baf1cde2f1 100644 (file)
 #include <AliLog.h>
 
 #include "AliTPCcalibDB.h"
+#include "AliTPCAltroMapping.h"
 #include "AliTPCExB.h"
 
 #include "AliTPCCalROC.h"
 #include "AliTPCCalPad.h"
 #include "AliTPCSensorTempArray.h"
 #include "AliTPCTransform.h"
+
 class AliCDBStorage;
 class AliTPCCalDet;
 //
@@ -133,6 +135,7 @@ AliTPCcalibDB::AliTPCcalibDB():
   fPadNoise(0),
   fPedestals(0),
   fTemperature(0),
+  fMapping(0),
   fParam(0)
 {
   //
@@ -240,6 +243,21 @@ void AliTPCcalibDB::Update(){
     fParam = (AliTPCParam*)(entry->GetObject()->Clone());
   }
 
+  entry          = GetCDBEntry("TPC/Calib/Mapping");
+  if (entry){
+    //if (fPadNoise) delete fPadNoise;
+    entry->SetOwner(kTRUE);
+    TObjArray * array = dynamic_cast<TObjArray*>(entry->GetObject());
+    if (array && array->GetEntriesFast()==6){
+      fMapping = new AliTPCAltroMapping*[6];
+      for (Int_t i=0; i<6; i++){
+       fMapping[i] =  dynamic_cast<AliTPCAltroMapping*>(array->At(i));
+      }
+    }
+  }
+
+
+
   entry          = GetCDBEntry("TPC/Calib/ExB");
   if (entry) {
     entry->SetOwner(kTRUE);
index 4aa9120fc5abc6f85f251562e51609a62876e694..4362ac9f759b26880588220f2126ccce3811ff2a 100644 (file)
@@ -18,6 +18,7 @@ class AliTPCSensorTempArray;
 class AliDCSSensorArray;
 class AliCDBEntry;
 class AliTPCParam;
+class AliTPCAltroMapping;
 //class AliCDBStorage;
 
 class AliTPCcalibDB : public TObject
@@ -37,6 +38,8 @@ class AliTPCcalibDB : public TObject
   AliTPCCalPad* GetPedestals() {return fPedestals;}
   AliTPCSensorTempArray* GetTemperature() {return fTemperature;}
   AliTPCParam*  GetParameters(){return fParam;}
+  AliTPCAltroMapping ** GetMapping(){ return fMapping;}
+  //
   static void     CreateObjectList(const Char_t *filename, TObjArray *calibObjects);
   static void MakeTree(const char * fileName, TObjArray * array, const char * mapFileName = 0, AliTPCCalPad* outlierPad = 0, Float_t ltmFraction = 0.9);
   
@@ -56,7 +59,7 @@ protected:
   AliTPCCalPad* fPadNoise;        // Noise calibration entry
   AliTPCCalPad* fPedestals;       // Pedestal calibration entry
   AliTPCSensorTempArray* fTemperature; // Temperature calibration entry
-
+  AliTPCAltroMapping **fMapping;   // Altro mapping   
   //
   //
   AliTPCParam * fParam;           // TPC parameters
index cf56d8992576fb85115383632e3f8249fa9caf92..ed6f5cbc177cd0bca8163862c2f70bc599804e3b 100644 (file)
@@ -607,7 +607,6 @@ void AliTPCclustererMI::Digits2Clusters()
 
   AliTPCCalPad * gainTPC = AliTPCcalibDB::Instance()->GetPadGainFactor();
   AliTPCCalPad * noiseTPC = AliTPCcalibDB::Instance()->GetPadNoise();
-
   AliSimDigits digarr, *dummy=&digarr;
   fRowDig = dummy;
   fInput->GetBranch("Segment")->SetAddress(&dummy);
@@ -701,7 +700,9 @@ void AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader)
   AliTPCCalPad * gainTPC = AliTPCcalibDB::Instance()->GetPadGainFactor();
   AliTPCCalPad * pedestalTPC = AliTPCcalibDB::Instance()->GetPedestals();
   AliTPCCalPad * noiseTPC = AliTPCcalibDB::Instance()->GetPadNoise();
-  AliTPCRawStream input(rawReader);
+  AliTPCAltroMapping** mapping =AliTPCcalibDB::Instance()->GetMapping();
+  //
+  AliTPCRawStream input(rawReader,(AliAltroMapping**)mapping);
   fEventHeader = (AliRawEventHeaderBase*)rawReader->GetEventHeader();
   if (fEventHeader){
     fTimeStamp = fEventHeader->Get("Timestamp");