Updated macros for PHOS alignment calculation
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerGammaConversion.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTTRIGGERGAMMACONVERSION_H
5 #define ALIHLTTRIGGERGAMMACONVERSION_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                               *
9
10 /// @file   AliHLTTriggerGammaConversion.h
11 /// @author Kenneth Aamodt
12 /// @date   2009-11-01
13 /// @brief  HLT trigger component for gamma conversions.
14 ///         
15
16 #include "AliHLTTrigger.h"
17
18 class AliESDtrack;
19
20 /**
21  * @class  AliHLTTriggerGammaConversion
22  * HLT trigger component for gamma conversions
23  * 
24  * 
25  * Triggers on gamma conversions wich satisfy cuts on invariant mass, radius, dca and Pt.
26  *
27  * <h2>General properties:</h2>
28  *
29  * Component ID: \b GammaConversionTrigger                             <br>
30  * Library: \b libAliHLTTrigger.so                                        <br>
31  * Input Data Types:  kAliHLTDataTypeESDObject                            <br>
32  * Output Data Types: ::kAliHLTAnyDataType                                <br>
33  *
34  * <h2>Mandatory arguments:</h2>
35  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
36  *
37  * <h2>Optional arguments:</h2>
38  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
39  *
40  * <h2>Configuration:</h2>
41  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
42  * \li -max-invmass    <i> mass  </i> <br>
43  *      invariant mass of the two gamma daughters
44  * \li -minpt    <i> pt  </i> <br>
45  *      required minimum pt for a trigger
46  * \li -maxpt    <i> pt  </i> <br>
47  *      required maximum pt for a trigger
48  * \li -max-dca    <i> distance  </i> <br>
49  *      dca between the two gamma daughters
50   * \li -max-radius    <i> r  </i> <br>
51  *      maximum radius from the collision point in xy-plane 
52
53  *
54  * By default, configuration is loaded from OCDB, can be overridden by
55  * component arguments.
56  *
57  * <h2>Default CDB entries:</h2>
58  * HLT/ConfigHLT/GammaConversionTrigger: TObjString storing the arguments
59  *
60  * <h2>Performance:</h2>
61  * 
62  *
63  * <h2>Memory consumption:</h2>
64  * 
65  *
66  * <h2>Output size:</h2>
67  * 
68  *
69  * \ingroup alihlt_trigger_components
70  */
71 class AliHLTTriggerGammaConversion : public AliHLTTrigger
72 {
73  public:
74   AliHLTTriggerGammaConversion();
75   ~AliHLTTriggerGammaConversion();
76
77   /// inherited from AliHLTTrigger: name of this trigger
78   virtual const char* GetTriggerName() const;
79   /// inherited from AliHLTComponent: create an instance
80   virtual AliHLTComponent* Spawn();
81
82  protected:
83   /// inherited from AliHLTComponent: handle the initialization
84   int DoInit(int argc, const char** argv);
85
86   /// inherited from AliHLTComponent: handle cleanup
87   int DoDeinit();
88
89   /// inherited from AliHLTComponent: handle re-configuration event
90   int Reconfigure(const char* cdbEntry, const char* chainId);
91
92   /// inherited from AliHLTComponent, scan one argument and
93   /// its parameters
94   int ScanConfigurationArgument(int argc, const char** argv);
95
96  private:
97
98   /// inherited from AliHLTTrigger: calculate the trigger
99   virtual int DoTrigger();
100
101   /// mass cut, maximum
102   double fMaxInvMass; //! transient
103   /// pt cut, maximum
104   double fPtMax; //! transient
105   /// pt cut, minimum
106   double fPtMin; //! transient
107   /// maximum dca to qualify as a gamma conversion
108   double fMaxDca; //! transient
109   /// maximum radius from collision point in xy-plane
110   double fMaxR;
111
112   /// number of reconstructed gammas
113   Int_t fNReconstructedGammas; //! transient
114
115   /// the default configuration entry for this component
116   static const char* fgkOCDBEntry; //!transient
117
118   ClassDef(AliHLTTriggerGammaConversion, 0)
119 };
120 #endif //ALIHLTTRIGGERGAMMACONVERSION_H