3 #ifndef ALIHLTTRDGLOBALMONITORCOMPONENT_H
4 #define ALIHLTTRDGLOBALMONITORCOMPONENT_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 */
10 /// @file AliHLTTRDGlobalMonitorComponent.h
11 /// @author Felix Rettig, Stefan Kirsch
13 /// @brief A processing component for TRD tracking/trigger data on CN-level
14 /// @ingroup alihlt_trd_components
16 #include "AliHLTProcessor.h"
23 class AliHLTTRDGlobalMonitorComponent : public AliHLTProcessor {
25 AliHLTTRDGlobalMonitorComponent();
26 virtual ~AliHLTTRDGlobalMonitorComponent();
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();
36 // AliHLTComponent interface functions
37 int DoInit( int argc, const char** argv );
39 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
40 int Reconfigure(const char* cdbEntry, const char* chainId);
42 using AliHLTProcessor::DoEvent;
45 /** copy constructor prohibited */
46 AliHLTTRDGlobalMonitorComponent(const AliHLTTRDGlobalMonitorComponent&);
47 /** assignment operator prohibited */
48 AliHLTTRDGlobalMonitorComponent& operator=(const AliHLTTRDGlobalMonitorComponent&);
50 int Configure(const char* arguments);
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)