Add a protection for the case of not used dictionary and a setter for the recoParam
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 12 Mar 2008 18:24:54 +0000 (18:24 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 12 Mar 2008 18:24:54 +0000 (18:24 +0000)
TRD/AliTRDReconstructor.cxx
TRD/AliTRDReconstructor.h
TRD/AliTRDclusterizer.cxx
TRD/AliTRDrawStreamTB.cxx

index 1b2d6a6..98fec9d 100644 (file)
@@ -83,6 +83,9 @@ void AliTRDReconstructor::Reconstruct(AliRawReader *rawReader
 
   AliInfo("Reconstruct TRD clusters from RAW data [RawReader -> Cluster TTree]");
 
+       // TODO move it to rec.C. check TPC
+       fgRecoParam = AliTRDrecoParam::GetLowFluxParam();
+
   rawReader->Reset();
   rawReader->Select("TRD");
 
@@ -104,6 +107,9 @@ void AliTRDReconstructor::Reconstruct(TTree *digitsTree
 
   AliInfo("Reconstruct TRD clusters from Digits [Digit TTree -> Cluster TTree]");
 
+       // TODO move it to rec.C. check TPC
+       fgRecoParam = AliTRDrecoParam::GetLowFluxParam();
+
   AliTRDclusterizer clusterer("clusterer","TRD clusterizer");
   clusterer.OpenOutput(clusterTree);
   clusterer.ReadDigits(digitsTree);
index eb00bb2..7103141 100644 (file)
@@ -42,6 +42,7 @@ class AliTRDReconstructor: public AliReconstructor
 
   static  void             SetSeedingOn(Bool_t seeding)          { fgkSeedingOn  = seeding; }  
   static  void             SetStreamLevel(Int_t level)           { fgStreamLevel = level;   }
+  static  void             SetRecoParam(AliTRDrecoParam *reco)   { fgRecoParam   = reco;    }
 
   static  Bool_t           SeedingOn()                           { return fgkSeedingOn;     }
   static  Int_t            StreamLevel()                         { return fgStreamLevel;    }
index 961403e..205cf96 100644 (file)
@@ -614,6 +614,12 @@ Bool_t AliTRDclusterizer::MakeClusters(Int_t det)
   // There is no ADC threshold anymore, and simParam should not be used in clusterizer. KO
   Float_t adcThreshold   = 0; 
 
+  if (!AliTRDReconstructor::RecoParam())
+    {
+      AliError("RecoParam does not exist\n");
+      return kFALSE;
+    }
+
   // Threshold value for the maximum
   Float_t maxThresh      = AliTRDReconstructor::RecoParam()->GetClusMaxThresh();
   // Threshold value for the digit signal
index 204f65a..ce1ebef 100644 (file)
@@ -659,7 +659,7 @@ AliTRDrawStreamTB::NextChamber(AliTRDdigitsManager *digitsManager)
 
   // Loop through the digits
   Int_t lastdet = -1;
-  Int_t det    = -1;
+  Int_t det     = -1;
   //   Int_t returnDet = -1;
   Int_t it = 0;
   while (Next()) 
@@ -693,9 +693,12 @@ AliTRDrawStreamTB::NextChamber(AliTRDdigitsManager *digitsManager)
 
          // Add a container for the digits of this detector
          digits = (AliTRDdataArrayS *) digitsManager->GetDigits(det);
-         track0 = (AliTRDdataArrayI *) digitsManager->GetDictionary(det,0);
-         track1 = (AliTRDdataArrayI *) digitsManager->GetDictionary(det,1);
-         track2 = (AliTRDdataArrayI *) digitsManager->GetDictionary(det,2);
+          if (digitsManager->UsesDictionaries()) 
+            {
+             track0 = (AliTRDdataArrayI *) digitsManager->GetDictionary(det,0);
+             track1 = (AliTRDdataArrayI *) digitsManager->GetDictionary(det,1);
+             track2 = (AliTRDdataArrayI *) digitsManager->GetDictionary(det,2);
+           }
 
          if (!digits)
            {
@@ -719,9 +722,12 @@ AliTRDrawStreamTB::NextChamber(AliTRDdigitsManager *digitsManager)
          if (digits->GetNtime() == 0) 
            {
              digits->Allocate(rowMax, colMax, ntbins);
-             track0->Allocate(rowMax, colMax, ntbins);
-             track1->Allocate(rowMax, colMax, ntbins);
-             track2->Allocate(rowMax, colMax, ntbins);
+              if (digitsManager->UsesDictionaries()) 
+                {
+                 track0->Allocate(rowMax, colMax, ntbins);
+                 track1->Allocate(rowMax, colMax, ntbins);
+                 track2->Allocate(rowMax, colMax, ntbins);
+               }
            }
 
          indexes = digitsManager->GetIndexes(det);
@@ -741,9 +747,12 @@ AliTRDrawStreamTB::NextChamber(AliTRDdigitsManager *digitsManager)
              digits->SetDataUnchecked(GetRow(), GetCol(), it, GetSignals()[it]);
              
              indexes->AddIndexTBin(GetRow(), GetCol(), it);
-             track0->SetDataUnchecked(GetRow(), GetCol(), it, 0);
-             track1->SetDataUnchecked(GetRow(), GetCol(), it, 0);
-             track2->SetDataUnchecked(GetRow(), GetCol(), it, 0);
+              if (digitsManager->UsesDictionaries()) 
+                {
+                 track0->SetDataUnchecked(GetRow(), GetCol(), it, 0);
+                 track1->SetDataUnchecked(GetRow(), GetCol(), it, 0);
+                 track2->SetDataUnchecked(GetRow(), GetCol(), it, 0);
+               }
            }
        } // tbins
     }// while Next()