4 /**************************************************************************
5 * This file is property of and copyright by the ALICE HLT Project *
6 * All rights reserved. *
8 * Primary Authors: Oystein Djuvsland *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
19 #ifndef ALIHLTPHOSMONITORTRIGGERCOMPONENT_H
20 #define ALIHLTPHOSMONITORTRIGGERCOMPONENT_H
25 * @file AliHLTPHOSMonitorTriggerComponent.h
26 * @author Oystein Djuvsland
28 * @brief A monitor trigger component
31 // see below for class documentation
33 // refer to README to build package
35 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
37 #include "AliHLTPHOSProcessor.h"
39 class AliHLTCaloClusterHeaderStruct;
42 * @class AliHLTPHOSMonitorTriggerComponent
44 * @ingroup alihlt_phos
47 class AliHLTPHOSMonitorTriggerComponent: public AliHLTPHOSProcessor
52 AliHLTPHOSMonitorTriggerComponent();
55 virtual ~AliHLTPHOSMonitorTriggerComponent();
57 /** Copy constructor */
58 AliHLTPHOSMonitorTriggerComponent(const AliHLTPHOSMonitorTriggerComponent &) :
59 AliHLTPHOSProcessor(),
60 fCheckClusterEnergy(false),
61 fCheckClusterMultiplicities(false),
62 fClusterEnergyThreshold(1),
63 fMultiplicityThreshold(5),
64 fMultEnergyThreshold(0.5),
65 fDigitMultiplicityThreshold(16),
66 fMultDigitMultiplicityThreshold(9),
70 //Copy constructor not implemented
74 AliHLTPHOSMonitorTriggerComponent & operator = (const AliHLTPHOSMonitorTriggerComponent)
80 /** interface function, see @ref AliHLTComponent for description */
81 const char* GetComponentID();
83 /** interface function, see @ref AliHLTComponent for description */
84 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
86 /** interface function, see @ref AliHLTComponent for description */
87 AliHLTComponentDataType GetOutputDataType();
89 /** interface function, see @ref AliHLTComponent for description */
90 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
92 /** interface function, see @ref AliHLTComponent for description */
94 using AliHLTPHOSProcessor::DoEvent;
95 int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
96 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
97 std::vector<AliHLTComponentBlockData>& outputBlocks);
98 // Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
99 /** interface function, see @ref AliHLTComponent for description */
100 AliHLTComponent* Spawn();
104 /** interface function, see @ref AliHLTComponent for description */
105 int DoInit(int argc, const char** argv);
107 /** interface function, see @ref AliHLTComponent for description */
110 Bool_t CheckClusters(AliHLTCaloClusterHeaderStruct* clusterHeader);
114 Bool_t fCheckClusterEnergy; //COMMENT
115 Bool_t fCheckClusterMultiplicities; //COMMENT
117 Float_t fClusterEnergyThreshold; //COMMENT
118 UInt_t fMultiplicityThreshold; //COMMENT
119 Float_t fMultEnergyThreshold; //COMMENT
120 UInt_t fDigitMultiplicityThreshold; //COMMENT
121 UInt_t fMultDigitMultiplicityThreshold; //COMMENT
123 Float_t fLowerCentrality; //COMMENT
124 Float_t fUpperCentrality; //COMMENT
127 /** interface function, see @ref AliHLTComponent for description */
128 static const AliHLTComponentDataType fgkInputDataTypes[]; //COMMENT