]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDClusterizerComponent.h
add histograms: distributions of eta, phi and pt (Theo)
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizerComponent.h
CommitLineData
4de61263 1//-*- Mode: C++ -*-
0af7cb2e 2// $Id$
3
4#ifndef ALIHLTTRDCLUSTERIZERCOMPONENT_H
5#define ALIHLTTRDCLUSTERIZERCOMPONENT_H
4de61263 6//* This file is property of and copyright by the ALICE HLT Project *
7//* ALICE Experiment at CERN, All rights reserved. *
8//* See cxx source for full Copyright notice *
0af7cb2e 9
10/** @file AliHLTTRDClusterizerComponent.h
c05c94dc 11 @author Theodor Rascanu
0af7cb2e 12 @date
4de61263 13 @brief Declaration of a TRDClusterizer component.
14*/
0af7cb2e 15
16
17#include "AliHLTProcessor.h"
18class AliCDBManager;
dc2e6604 19class AliHLTTRDClusterizer;
0af7cb2e 20class AliRawReaderMemory;
051a0e2d 21class TFile;
519f385f 22class AliTRDrecoParam;
0d66dbf5 23class AliTRDReconstructor;
0af7cb2e 24
25/**
26 * @class AliHLTTRDClusterizerComponent
27 * @brief A TRDClusterizer HLT processing component.
28 *
29 * An implementiation of a TRDClusterizer component that just copies its input data
30 * as a test, demonstration, and example of the HLT component scheme.
31 * @ingroup alihlt_tutorial
32 */
33class AliHLTTRDClusterizerComponent : public AliHLTProcessor
775f67d7 34{
35public:
36 AliHLTTRDClusterizerComponent();
37 virtual ~AliHLTTRDClusterizerComponent();
38
39 // Public functions to implement AliHLTComponent's interface.
40 // These functions are required for the registration process
41
42 const char* GetComponentID();
93ce7d1b 43 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
44 AliHLTComponentDataType GetOutputDataType();
775f67d7 45 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
46 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
47 AliHLTComponent* Spawn();
0af7cb2e 48
775f67d7 49protected:
0af7cb2e 50
775f67d7 51 // Protected functions to implement AliHLTComponent's interface.
52 // These functions provide initialization as well as the actual processing
53 // capabilities of the component.
54
55 int DoInit( int argc, const char** argv );
56 int DoDeinit();
57 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
58 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
59 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
b32b76cb 60 int Reconfigure(const char* cdbEntry, const char* chainId);
775f67d7 61 void PrintObject( TClonesArray* inClustersArray);
b32b76cb 62
775f67d7 63 using AliHLTProcessor::DoEvent;
0af7cb2e 64
b32b76cb 65 int Configure(const char* arguments);
b32b76cb 66 int SetParams();
886e8d3d 67
2359a6ef 68protected:
775f67d7 69 /** copy constructor prohibited */
70 AliHLTTRDClusterizerComponent(const AliHLTTRDClusterizerComponent&);
71 /** assignment operator prohibited */
72 AliHLTTRDClusterizerComponent& operator=(const AliHLTTRDClusterizerComponent&);
73
74 // The size of the output data produced, as a percentage of the input data's size.
75 // Can be greater than 100 (%)
76
77 unsigned int fOutputPercentage; // Output volume in percentage of the input
78 unsigned int fOutputConst;
79
80 AliHLTTRDClusterizer *fClusterizer; //! Offline derived HLT clusterizer
81 AliTRDrecoParam *fRecoParam; //! Offline reco params
82 AliRawReaderMemory *fMemReader; //! Input raw data reader
83 AliTRDReconstructor *fReconstructor;
b32b76cb 84
e47650f5 85 Int_t fRecoParamType; // default will be the low flux
86 Int_t fRecoDataType; // default will be simulation
87 Int_t fRawDataVersion; // depreceated ?
88 Int_t fyPosMethod; // 0=COG 1=LUT 2=Gauss
b32b76cb 89 TString fgeometryFileName;
e47650f5 90 Bool_t fProcessTracklets; // write the L1 tracklets to output
91 Bool_t fHLTstreamer; // use FastStreamer
92 Bool_t fTC; // using tail cancellation
93 Bool_t fHLTflag; // use HLT flag in reconstructor
94 Bool_t fHighLevelOutput; // do we what to have high level output (only for debuging)
95 Bool_t fEmulateHLTClusters; // for debugging data containers
b32b76cb 96
2359a6ef 97 ClassDef(AliHLTTRDClusterizerComponent, 5)
0af7cb2e 98
775f67d7 99};
0af7cb2e 100#endif