]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDTrackerV1Component.h
Bug fix: AliHLTComponent::ConfigureFromArgumentString
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrackerV1Component.h
CommitLineData
4de61263 1//-*- Mode: C++ -*-
2// $Id$
0e339ac7 3#ifndef ALIHLTTRDTRACKERV1COMPONENT_H
4#define ALIHLTTRDTRACKERV1COMPONENT_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
dc2e6604 8/** @file AliHLTTRDTrackerV1Component.h
c05c94dc 9 @author Theodor Rascanu
0e339ac7 10 @date
11 @brief Declaration of a TRDTracker component. */
12
13#include "AliHLTProcessor.h"
9c9608d0 14#include "AliESDEvent.h"
0e339ac7 15
16class TFile;
17class TGeoManager;
18class AliCDBManager;
f7a1cc68 19class AliMagF;
0e339ac7 20class AliTRDtrackerV1;
21class AliTRDrecoParam;
0d66dbf5 22class AliTRDReconstructor;
ff350753 23class TClonesArray;
9c9608d0 24class TBuffer;
886e8d3d 25
0e339ac7 26/**
dc2e6604 27 * @class AliHLTTRDTrackerV1Component
0e339ac7 28 * @brief A TRDTrackerV1 HLT processing component.
29 *
30 * Uses the second generation TRD tracker AliTRDtrackerV1
775f67d7 31 */
0e339ac7 32
33class AliHLTTRDTrackerV1Component : public AliHLTProcessor
775f67d7 34{
9c9608d0 35protected:
36
37 class AliHLTTRDESDEvent : public AliESDEvent
38 {
39 // Here we use our own slim version of AliESDEvent
40 // by overwriting AliESDEvent::CreateStdContent
41 public:
42 void CreateStdContent();
43
44 // streamer function is prohibited, class for internal use only
45 void Streamer(TBuffer &R__b);
46 };
47
775f67d7 48public:
49 AliHLTTRDTrackerV1Component();
50 virtual ~AliHLTTRDTrackerV1Component();
0e339ac7 51
775f67d7 52 // Public functions to implement AliHLTComponent's interface.
53 // These functions are required for the registration process
0e339ac7 54
775f67d7 55 const char* GetComponentID();
93ce7d1b 56 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
57 AliHLTComponentDataType GetOutputDataType();
58 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
775f67d7 59 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
60 AliHLTComponent* Spawn();
99f4c254 61 void GetOCDBObjectDescription(TMap* const targetMap);
62
775f67d7 63protected:
775f67d7 64 // Protected functions to implement AliHLTComponent's interface.
65 // These functions provide initialization as well as the actual processing
66 // capabilities of the component.
0e339ac7 67
775f67d7 68 int DoInit( int argc, const char** argv );
69 int DoDeinit();
70 int DoEvent( const AliHLTComponentEventData& evtData,
71 const AliHLTComponentBlockData* blocks,
72 AliHLTComponent_TriggerData& /*trigData*/,
73 AliHLTUInt8_t* outputPtr,
74 AliHLTUInt32_t& size,
75 vector<AliHLTComponent_BlockData>& outputBlocks );
b32b76cb 76 int Reconfigure(const char* cdbEntry, const char* chainId);
77 int ReadPreprocessorValues(const char* modules);
78
775f67d7 79 using AliHLTProcessor::DoEvent;
b32b76cb 80
81 int Configure(const char* arguments);
d6eceb66 82 virtual int SetParams();
9c9608d0 83
2359a6ef 84protected:
775f67d7 85 /** copy constructor prohibited */
86 AliHLTTRDTrackerV1Component(const AliHLTTRDTrackerV1Component&);
87 /** assignment operator prohibited */
88 AliHLTTRDTrackerV1Component& operator=(const AliHLTTRDTrackerV1Component&);
0e339ac7 89
775f67d7 90 // The size of the output data produced, as a percentage of the input data's size.
91 // Can be greater than 100 (%)
92 unsigned fOutputPercentage; // Output volume in percentage of the input
dc2e6604 93
775f67d7 94 AliTRDtrackerV1 *fTracker;//! Offline-pure/HLT tracker V1
95 AliTRDrecoParam *fRecoParam; //! Offline reco params
9c9608d0 96 AliTRDReconstructor* fReconstructor;
97 AliHLTTRDESDEvent* fESD;
775f67d7 98
ff350753 99 TClonesArray* fClusterArray;
100
2359a6ef 101 Int_t fRecoParamType; // default will be the low flux
102 Int_t fNtimeBins; // number of time bins for the tracker to use
2359a6ef 103 Int_t fPIDmethod; // 0=LikelyHood(LH) 1=NeuronalNetwork(NN) 2=TruncatedMean(TM)
b32b76cb 104 TString fgeometryFileName;
c1c0ed93 105 Bool_t fHLTflag; // use HLT flag in reconstructor
106 Bool_t fOutputV1Tracks; // output TRD tracks, needed for calibration and ESDfriends
107 Bool_t fHighLevelOutput; // do we what to have high level output (only for debuging)
108 Bool_t fEmulateHLTTracks; // for debugging data containers
109 Bool_t fImproveTracklets; // improve tracklets?
b32b76cb 110
2359a6ef 111 ClassDef(AliHLTTRDTrackerV1Component, 4)
0e339ac7 112
775f67d7 113};
0e339ac7 114#endif