]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCTrackHistoComponent.h
increasing rowscope from 2 to 6 in order to allow bigger gaps between clusters (Gaute)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCTrackHistoComponent.h
CommitLineData
dadc7068 1// XEmacs -*-C++-*-
2// $Id$
3
4#ifndef ALIHLTTPCTRACKHISTOCOMPONENT_H
5#define ALIHLTTPCTRACKHISTOCOMPONENT_H
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 *
9
10/** @file AliHLTTPCTrackHistoComponent.h
11 @author Gaute Ovrebekk
12 @date
a267c68e 13 @brief Component for track histo
dadc7068 14*/
15
16#include "AliHLTProcessor.h"
17#include "AliHLTTPCSpacePointData.h"
18#include "AliHLTTPCTrackSegmentData.h"
19
20class AliHLTTPCConfMapper;
a267c68e 21class TNtuple;
22class AliHLTTPCTrackArray;
dadc7068 23
24/**
25 * @class AliHLTTPCTrackHistoComponent
26 * Component for ploting proparties of Tracks.
a267c68e 27 * The component gives out two NTuples. One for cluster- and one for track proprties
dadc7068 28 *
a9f47f83 29 * <h2>General properties:</h2>
30 *
dadc7068 31 * Component ID: \b TPCTrackHisto <br>
a090f4a6 32 * Library: \b libAliHLTTPC.so <br>
33 * Input Data Types: AliHLTTPCDefinitions::fgkClustersDataType,
34 * AliHLTTPCDefinitions::fgkTrackSegmentsDataType or
35 * AliHLTTPCDefinitions::fgkTracksDataType <br>
a267c68e 36 * Output Data Types: @ref kAliHLTDataTypeNtuple <br>
dadc7068 37 *
a9f47f83 38 * <h2> Mandatory arguments: </h2>
a267c68e 39 * \li No mandaroty arguments.
dadc7068 40 *
a9f47f83 41 * <h2> Optional arguments: </h2>
dadc7068 42 *
a9f47f83 43 * <h2>Configuration:</h2>
44 *
45 *
46 * <h2>Default CDB entries:</h2>
47 * The component has for now no CDB entry
48 *
49 * <h2>Performance:</h2>
50 * Not Tested
51 *
52 * <h2>Memory consumption:</h2>
53 * Not Tested
54 *
55 * <h2>Output size:</h2>
a267c68e 56 * Size varibles in Ntuple
a9f47f83 57 *
58 *
59 *
a090f4a6 60 * @ingroup alihlt_tpc_components
dadc7068 61 */
62class AliHLTTPCTrackHistoComponent : public AliHLTProcessor
63{
64public:
65 /** default constructor */
66 AliHLTTPCTrackHistoComponent();
67 /** destructor */
68 virtual ~AliHLTTPCTrackHistoComponent();
69
70 // Public functions to implement AliHLTComponent's interface.
71 // These functions are required for the registration process
72
9783a5cf 73 /** interface function, see AliHLTComponent for description */
dadc7068 74 const char* GetComponentID();
9783a5cf 75 /** interface function, see AliHLTComponent for description */
dadc7068 76 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
9783a5cf 77 /** interface function, see AliHLTComponent for description */
dadc7068 78 AliHLTComponentDataType GetOutputDataType();
9783a5cf 79 /** interface function, see AliHLTComponent for description */
dadc7068 80 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
9783a5cf 81 /** interface function, see AliHLTComponent for description */
dadc7068 82 AliHLTComponent* Spawn();
83
84protected:
85
86 // Protected functions to implement AliHLTComponent's interface.
87 // These functions provide initialization as well as the actual processing
88 // capabilities of the component.
89
9783a5cf 90 /** interface function, see AliHLTComponent for description */
dadc7068 91 int DoInit( int argc, const char** argv );
9783a5cf 92 /** interface function, see AliHLTComponent for description */
dadc7068 93 int DoDeinit();
9783a5cf 94 /** interface function, see AliHLTComponent for description */
dadc7068 95 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
96
97 using AliHLTProcessor::DoEvent;
98
99private:
100 /** copy constructor prohibited */
101 AliHLTTPCTrackHistoComponent(const AliHLTTPCTrackHistoComponent&);
102 /** assignment operator prohibited */
103 AliHLTTPCTrackHistoComponent& operator=(const AliHLTTPCTrackHistoComponent&);
104 /**
105 * Configure the component.
106 * Parse a string for the configuration arguments and set the component
107 * properties.
108 */
109 int Configure(const char* arguments);
110
111 void ReadTracks(const AliHLTComponentBlockData* iter,Int_t &tt);
112
113 void PushHisto();
a267c68e 114 void FillResidual( UInt_t pos,AliHLTUInt8_t slice,AliHLTUInt8_t patch,Float_t& resy,Float_t& resz);
dadc7068 115
a267c68e 116 TNtuple *fClusters; //! transient
117 TNtuple *fTracks; //! transient
a9f47f83 118
dadc7068 119 vector<UInt_t> fTrackClusterID[36][6]; //! transient
120
a267c68e 121 AliHLTTPCTrackArray *fTracksArray; //! transient
122 AliHLTTPCSpacePointData *fClustersArray[36][6]; //! transient
123 UInt_t fNcl[36][6]; //! transient
124
125 ClassDef(AliHLTTPCTrackHistoComponent, 1);
dadc7068 126
127};
128#endif