ALIROOT-5433 Transition to CDHv3 in HLT
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerCosmics.h
CommitLineData
411a92da 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTRIGGERCOSMICS_H
4#define ALIHLTTRIGGERCOSMICS_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 AliHLTTriggerCosmics.h
10/// @author Kalliopi Kanaki
11/// @date 2011-02-23
12/// @brief HLT trigger component for tagging cosmics tracks inside the TPC
13
14#include "AliHLTTrigger.h"
15#include "TString.h"
16
17class AliESDtrack;
18class AliTPCcalibTime;
19
20/**
21 * @class AliHLTTriggerCosmics
22 * HLT trigger component for charged particle multiplicity in the
23 * central barrel.
24 *
25 * Triggers on charged particle number in a certain pt range and geometrical
26 * acceptance
27 *
28 * Multiple instances of this component can serve different trigger
29 * conditions, i.e. component parameters. The different instances get
30 * different names, specified by the '-triggername' component argument.
31 * The configuration is loaded from OCDB entries according to the name, see
32 * below.
33 *
34 * <h2>General properties:</h2>
35 *
36 * Component ID: \b BarrelMultiplicityTrigger <br>
37 * Library: \b libAliHLTTrigger.so <br>
38 * Input Data Types: kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree
39 * kAliHLTDataTypeTrack <br>
40 * Output Data Types: ::kAliHLTAnyDataType <br>
41 *
42 * <h2>Mandatory arguments:</h2>
43 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
44 *
45 * <h2>Optional arguments:</h2>
46 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
47 *
48 * <h2>Configuration:</h2>
49 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
50 * \li -mintracks <i> n </i> <br>
51 * required number of tracks for a trigger
52 * \li -minpt <i> pt </i> <br>
53 * required minimum pt for a trigger
54 * \li -maxpt <i> pt </i> <br>
55 * required maximum pt for a trigger
56 * \li -min-ldca <i> dca </i> <br>
57 * minimum longitudinal dca to reference point
58 * \li -max-ldca <i> dca </i> <br>
59 * maximum longitudinal dca to reference point
60 * \li -min-tdca <i> dca </i> <br>
61 * minimum transverse dca to reference point
62 * \li -max-tdca <i> dca </i> <br>
63 * maximum transverse dca to reference point
64 * \li -triggername <i> name </i> <br>
65 * The name of this specific trigger.
66 *
67 * By default, configuration is loaded from OCDB, can be overridden by
68 * component arguments.
69 *
70 * <h2>Default CDB entries:</h2>
71 * HLT/ConfigHLT/BarrelMultiplicityTrigger: TObjString storing the arguments <br>
72 * HLT/ConfigHLT/<name>: for triggers with specific names
73 *
74 * HLT/ConfigHLT/H_._Barrel_pT_Single_._V0001.001
75 * - TriggerName : H-Barrel_pT_Single-V0001.001
76 * - ObjectType : AliHLTESDTrackCuts
77 * HLT/ConfigHLT/H_._Barrel_pT_Single_._V0002.001
78 * - TriggerName : H-Barrel_pT_Single-V0002.001
79 * - ObjectType : AliHLTESDTrackCuts
80 * HLT/ConfigHLT/H_._Barrel_pT_Single_._V0003.001
81 * - TriggerName : H-Barrel_pT_Single-V0003.001
82 * - ObjectType : AliHLTESDTrackCuts
83 *
84 * <h2>Performance:</h2>
85 *
86 *
87 * <h2>Memory consumption:</h2>
88 *
89 *
90 * <h2>Output size:</h2>
91 *
92 *
93 * \ingroup alihlt_trigger_components
94 */
95class AliHLTTriggerCosmics : public AliHLTTrigger
96{
97 public:
98 AliHLTTriggerCosmics();
99 virtual ~AliHLTTriggerCosmics();
100
101 /// inherited from AliHLTTrigger: name of this trigger
102 virtual const char* GetTriggerName() const;
103 /// inherited from AliHLTComponent: create an instance
104 virtual AliHLTComponent* Spawn();
105
106 protected:
107 /// inherited from AliHLTComponent: handle the initialization
108 int DoInit(int argc, const char** argv);
109
110 /// inherited from AliHLTComponent: handle cleanup
111 int DoDeinit();
112
113 /// inherited from AliHLTComponent: handle re-configuration event
114 int Reconfigure(const char* cdbEntry, const char* chainId);
115
116 /// inherited from AliHLTComponent: handle dcs update event
117 int ReadPreprocessorValues(const char* modules);
118
119 /// Configure from CDB object, checking if AliHLTESDTrackCuts or TObjString
120 int ConfigureFromCDBObject(TString cdbPath);
121
122 /// inherited from AliHLTComponent, scan one argument and
123 /// its parameters
124 //int ScanConfigurationArgument(int argc, const char** argv);
125
126 private:
127 /// copy constructor prohibited
128 AliHLTTriggerCosmics (const AliHLTTriggerCosmics&);
129
130 /// assignment operator prohibited
131 AliHLTTriggerCosmics& operator=(const AliHLTTriggerCosmics&);
132
133 /// inherited from AliHLTTrigger: calculate the trigger
134 virtual int DoTrigger();
135
136 /// Name of the trigger
137 TString fName; //! transient
138 /// object for accessing the offline code
139 AliTPCcalibTime *fTrackSelection; //! transient
140
141 /// the default configuration entry for this component
142 static const char* fgkDefaultOCDBEntry; //!transient
143
144 ClassDef(AliHLTTriggerCosmics, 1)
145};
146#endif //ALIHLTTRIGGERCOSMICS_H