]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDMonitorComponent.h
Make SetChi2 method public
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDMonitorComponent.h
CommitLineData
ce6fd1b1 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTRDMONITORCOMPONENT_H
4#define ALIHLTTRDMONITORCOMPONENT_H
5
c7b7f445 6//* This file is property of and copyright by the ALICE HLT Project *
ce6fd1b1 7//* ALICE Experiment at CERN, All rights reserved. *
8//* See cxx source for full Copyright notice */
9
10/// @file AliHLTTRDMonitorComponent.h
11/// @author Felix Rettig, Stefan Kirsch
c7b7f445 12/// @date 2012-08-16
13/// @brief The TRD monitoring component
ce6fd1b1 14/// @ingroup alihlt_trd_components
15
16#include "AliHLTProcessor.h"
17
c7b7f445 18class TObjArray;
ce6fd1b1 19class TH1I;
20class TH2I;
21class TH2F;
c7b7f445 22class AliTRDonlineTrackingDataContainer;
ce6fd1b1 23
ce6fd1b1 24class AliHLTTRDMonitorComponent : public AliHLTProcessor {
25public:
26 AliHLTTRDMonitorComponent();
27 virtual ~AliHLTTRDMonitorComponent();
28
29 // AliHLTComponent interface functions
30 const char* GetComponentID();
31 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
32 AliHLTComponentDataType GetOutputDataType();
ce6fd1b1 33 void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
ce6fd1b1 34 AliHLTComponent* Spawn();
35
36 protected:
37 // AliHLTComponent interface functions
38 int DoInit( int argc, const char** argv );
39 int DoDeinit();
ce6fd1b1 40 int ScanConfigurationArgument(int argc, const char** argv);
c7b7f445 41 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
ce6fd1b1 42 int Reconfigure(const char* cdbEntry, const char* chainId);
ce6fd1b1 43
44 using AliHLTProcessor::DoEvent;
45
46private:
47 /** copy constructor prohibited */
48 AliHLTTRDMonitorComponent(const AliHLTTRDMonitorComponent&);
49 /** assignment operator prohibited */
50 AliHLTTRDMonitorComponent& operator=(const AliHLTTRDMonitorComponent&);
51
c7b7f445 52 int Configure(const char* arguments);
53
54 void DbgLog(const char* prefix, ... );
55
56 int PrepareTRDData();
57 void DumpTrackingData();
58 int ProcessTRDData();
ce6fd1b1 59
c7b7f445 60 static const AliHLTEventID_t fgkInvalidEventId = 0xffffffffffffffffllu;
61 static const unsigned int fkTRDChambers = 540; //! number of chambers in TRD
62 static const unsigned int fkTRDStacks = 90; //! number of stacks in TRD
63 static const unsigned int fkTRDStacksPerSector = 5; //! number of stacks per sector in TRD
64 static const unsigned int fkTRDSectors = 18; //! number of sectors in TRD
65 static const unsigned int fkMaxRefTracksPerStack = 1000; //! maximum number of ref tracks per stack
66
67 Double_t fTrackHighPtThreshold; //! high-pt track pt threshold
68 Bool_t fHistoMode; //! histogramming mode, 0: single event, 1: accumulative (debugging)
69 Bool_t fTrackingDataDebugOutput; //! switch on/off tracking data text dump
70
71 UShort_t fDebugLevel; //! debug level, 0: debug off
72 Bool_t fWriteHistos; //! switch on/off histogram writing
73
74 AliHLTEventID_t fEventId; //! hlt internal event id
75 AliTRDonlineTrackingDataContainer* fTrackingData; //! container for TRD tracking data
ce6fd1b1 76
ce6fd1b1 77 TObjArray* fHistArray;
c7b7f445 78 TH1I* fHistEventTypes; //! counting of event types
79 TH1I* fHistTrackletY; //! tracklet y-positions from all stacks
80 TH1I* fHistTrackletDy; //! tracklet deflections from all stacks
81 TH2I* fHistTrackletYDy; //! tracklet deflections vs. y-positions
82 TH1I* fHistTrackletZ; //! tracklet z-positions from all stacks
83 TH1I* fHistTrackletPID; //! tracklet PID values from all stacks
84 TH2F* fHistTrackletsHCId; //! number of tracklets per half-chamber
85 TH1I* fHistTrackPt; //! transverse momentum of GTU tracks from all stacks
86 TH1I* fHistTrackPID; //! PID of GTU tracks from all stacks
87 TH1I* fHistTrackLayers; //! contributing layers per GTU track
88 TH1I* fHistTrackLayersHighPt; //! contributing layer per high-pt GTU track
89 TH2F* fHistTracksStack; //! GTU tracks per stack
90 TH2I* fHistTrackletTimingStack; //! tracklet arrival timing by stack
91 TH2I* fHistTrackingTiming; //! tracking timing
92 TH2I* fHistTriggerContribs; //! trigger contributions by sector
ce6fd1b1 93
94 ClassDef(AliHLTTRDMonitorComponent, 0)
95};
c7b7f445 96
ce6fd1b1 97#endif