]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TRD/AliHLTTRDClusterizerComponent.cxx
extending trigger agent and it's HLTOUT handler
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizerComponent.cxx
index da56abbe6666ef7502486a602bef2ef5435e01f2..09e88dfcc34a36b2c325590a668f586e35683e43 100644 (file)
@@ -82,7 +82,8 @@ AliHLTTRDClusterizerComponent::AliHLTTRDClusterizerComponent()
   fyPosMethod(1),
   fgeometryFileName(""),
   fProcessTracklets(kFALSE),
-  fHLTstreamer(kTRUE)
+  fHLTstreamer(kTRUE),
+  fTC(kFALSE)
 {
   // Default constructor
 
@@ -173,9 +174,6 @@ int AliHLTTRDClusterizerComponent::DoInit( int argc, const char** argv )
   if(fReconstructor->IsProcessingTracklets())
     fOutputConst = fClusterizer->GetTrMemBlockSize();
 
-  AliTRDrawStream::SetSubtractBaseline(10);
-  AliTRDrawFastStream::SetSubtractBaseline(10);
-
   return iResult;
 }
 
@@ -436,6 +434,11 @@ int AliHLTTRDClusterizerComponent::Configure(const char* arguments){
        HLTInfo("Don't use fast raw streamer");
        continue;
       }
+      else if (argument.CompareTo("-tailcancellation")==0) {
+       fTC = kTRUE;
+       HLTInfo("Useing tailcancellation");
+       continue;
+      }
       else if (argument.CompareTo("-rawver")==0) {
        if ((bMissingParam=(++i>=pTokens->GetEntries()))) break;
        HLTInfo("Raw data version is: %s", ((TObjString*)pTokens->At(i))->GetString().Data());
@@ -508,26 +511,13 @@ int AliHLTTRDClusterizerComponent::SetParams()
       HLTError("Could not load geometry");
       return -EINVAL;
     }
+    HLTInfo("Applying Alignment from CDB object");
+    AliGeomManager::ApplyAlignObjsFromCDB("TRD");
   }
   else{
     HLTInfo("Geometry Already Loaded!");
   }
 
-  TString recoOptions="hlt,!cw,sl_cl_0";
-
-  switch(fRecoDataType){
-  case 0: recoOptions += ",tc"; break;
-  case 1: recoOptions += ",!tc"; break;
-  }
-  switch(fyPosMethod){
-  case 0: recoOptions += ",!gs,!lut"; break;
-  case 1: recoOptions += ",!gs,lut"; break;
-  case 2: recoOptions += ",gs,!lut"; break;
-  }
-  if(fProcessTracklets) recoOptions += ",tp";
-  else  recoOptions += ",!tp";
-
-
   if (fRecoParamType == 0)
     {
       HLTDebug("Low flux params init.");
@@ -552,9 +542,33 @@ int AliHLTTRDClusterizerComponent::SetParams()
       return -EINVAL;
     }
 
+  // backward compatibility to AliTRDrecoParam < r34995
+# ifndef HAVE_NOT_ALITRDRECOPARAM_r34995
+#   define AliTRDRecoParamSetTailCancelation(b) fRecoParam->SetTailCancelation(b)
+#   define AliTRDRecoParamSetGAUS(b) fRecoParam->SetGAUS(b)
+#   define AliTRDRecoParamSetLUT(b) fRecoParam->SetLUT(b)
+# else
+#   define AliTRDRecoParamSetTailCancelation(b) fRecoParam->SetTailCancelation()
+#   define AliTRDRecoParamSetGAUS(b) fRecoParam->SetGAUS()
+#   define AliTRDRecoParamSetLUT(b) fRecoParam->SetLUT()
+# endif
+
+  if(fTC){AliTRDRecoParamSetTailCancelation(kTRUE); HLTDebug("Enableing Tail Cancelation"); }
+  else{AliTRDRecoParamSetTailCancelation(kFALSE); HLTDebug("Enableing Tail Cancelation"); }
+
+  switch(fyPosMethod){
+  case 0: AliTRDRecoParamSetGAUS(kFALSE); AliTRDRecoParamSetLUT(kFALSE); break;
+  case 1: AliTRDRecoParamSetGAUS(kFALSE); AliTRDRecoParamSetLUT(kTRUE); break;
+  case 2: AliTRDRecoParamSetGAUS(kTRUE); AliTRDRecoParamSetLUT(kFALSE); break;
+  }
+
   fRecoParam->SetStreamLevel(AliTRDrecoParam::kClusterizer, 0);
   fReconstructor->SetRecoParam(fRecoParam);
 
+  TString recoOptions="hlt,!cw";
+  if(fProcessTracklets) recoOptions += ",tp";
+  else  recoOptions += ",!tp";
+
   HLTDebug("Reconstructor options are: %s",recoOptions.Data());
   fReconstructor->SetOption(recoOptions.Data());