Trigger for gamma conversions. test macros are added soon.
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerGammaConversion.h
CommitLineData
fc2b0c6d 1//-*- Mode: C++ -*-
2
3#ifndef ALIHLTTRIGGERGAMMACONVERSION_H
4#define ALIHLTTRIGGERGAMMACONVERSION_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 AliHLTTriggerGammaConversion.h
10/// @author Kenneth Aamodt
11/// @date 2009-11-01
12/// @brief HLT trigger component for gamma conversions.
13///
14
15#include "AliHLTTrigger.h"
16
17class AliESDtrack;
18
19/**
20 * @class AliHLTTriggerGammaConversion
21 * HLT trigger component for gamma conversions
22 *
23 *
24 * Triggers on gamma conversions wich satisfy cuts on invariant mass, radius, dca and Pt.
25 *
26 * <h2>General properties:</h2>
27 *
28 * Component ID: \b GammaConversionTrigger <br>
29 * Library: \b libAliHLTTrigger.so <br>
30 * Input Data Types: kAliHLTDataTypeESDObject <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 -max-invmass <i> mass </i> <br>
42 * invariant mass of the two gamma daughters
43 * \li -minpt <i> pt </i> <br>
44 * required minimum pt for a trigger
45 * \li -maxpt <i> pt </i> <br>
46 * required maximum pt for a trigger
47 * \li -max-dca <i> distance </i> <br>
48 * dca between the two gamma daughters
49 * \li -max-radius <i> r </i> <br>
50 * maximum radius from the collision point in xy-plane
51
52 *
53 * By default, configuration is loaded from OCDB, can be overridden by
54 * component arguments.
55 *
56 * <h2>Default CDB entries:</h2>
57 * HLT/ConfigHLT/GammaConversionTrigger: TObjString storing the arguments
58 *
59 * <h2>Performance:</h2>
60 *
61 *
62 * <h2>Memory consumption:</h2>
63 *
64 *
65 * <h2>Output size:</h2>
66 *
67 *
68 * \ingroup alihlt_trigger_components
69 */
70class AliHLTTriggerGammaConversion : public AliHLTTrigger
71{
72 public:
73 AliHLTTriggerGammaConversion();
74 ~AliHLTTriggerGammaConversion();
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 private:
96
97 /// inherited from AliHLTTrigger: calculate the trigger
98 virtual int DoTrigger();
99
100 /// mass cut, maximum
101 double fMaxInvMass; //! transient
102 /// pt cut, maximum
103 double fPtMax; //! transient
104 /// pt cut, minimum
105 double fPtMin; //! transient
106 /// maximum dca to qualify as a gamma conversion
107 double fMaxDca; //! transient
108 /// maximum radius from collision point in xy-plane
109 double fMaxR;
110
111 /// number of reconstructed gammas
112 Int_t fNReconstructedGammas; //! transient
113
114 /// the default configuration entry for this component
115 static const char* fgkOCDBEntry; //!transient
116
117 ClassDef(AliHLTTriggerGammaConversion, 0)
118};
119#endif //ALIHLTTRIGGERGAMMACONVERSION_H