]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/trigger/AliHLTTriggerPhosMip.h
- fixes for bug 63765 - see for details the post
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerPhosMip.h
1 // $Id$
2 //-*- Mode: C++ -*-
3 #ifndef ALIHLTTRIGGERPHOSMIP_H
4 #define ALIHLTTRIGGERPHOSMIP_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 AliESDtrack;
18
19 /**
20  * @class  AliHLTTriggerPhosMip
21  * HLT trigger component for Minimum Ionizing Particles (MIPs) in PHOS.
22  * 
23  * Triggers on PHOS clusters containing total energy in the range
24  * fEMin < energy < fEMax spread out between fewer than fNCellsMax cells.
25  *
26  * <h2>General properties:</h2>
27  *
28  * Component ID: \b PhosMipTrigger                             <br>
29  * Library: \b libAliHLTTrigger.so                                        <br>
30  * Input Data Types:  kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree    <br>
31  * Output Data Types: ::kAliHLTAnyDataType                                <br>
32  *
33  * <h2>Mandatory arguments:</h2>
34  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
35  *
36  * <h2>Optional arguments:</h2>
37  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
38  *
39  * <h2>Configuration:</h2>
40  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
41  * \li -emin     <i> e   </i> <br>
42  *      minimum required energy of the cluster
43  *
44 * \li -emax    <i> e   </i> <br>
45  *      maximum energy of the cluster
46  *
47  * \li -ncells     <i> e   </i> <br>
48  *      Maximum number of cells in cluster
49  *
50  * 
51  * By default, configuration is loaded from OCDB, can be overridden by
52  * component arguments.
53  *
54  * <h2>Default CDB entries:</h2>
55  * HLT/ConfigHLT/PhosMipTrigger: TObjString storing the arguments
56  *
57  * <h2>Performance:</h2>
58  * 
59  *
60  * <h2>Memory consumption:</h2>
61  * 
62  *
63  * <h2>Output size:</h2>
64  * 
65  *
66  * \ingroup alihlt_trigger_components
67  */
68
69 class AliHLTTriggerPhosMip : public AliHLTTrigger
70 {
71 public:
72   AliHLTTriggerPhosMip();
73   ~AliHLTTriggerPhosMip();
74
75
76   /// inherited from AliHLTTrigger: name of this trigger
77   virtual const char* GetTriggerName() const;
78   /// inherited from AliHLTComponent: create an instance
79   virtual AliHLTComponent* Spawn();
80
81  protected:
82   /// inherited from AliHLTComponent: handle the initialization
83   int DoInit(int argc, const char** argv);
84
85   /// inherited from AliHLTComponent: handle cleanup
86   int DoDeinit();
87
88   /// inherited from AliHLTComponent: handle re-configuration event
89   int Reconfigure(const char* cdbEntry, const char* chainId);
90
91   /// inherited from AliHLTComponent, scan one argument and
92   /// its parameters
93   int ScanConfigurationArgument(int argc, const char** argv);
94
95   /// inherited from AliHLTComponent
96   //  Get a ratio by how much the data volume is shrunken or enhanced.
97   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
98
99 private:
100
101   /// inherited from AliHLTTrigger: calculate the trigger
102   virtual int DoTrigger();
103
104   /// Variables for triggger configuration
105   float fEMin;
106   float fEMax;
107   int fNCellsMax;
108
109   /// the default configuration entry for this component
110   static const char* fgkOCDBEntry; //!transient
111
112   ClassDef(AliHLTTriggerPhosMip, 0)
113 };
114
115 #endif //ALIHLTTRIGGERPHOSMIP_H