Updated macros for PHOS alignment calculation
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerTrdClusterMultiplicity.h
1 // $Id$
2 //-*- Mode: C++ -*-
3 #ifndef ALIHLTTRIGGERTRDCLUSTERMULT_H
4 #define ALIHLTTRIGGERTRDCLUSTERMULT_H
5 //* This file is property of and copyright by the ALICE HLT Project        * 
6 //* ALICE Experiment at CERN, All rights reserved.                         *
7 //* See cxx source for full Copyright notice                               *
8
9 /// @file   AliHLTTriggerPhosMip.h
10 /// @author Svein Lindal
11 /// @date   2009-08-17
12 /// @brief  HLT Minimum Ionizing Particle (MIP) trigger for PHOS
13
14 #include "AliHLTTrigger.h"
15
16 /**
17  * @class  AliHLTTriggerPhosMip
18  * HLT trigger component for Minimum Ionizing Particles (MIPs) in PHOS.
19  * 
20  * Triggers on PHOS clusters containing total energy in the range
21  * fEMin < energy < fEMax spread out between fewer than fNCellsMax cells.
22  *
23  * <h2>General properties:</h2>
24  *
25  * Component ID: \b PhosMipTrigger                             <br>
26  * Library: \b libAliHLTTrigger.so                                        <br>
27  * Input Data Types:  kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree    <br>
28  * Output Data Types: ::kAliHLTAnyDataType                                <br>
29  *
30  * <h2>Mandatory arguments:</h2>
31  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
32  *
33  * <h2>Optional arguments:</h2>
34  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
35  *
36  * <h2>Configuration:</h2>
37  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
38  * \li -emin     <i> e   </i> <br>
39  *      minimum required energy of the cluster
40  *
41 * \li -emax    <i> e   </i> <br>
42  *      maximum energy of the cluster
43  *
44  * \li -ncells     <i> e   </i> <br>
45  *      Maximum number of cells in cluster
46  *
47  * 
48  * By default, configuration is loaded from OCDB, can be overridden by
49  * component arguments.
50  *
51  * <h2>Default CDB entries:</h2>
52  * HLT/ConfigHLT/PhosMipTrigger: TObjString storing the arguments
53  *
54  * <h2>Performance:</h2>
55  * 
56  *
57  * <h2>Memory consumption:</h2>
58  * 
59  *
60  * <h2>Output size:</h2>
61  * 
62  *
63  * \ingroup alihlt_trigger_components
64  */
65
66 class TClonesArray;
67 class AliHLTTriggerTrdClusterMultiplicity : public AliHLTTrigger
68 {
69 public:
70   AliHLTTriggerTrdClusterMultiplicity();
71   ~AliHLTTriggerTrdClusterMultiplicity();
72
73
74   /// inherited from AliHLTTrigger: name of this trigger
75   virtual const char* GetTriggerName() const;
76   /// inherited from AliHLTComponent: create an instance
77   virtual AliHLTComponent* Spawn();
78
79  protected:
80   /// inherited from AliHLTComponent: handle the initialization
81   int DoInit(int argc, const char** argv);
82
83   /// inherited from AliHLTComponent: handle cleanup
84   int DoDeinit();
85
86   /// inherited from AliHLTComponent: handle re-configuration event
87   int Reconfigure(const char* cdbEntry, const char* chainId);
88
89   /// inherited from AliHLTTrigger: calculate the trigger
90   virtual int DoTrigger();
91
92   int Configure(const char* arguments);
93
94   /// Not implemented.
95   AliHLTTriggerTrdClusterMultiplicity(const AliHLTTriggerTrdClusterMultiplicity&);
96   /// Not implemented.
97   AliHLTTriggerTrdClusterMultiplicity& operator = (const AliHLTTriggerTrdClusterMultiplicity&);
98
99   /// Variables for triggger configuration
100   Int_t fClusterMult;
101   TClonesArray* fClusterArray;
102
103   /// the default configuration entry for this component
104
105   ClassDef(AliHLTTriggerTrdClusterMultiplicity, 0)
106 };
107
108 #endif