From d6eceb666551a43f49377ae7e368e67e14705043 Mon Sep 17 00:00:00 2001 From: richterm Date: Fri, 13 Aug 2010 06:34:30 +0000 Subject: [PATCH] fixing bug in the HLT TRD offline running mode due to parameter propagation in DoInit, skip cluster transformation; requires r42837 (Theo) --- HLT/TRD/AliHLTTRDClusterizerComponent.cxx | 17 +++++++++++------ HLT/TRD/AliHLTTRDClusterizerComponent.h | 2 +- .../AliHLTTRDOfflineClusterizerComponent.cxx | 10 +++++----- HLT/TRD/AliHLTTRDOfflineClusterizerComponent.h | 4 +--- HLT/TRD/AliHLTTRDOfflineTrackerV1Component.cxx | 15 +++++++-------- HLT/TRD/AliHLTTRDOfflineTrackerV1Component.h | 3 ++- HLT/TRD/AliHLTTRDTrackerV1Component.h | 2 +- 7 files changed, 28 insertions(+), 25 deletions(-) diff --git a/HLT/TRD/AliHLTTRDClusterizerComponent.cxx b/HLT/TRD/AliHLTTRDClusterizerComponent.cxx index 39ddbe520a7..40ec8c25ad5 100644 --- a/HLT/TRD/AliHLTTRDClusterizerComponent.cxx +++ b/HLT/TRD/AliHLTTRDClusterizerComponent.cxx @@ -630,9 +630,19 @@ int AliHLTTRDClusterizerComponent::SetParams() fRecoParam->SetStreamLevel(AliTRDrecoParam::kClusterizer, 0); fReconstructor->SetRecoParam(fRecoParam); + if(!fClusterizer){ + fClusterizer = new AliHLTTRDClusterizer("TRDCclusterizer", "TRDCclusterizer"); + HLTDebug("TRDClusterizer at 0x%x", fClusterizer); + } + TString recoOptions="!cw"; - if(fHLTflag) + if(fHLTflag){ recoOptions += ",hlt"; + + // we transfer clusters that do no contain the XYZ coodrinates (AliHLTTRDCluster), + // thus this coordinate transformation ist useless + fClusterizer->SetSkipTransform(); + } if(fProcessTracklets) recoOptions += ",tp"; else recoOptions += ",!tp"; @@ -672,11 +682,6 @@ int AliHLTTRDClusterizerComponent::SetParams() } #endif - if(!fClusterizer){ - fClusterizer = new AliHLTTRDClusterizer("TRDCclusterizer", "TRDCclusterizer"); - HLTDebug("TRDClusterizer at 0x%x", fClusterizer); - } - fClusterizer->SetRawVersion(fRawDataVersion); return iResult; diff --git a/HLT/TRD/AliHLTTRDClusterizerComponent.h b/HLT/TRD/AliHLTTRDClusterizerComponent.h index 210eec9063e..0abba09d6ce 100644 --- a/HLT/TRD/AliHLTTRDClusterizerComponent.h +++ b/HLT/TRD/AliHLTTRDClusterizerComponent.h @@ -64,7 +64,7 @@ protected: using AliHLTProcessor::DoEvent; int Configure(const char* arguments); - int SetParams(); + virtual int SetParams(); protected: /** copy constructor prohibited */ diff --git a/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.cxx b/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.cxx index 7fefd6e93be..f114c98c00a 100644 --- a/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.cxx +++ b/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.cxx @@ -41,7 +41,6 @@ ClassImp(AliHLTTRDOfflineClusterizerComponent) AliHLTTRDOfflineClusterizerComponent::AliHLTTRDOfflineClusterizerComponent() :AliHLTTRDClusterizerComponent() - ,fOffClusterizer(NULL) { // Default constructor } @@ -95,14 +94,15 @@ void AliHLTTRDOfflineClusterizerComponent::GetOutputDataSize( unsigned long& con inputMultiplier *= 10; } -int AliHLTTRDOfflineClusterizerComponent::DoInit( int argc, const char** argv ) +int AliHLTTRDOfflineClusterizerComponent::SetParams() { - int iResult = 0; - iResult=AliHLTTRDClusterizerComponent::DoInit(argc, argv); + int iResult = AliHLTTRDClusterizerComponent::SetParams(); - return iResult; + // here we need the coordinate transformation as we want to ship full flavoured clusters + fClusterizer->SetSkipTransform(kFALSE); } + int AliHLTTRDOfflineClusterizerComponent::DoEvent(const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, vector& outputBlocks ) diff --git a/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.h b/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.h index 22e037ca826..ac684109fb9 100644 --- a/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.h +++ b/HLT/TRD/AliHLTTRDOfflineClusterizerComponent.h @@ -29,13 +29,11 @@ public: virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); AliHLTComponent* Spawn(); - int DoInit( int argc, const char** argv ); int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, vector& outputBlocks ); -protected: - AliTRDclusterizer* fOffClusterizer; + int SetParams(); private: /// copy constructor prohibited diff --git a/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.cxx b/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.cxx index 50398d9932f..7a2663aa18b 100644 --- a/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.cxx +++ b/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.cxx @@ -86,20 +86,19 @@ AliHLTComponent* AliHLTTRDOfflineTrackerV1Component::Spawn() return new AliHLTTRDOfflineTrackerV1Component; }; -int AliHLTTRDOfflineTrackerV1Component::DoInit( int argc, const char** argv ) -{ - int iResult = 0; - iResult=AliHLTTRDTrackerV1Component::DoInit(argc, argv); - fRecoParam->SetStreamLevel(AliTRDrecoParam::kTracker, 1); // in order to have the friends written - return iResult; -} - const char* AliHLTTRDOfflineTrackerV1Component::GetComponentID() { // Return the component ID const char * return "TRDOfflineTrackerV1"; // The ID of this component } +int AliHLTTRDOfflineTrackerV1Component::SetParams() +{ + int iResult = AliHLTTRDTrackerV1Component::SetParams(); + fRecoParam->SetStreamLevel(AliTRDrecoParam::kTracker, 1); // in order to have the friends written + return iResult; +} + int AliHLTTRDOfflineTrackerV1Component::DoEvent(const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, vector& outputBlocks ) diff --git a/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.h b/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.h index bbd14573762..8b0c833a3f6 100644 --- a/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.h +++ b/HLT/TRD/AliHLTTRDOfflineTrackerV1Component.h @@ -27,11 +27,12 @@ public: virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); AliHLTComponent* Spawn(); - int DoInit( int argc, const char** argv ); int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, vector& outputBlocks ); + int SetParams(); + protected: ClassDef(AliHLTTRDOfflineTrackerV1Component, 1) diff --git a/HLT/TRD/AliHLTTRDTrackerV1Component.h b/HLT/TRD/AliHLTTRDTrackerV1Component.h index 4ef7dcb9cea..0dfff353c4d 100644 --- a/HLT/TRD/AliHLTTRDTrackerV1Component.h +++ b/HLT/TRD/AliHLTTRDTrackerV1Component.h @@ -79,7 +79,7 @@ protected: using AliHLTProcessor::DoEvent; int Configure(const char* arguments); - int SetParams(); + virtual int SetParams(); protected: /** copy constructor prohibited */ -- 2.43.0