bugfix: memory leak corrected (Stefan Kirsch)
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDGlobalMonitorComponent.h
CommitLineData
ce6fd1b1 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTRDGLOBALMONITORCOMPONENT_H
4#define ALIHLTTRDGLOBALMONITORCOMPONENT_H
5
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 AliHLTTRDGlobalMonitorComponent.h
11/// @author Felix Rettig, Stefan Kirsch
12/// @date 2011-08-02
13/// @brief A processing component for TRD tracking/trigger data on CN-level
14/// @ingroup alihlt_trd_components
15
16#include "AliHLTProcessor.h"
17
18class TObjArray;
19class TH1I;
20class TH2I;
21class TH1F;
22
23class AliHLTTRDGlobalMonitorComponent : public AliHLTProcessor {
24public:
25 AliHLTTRDGlobalMonitorComponent();
26 virtual ~AliHLTTRDGlobalMonitorComponent();
27
28 // AliHLTComponent interface functions
29 const char* GetComponentID();
30 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
31 AliHLTComponentDataType GetOutputDataType();
32 void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
33 AliHLTComponent* Spawn();
34
35 protected:
36 // AliHLTComponent interface functions
37 int DoInit( int argc, const char** argv );
38 int DoDeinit();
39 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
40 int Reconfigure(const char* cdbEntry, const char* chainId);
41
42 using AliHLTProcessor::DoEvent;
43
44private:
45 /** copy constructor prohibited */
46 AliHLTTRDGlobalMonitorComponent(const AliHLTTRDGlobalMonitorComponent&);
47 /** assignment operator prohibited */
48 AliHLTTRDGlobalMonitorComponent& operator=(const AliHLTTRDGlobalMonitorComponent&);
49
50 int Configure(const char* arguments);
51
52 /** data **/
53 TObjArray* fHistArray;
54 TH1I *fHistTrackletY; // tracklet y-positions from all stacks
55 TH1I *fHistTrackletDy; // tracklet deflections from all stacks
56 TH1I *fHistTrackletZ; // tracklet z-positions from all stacks
57 TH1I *fHistTrackletPID; // tracklet PID values from all stacks
58 TH2I *fHistTrackletYDy; // tracklet deflection vs. position from all stacks
59 TH2I *fHistTrackletHC; // tracklet numbers by half-chamber from all stacks
60 TH2I *fHistTrackletBadY; // tracklet numbers with invalid y-position by stack from all stacks
61 TH2I *fHistTrackletBadPID; // tracklet numbers with invalid PID value by stack from all stacks
62 TH1F *fHistFirstTrackletTime; // arrival time of the first tracklet of each link
63 TH1F *fHistLastTrackletTime; // arrival time of the last tracklet of each link
64 TH1F *fHistTmuTime; // tracking done time for each TMU
65 TH1F *fHistSmuTime; // tracking done time for each SMU
66 TH1F *fHistTrackPt; // transverse momentum of GTU tracks from all stacks
67 TH1I *fHistTrackPID; // PID of GTU tracks from all stacks
68 TH2I *fHistTrackStack; // GTU track numbers by stack from all stacks
69 TH1I *fHistTrackletsTrack; // tracklets per GTU track from all stacks
70 TH1I *fHistTrackletsTrackHpt; // tracklets per high-pt GTU track from all stacks
71 TH2I *fHistTriggerContribs; // sector-level trigger contributions from all stacks
72 ClassDef(AliHLTTRDGlobalMonitorComponent, 0)
73};
74#endif