fc2b0c6d |
1 | //-*- Mode: C++ -*- |
f6f84c8e |
2 | // $Id$ |
fc2b0c6d |
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 |