- adding AliHLTTriggerDecisionParameters to configure the geom trigger from OCDB.
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerBarrelMultiplicity.h
CommitLineData
cafc1a86 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTRIGGERBARRELMULTIPLICITY_H
4#define ALIHLTTRIGGERBARRELMULTIPLICITY_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 AliHLTTriggerBarrelMultiplicity.h
10/// @author Matthias Richter
11/// @date 2009-06-30
12/// @brief HLT trigger component for charged particle multiplicity in
13/// the central barrel.
14
15#include "AliHLTTrigger.h"
16
f1574126 17class AliESDtrack;
18
cafc1a86 19/**
20 * @class AliHLTTriggerBarrelMultiplicity
21 * HLT trigger component for charged particle multiplicity in the
22 * central barrel.
23 *
24 * Triggers on charged particle number in a certain pt range.
895f3660 25 *
26 * <h2>General properties:</h2>
27 *
28 * Component ID: \b BarrelMultiplicityTrigger <br>
29 * Library: \b libAliHLTTrigger.so <br>
30 * Input Data Types: kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree
31 * kAliHLTDataTypeTrack <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 -mintracks <i> n </i> <br>
43 * required number of tracks for a trigger
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
5299dd39 48 * \li -dca-reference <i> x,y,z </i> <br>
49 * reference point for the transverse and longitudinal dca cut
50 * \li -min-ldca <i> dca </i> <br>
51 * minimum longitudinal dca to reference point
52 * \li -max-ldca <i> dca </i> <br>
53 * maximum longitudinal dca to reference point
54 * \li -min-tdca <i> dca </i> <br>
55 * minimum transverse dca to reference point
56 * \li -max-tdca <i> dca </i> <br>
57 * maximum transverse dca to reference point
58 * \li -solenoidBz <i> field </i> <br>
59 * magnetic field needed if the input is not an ESD object
895f3660 60 *
61 * By default, configuration is loaded from OCDB, can be overridden by
62 * component arguments.
63 *
64 * <h2>Default CDB entries:</h2>
65 * HLT/ConfigHLT/BarrelMultiplicityTrigger: TObjString storing the arguments
5299dd39 66 * HLT/ConfigHLT/Solenoidbz: TObjString -solenoidBz field
895f3660 67 *
68 * <h2>Performance:</h2>
69 *
70 *
71 * <h2>Memory consumption:</h2>
72 *
73 *
74 * <h2>Output size:</h2>
75 *
76 *
77 * \ingroup alihlt_trigger_components
cafc1a86 78 */
79class AliHLTTriggerBarrelMultiplicity : public AliHLTTrigger
80{
81 public:
82 AliHLTTriggerBarrelMultiplicity();
83 ~AliHLTTriggerBarrelMultiplicity();
84
85 /// inherited from AliHLTTrigger: name of this trigger
86 virtual const char* GetTriggerName() const;
87 /// inherited from AliHLTComponent: create an instance
88 virtual AliHLTComponent* Spawn();
89
f1574126 90 protected:
91 /// inherited from AliHLTComponent: handle the initialization
92 int DoInit(int argc, const char** argv);
93
94 /// inherited from AliHLTComponent: handle cleanup
95 int DoDeinit();
96
97 /// inherited from AliHLTComponent: handle re-configuration event
98 int Reconfigure(const char* cdbEntry, const char* chainId);
99
5299dd39 100 /// inherited from AliHLTComponent: handle dcs update event
101 int ReadPreprocessorValues(const char* modules);
102
f1574126 103 /// inherited from AliHLTComponent, scan one argument and
104 /// its parameters
105 int ScanConfigurationArgument(int argc, const char** argv);
106
cafc1a86 107 private:
fde46e9e 108
cafc1a86 109 /// inherited from AliHLTTrigger: calculate the trigger
110 virtual int DoTrigger();
111
f1574126 112 /// check whether a track meets the criteria
113 template<class T>
5299dd39 114 bool CheckCondition(T* track, float b);
f1574126 115
cafc1a86 116 /// pt cut, minimum
117 float fPtMin; //! transient
118 /// pt cut, maximum
119 float fPtMax; //! transient
120 /// required number of tracks
f1574126 121 int fMinTracks; //!transient
122
5299dd39 123 /// number of coordinates for the DCA reference point
124 const static short fgkDCAReferenceSize=3;
125 /// reference point for the transverse and longitudinal dca cut
126 float fDCAReference[fgkDCAReferenceSize];
127 /// minimum longitudinal dca to reference point
128 float fMinLDca;
129 /// maximum longitudinal dca to reference point
130 float fMaxLDca;
131 /// minimum transverse dca to reference point
132 float fMinTDca;
133 /// maximum transverse dca to reference point
134 float fMaxTDca;
135 /// magnetic field (dca estimation for)
136 float fSolenoidBz;
137
f1574126 138 /// the default configuration entry for this component
139 static const char* fgkOCDBEntry; //!transient
cafc1a86 140
141 ClassDef(AliHLTTriggerBarrelMultiplicity, 0)
142};
143#endif //ALIHLTTRIGGERBARRELMULTIPLICITY_H