2 // $Id: AliHLTTriggerMonitoringComponent.h 24328 2008-03-06 13:26:00Z richterm $
3 #ifndef ALIHLTTRIGGERMONITORINGCOMPONENT_H
4 #define ALIHLTTRIGGERMONITORINGCOMPONENT_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 AliHLTTriggerMonitoringComponent.h
11 @author Jochen Thaeder
13 @brief Produces a monitoring Trigger for AliEve
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTProcessor.h"
23 #include "AliHLTEventSummary.h"
26 * @class AliHLTTriggerMonitoringComponent
27 * @brief Produces a monitoring Trigger for AliEve
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
33 * @ingroup alihlt_trigger
36 class AliHLTTriggerMonitoringComponent : public AliHLTProcessor {
41 * ---------------------------------------------------------------------------------
42 * Constructor / Destructor
43 * ---------------------------------------------------------------------------------
47 AliHLTTriggerMonitoringComponent();
50 virtual ~AliHLTTriggerMonitoringComponent();
53 * ---------------------------------------------------------------------------------
54 * Public functions to implement AliHLTComponent's interface.
55 * These functions are required for the registration process
56 * ---------------------------------------------------------------------------------
59 /** interface function, see AliHLTComponent for description */
60 const char* GetComponentID();
62 /** interface function, see AliHLTComponent for description */
63 void GetInputDataTypes( AliHLTComponentDataTypeList& list );
65 /** interface function, see AliHLTComponent for description */
66 AliHLTComponentDataType GetOutputDataType();
68 /** interface function, see AliHLTComponent for description */
69 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
71 /** interface function, see AliHLTComponent for description */
72 AliHLTComponent* Spawn();
76 using AliHLTProcessor::DoEvent;
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 * ---------------------------------------------------------------------------------
87 Int_t DoInit( int argc, const char** argv );
89 /** DeInitialization */
93 Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
95 ///////////////////////////////////////////////////////////////////////////////////
99 /** copy constructor prohibited */
100 AliHLTTriggerMonitoringComponent (const AliHLTTriggerMonitoringComponent&);
102 /** assignment operator prohibited */
103 AliHLTTriggerMonitoringComponent& operator= (const AliHLTTriggerMonitoringComponent&);
105 // ------------------------------------------------------------------------------------------
107 /** Process trigger */
111 * ---------------------------------------------------------------------------------
113 * ---------------------------------------------------------------------------------
116 /** Cut on total number of tracks */
117 Int_t fTotalTrackCut;
119 /** Cut on number of long tracks */
122 /** Event summary class*/
123 AliHLTEventSummary* fEventSummary; //! transient
125 ClassDef(AliHLTTriggerMonitoringComponent, 0);