AliHLTTPCAgent gAliHLTTPCAgent;
// component headers
+#include "AliHLTTPCRunStatisticsProducerComponent.h"
+#include "AliHLTTPCEventStatisticsProducerComponent.h"
+#include "AliHLTTPCCompModelInflaterComponent.h"
+#include "AliHLTTPCCompModelDeflaterComponent.h"
+#include "AliHLTTPCCompModelDeconverterComponent.h"
+#include "AliHLTTPCCompModelConverterComponent.h"
+#include "AliHLTTPCCompDumpComponent.h"
+#include "AliHLTTPCCalibCEComponent.h"
+#include "AliHLTTPCCalibPulserComponent.h"
+#include "AliHLTTPCCalibPedestalComponent.h"
+#include "AliHLTTPCCATrackerComponent.h"
+#include "AliHLTTPCGlobalMergerComponent.h"
+#include "AliHLTTPCSliceTrackerComponent.h"
+#include "AliHLTTPCVertexFinderComponent.h"
+#include "AliHLTTPCClusterFinderComponent.h"
+#include "AliHLTTPCRawDataUnpackerComponent.h"
+#include "AliHLTTPCDigitPublisherComponent.h"
+#include "AliHLTTPCZeroSuppressionComponent.h"
#include "AliHLTTPCDigitDumpComponent.h"
#include "AliHLTTPCEsdWriterComponent.h"
{
// see header file for class documentation
if (handler) {
+
+ // This the tracking configuration for the full TPC
+ // - 216 clusterfinders (1 per partition)
+ // - 36 slice trackers
+ // - one global merger
+ // - the esd converter
+ // The ESD is shipped embedded into a TTree
int iMinSlice=0;
- int iMaxSlice=1;
+ int iMaxSlice=35;
int iMinPart=0;
- int iMaxPart=1;
- TString fileWriterInput;
- TString esdWriterInput;
+ int iMaxPart=5;
+ TString mergerInput;
for (int slice=iMinSlice; slice<=iMaxSlice; slice++) {
TString trackerInput;
for (int part=iMinPart; part<=iMaxPart; part++) {
TString tracker;
// tracker finder components
tracker.Form("TR_%02d", slice);
- handler->CreateConfiguration(tracker.Data(), "TPCSliceTracker", trackerInput.Data(), "pp-run bfield 0.5");
+ handler->CreateConfiguration(tracker.Data(), "TPCSliceTracker", trackerInput.Data(), "-pp-run -bfield 0.5");
- // input for the global file writer
- if (fileWriterInput.Length()>0) fileWriterInput+=" ";
- fileWriterInput+=trackerInput;
+ if (mergerInput.Length()>0) mergerInput+=" ";
+ mergerInput+=tracker;
- // input for the esd writer
- if (esdWriterInput.Length()>0) esdWriterInput+=" ";
- esdWriterInput+=tracker;
}
- // the writer configuration
- handler->CreateConfiguration("sink1", "FileWriter" , fileWriterInput.Data(), "-specfmt -subdir=test_%d -blcknofmt=_0x%x -idfmt=_0x%08x");
- // the esd writer configuration
- handler->CreateConfiguration("esd-writer", "TPCEsdWriter" , esdWriterInput.Data(), "-datafile AliESDs.root");
+ // GlobalMerger component
+ handler->CreateConfiguration("globalmerger","TPCGlobalMerger",mergerInput.Data(),"");
+
+ // the esd converter configuration
+ handler->CreateConfiguration("esd-converter", "TPCEsdConverter" , "globalmerger", "-tree");
}
return 0;
}
{
// see header file for class documentation
return NULL;
- //return "sink1";
- //return "esd-writer";
+ //return "esd-converter";
}
const char* AliHLTTPCAgent::GetRequiredComponentLibraries() const
{
// see header file for class documentation
if (!pHandler) return -EINVAL;
+
+ pHandler->AddComponent(new AliHLTTPCRunStatisticsProducerComponent);
+ pHandler->AddComponent(new AliHLTTPCEventStatisticsProducerComponent);
+ pHandler->AddComponent(new AliHLTTPCCalibCEComponent);
+ pHandler->AddComponent(new AliHLTTPCCalibPulserComponent);
+ pHandler->AddComponent(new AliHLTTPCCalibPedestalComponent);
+ pHandler->AddComponent(new AliHLTTPCCompModelInflaterComponent);
+ pHandler->AddComponent(new AliHLTTPCCompModelDeflaterComponent);
+ pHandler->AddComponent(new AliHLTTPCCompModelDeconverterComponent);
+ pHandler->AddComponent(new AliHLTTPCCompModelConverterComponent);
+ pHandler->AddComponent(new AliHLTTPCCompDumpComponent);
+ pHandler->AddComponent(new AliHLTTPCCATrackerComponent);
+ pHandler->AddComponent(new AliHLTTPCGlobalMergerComponent);
+ pHandler->AddComponent(new AliHLTTPCSliceTrackerComponent);
+ pHandler->AddComponent(new AliHLTTPCVertexFinderComponent);
+ pHandler->AddComponent(new AliHLTTPCClusterFinderComponent(AliHLTTPCClusterFinderComponent::kClusterFinderPacked));
+ pHandler->AddComponent(new AliHLTTPCClusterFinderComponent(AliHLTTPCClusterFinderComponent::kClusterFinderUnpacked));
+ pHandler->AddComponent(new AliHLTTPCClusterFinderComponent(AliHLTTPCClusterFinderComponent::kClusterFinderDecoder));
+ pHandler->AddComponent(new AliHLTTPCRawDataUnpackerComponent);
+ pHandler->AddComponent(new AliHLTTPCDigitPublisherComponent);
+ pHandler->AddComponent(new AliHLTTPCZeroSuppressionComponent);
pHandler->AddComponent(new AliHLTTPCDigitDumpComponent);
pHandler->AddComponent(new AliHLTTPCEsdWriterComponent::AliWriter);
pHandler->AddComponent(new AliHLTTPCEsdWriterComponent::AliConverter);
#include <cerrno>
#include "TString.h"
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCalibCEComponent gAliHLTTPCCalibCEComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCalibCEComponent)
AliHLTTPCCalibCEComponent::AliHLTTPCCalibCEComponent()
#include <errno.h>
#include "TString.h"
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCalibPedestalComponent gAliHLTTPCCalibPedestalComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCalibPedestalComponent)
AliHLTTPCCalibPedestalComponent::AliHLTTPCCalibPedestalComponent()
#include <errno.h>
#include "TString.h"
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCalibPulserComponent gAliHLTTPCCalibPulserComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCalibPulserComponent)
AliHLTTPCCalibPulserComponent::AliHLTTPCCalibPulserComponent()
#include "TObjString.h"
#include <sys/time.h>
-// this is a global object used for automatic component registration, do not use this
-// use fPackedSwitch = true for packed inputtype "gkDDLPackedRawDataType"
-// use fPackedSwitch = false for unpacked inputtype "gkUnpackedRawDataType"
-AliHLTTPCClusterFinderComponent gAliHLTTPCClusterFinderComponentPacked(AliHLTTPCClusterFinderComponent::kClusterFinderPacked);
-AliHLTTPCClusterFinderComponent gAliHLTTPCClusterFinderComponentUnpacked(AliHLTTPCClusterFinderComponent::kClusterFinderUnpacked);
-AliHLTTPCClusterFinderComponent gAliHLTTPCClusterFinderComponentDecoder(AliHLTTPCClusterFinderComponent::kClusterFinderDecoder);
-
/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCClusterFinderComponent)
#include <cerrno>
-// ** This is a global object used for automatic component registration, do not use this
-AliHLTTPCEventStatisticsProducerComponent gAliHLTTPCEventStatisticsProducerComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCEventStatisticsProducerComponent)
// ------------------------------------------------------------------------------------------
#include <cstdlib>
#include <cerrno>
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCGlobalMergerComponent gAliHLTTPCGlobalMergerComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCGlobalMergerComponent);
AliHLTTPCGlobalMergerComponent::AliHLTTPCGlobalMergerComponent()
#include <cstdlib>
#include <cerrno>
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCRawDataUnpackerComponent gAliHLTTPCRawDataUnpackerComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCRawDataUnpackerComponent);
AliHLTTPCRawDataUnpackerComponent::AliHLTTPCRawDataUnpackerComponent()
#include <cerrno>
-// ** This is a global object used for automatic component registration, do not use this
-AliHLTTPCRunStatisticsProducerComponent gAliHLTTPCRunStatisticsProducerComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCRunStatisticsProducerComponent)
// ------------------------------------------------------------------------------------------
//#include <stdlib.h>
//#include <cerrno>
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCSliceTrackerComponent gAliHLTTPCSliceTrackerComponent;
-
/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCSliceTrackerComponent)
#include <cstdlib>
#include <cerrno>
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCVertexFinderComponent gAliHLTTPCVertexFinderComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCVertexFinderComponent);
AliHLTTPCVertexFinderComponent::AliHLTTPCVertexFinderComponent()
#include <sys/time.h>
-AliHLTTPCZeroSuppressionComponent gAliHLTTPCZeroSuppressionComponent;
-
/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCZeroSuppressionComponent)
#include <stdlib.h>
#include <errno.h>
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCompDumpComponent gAliHLTTPCCompClusterDumpComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCompDumpComponent)
AliHLTTPCCompDumpComponent::AliHLTTPCCompDumpComponent()
* applied to these tracks and clusters
*/
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCompModelConverterComponent gAliHLTTPCCompClusterModelConverterComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCompModelConverterComponent)
AliHLTTPCCompModelConverterComponent::AliHLTTPCCompModelConverterComponent() :
* due to the Vestbo-compression
*/
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCompModelDeconverterComponent gAliHLTTPCCompClusterModelDeconverterComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCompModelDeconverterComponent)
AliHLTTPCCompModelDeconverterComponent::AliHLTTPCCompModelDeconverterComponent():
#include <stdlib.h>
#include <errno.h>
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCompModelDeflaterComponent gAliHLTTPCCompClusterModelDeflaterComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCompModelDeflaterComponent);
AliHLTTPCCompModelDeflaterComponent::AliHLTTPCCompModelDeflaterComponent():
#include <stdlib.h>
#include <errno.h>
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCompModelInflaterComponent gAliHLTTPCCompClusterModelInflaterComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCompModelInflaterComponent);
AliHLTTPCCompModelInflaterComponent::AliHLTTPCCompModelInflaterComponent()
// the esd writer configuration
AliHLTConfiguration sink("sink1", "TPCEsdWriter" , "globalmerger", "-datafile AliHLTESDs.root");
} else {
- // the esd writer configuration
+ // the esd converter configuration
AliHLTConfiguration esdcconf("esd-converter", "TPCEsdConverter" , "globalmerger", "-tree");
- // the esd writer configuration
+ // the root file writer configuration
AliHLTConfiguration sink("sink1", "ROOTFileWriter" , "esd-converter", "-datafile AliHLTESDs.root");
}
}
#include "AliHLTTPCDefinitions.h"
#include "AliHLTTPCFileHandler.h"
-/** global instance for agent registration */
-AliHLTTPCDigitPublisherComponent gAliHLTTPCDigitPublisherComponent;
-
/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCDigitPublisherComponent)
#include "TStopwatch.h"
#include "TMath.h"
-
-// this is a global object used for automatic component registration, do not use this
-AliHLTTPCCATrackerComponent gAliHLTTPCCATrackerComponent;
-
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCCATrackerComponent)
AliHLTTPCCATrackerComponent::AliHLTTPCCATrackerComponent()
PACKCFLAGS := ${HLTCLFAGS}
PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-EINCLUDE := HLT/TPCLib HLT/TPCLib/tracking HLT/TPCLib/comp HLT/TPCLib/tracking-ca HLT/BASE HLT/BASE/util HLT/RCU TPC RAW STEER
+EINCLUDE := HLT/TPCLib \
+ HLT/TPCLib/tracking \
+ HLT/TPCLib/comp \
+ HLT/TPCLib/tracking-ca \
+ HLT/TPCLib/offline \
+ HLT/BASE \
+ HLT/BASE/util \
+ HLT/RCU \
+ TPC \
+ RAW \
+ STEER