]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/AliHLTTriggerMonitoringComponent.h
including the CTPData to the input objects of the HLTGlobalTriggerDecision
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerMonitoringComponent.h
CommitLineData
1d229444 1//-*- Mode: C++ -*-
2// $Id: AliHLTTriggerMonitoringComponent.h 24328 2008-03-06 13:26:00Z richterm $
3#ifndef ALIHLTTRIGGERMONITORINGCOMPONENT_H
4#define ALIHLTTRIGGERMONITORINGCOMPONENT_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 AliHLTTriggerMonitoringComponent.h
11 @author Jochen Thaeder
12 @date
13 @brief Produces a monitoring Trigger for AliEve
14*/
15
16// see below for class documentation
17// or
18// refer to README to build package
19// or
20// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22#include "AliHLTProcessor.h"
23#include "AliHLTEventSummary.h"
24
25/**
26 * @class AliHLTTriggerMonitoringComponent
27 * @brief Produces a monitoring Trigger for AliEve
28 *
29 * This class produces a trigger accoring to events with more than x tracks,
30 * with associated clusters more the y and sends it out for every event.
31 * x and y can be set as option
32 *
33 * @ingroup alihlt_trigger
34 */
35
36class AliHLTTriggerMonitoringComponent : public AliHLTProcessor {
37
38public:
39
40 /*
41 * ---------------------------------------------------------------------------------
42 * Constructor / Destructor
43 * ---------------------------------------------------------------------------------
44 */
45
46 /** constructor */
47 AliHLTTriggerMonitoringComponent();
48
49 /** destructor */
50 virtual ~AliHLTTriggerMonitoringComponent();
51
52 /*
53 * ---------------------------------------------------------------------------------
54 * Public functions to implement AliHLTComponent's interface.
55 * These functions are required for the registration process
56 * ---------------------------------------------------------------------------------
57 */
58
e9171232 59 /** interface function, see AliHLTComponent for description */
1d229444 60 const char* GetComponentID();
61
e9171232 62 /** interface function, see AliHLTComponent for description */
1d229444 63 void GetInputDataTypes( AliHLTComponentDataTypeList& list );
64
e9171232 65 /** interface function, see AliHLTComponent for description */
1d229444 66 AliHLTComponentDataType GetOutputDataType();
67
e9171232 68 /** interface function, see AliHLTComponent for description */
1d229444 69 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
70
e9171232 71 /** interface function, see AliHLTComponent for description */
1d229444 72 AliHLTComponent* Spawn();
73
74 protected:
75
76 using AliHLTProcessor::DoEvent;
77
78 /*
79 * ---------------------------------------------------------------------------------
80 * Protected functions to implement AliHLTComponent's interface.
81 * These functions provide initialization as well as the actual processing
82 * capabilities of the component.
83 * ---------------------------------------------------------------------------------
84 */
85
86 /** Initialization */
87 Int_t DoInit( int argc, const char** argv );
88
89 /** DeInitialization */
90 Int_t DoDeinit();
91
92 /** EventLoop */
93 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
94
95 ///////////////////////////////////////////////////////////////////////////////////
96
97private:
98
99 /** copy constructor prohibited */
100 AliHLTTriggerMonitoringComponent (const AliHLTTriggerMonitoringComponent&);
101
102 /** assignment operator prohibited */
103 AliHLTTriggerMonitoringComponent& operator= (const AliHLTTriggerMonitoringComponent&);
104
105 // ------------------------------------------------------------------------------------------
106
107 /** Process trigger */
108 void Trigger();
109
110 /*
111 * ---------------------------------------------------------------------------------
112 * Members - private
113 * ---------------------------------------------------------------------------------
114 */
115
116 /** Cut on total number of tracks */
117 Int_t fTotalTrackCut;
118
119 /** Cut on number of long tracks */
120 Int_t fLongTrackCut;
121
122 /** Event summary class*/
123 AliHLTEventSummary* fEventSummary; //! transient
124
125 ClassDef(AliHLTTriggerMonitoringComponent, 0);
126
127};
128#endif
129