]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/AliHLTTriggerBarrelGeomMultiplicity.h
Removed depricted histograms ... cleanup
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerBarrelGeomMultiplicity.h
CommitLineData
a3ec8572 1//-*- Mode: C++ -*-
2// $Id$
46906312 3#ifndef ALIHLTTRIGGERBARRELGEOMMULTIPLICITY_H
4#define ALIHLTTRIGGERBARRELGEOMMULTIPLICITY_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 AliHLTTriggerBarrelGeomMultiplicity.h
10/// @author Oystein Djuvsland
11/// @date 2009-10-08
12/// @brief HLT trigger component for charged particle multiplicity in
13/// a geometrical selection of the central barrel.
14
15#include "AliHLTTrigger.h"
fde46e9e 16
17class AliHLTTriggerDecisionParameters;
18
46906312 19/**
20 * @class AliHLTTriggerBarrelGeomMultiplicity
21 * HLT trigger component for charged particle multiplicity in the
22 * central barrel.
23 *
c308d915 24 * Triggers on charged particle number in a certain geometrical acceptance
46906312 25 *
26 * <h2>General properties:</h2>
27 *
28 * Component ID: \b BarrelGeomMultiplicityTrigger <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 -->
c308d915 36 * \li -triggername <i> n </i> <br>
37 * specifies which configuration object to use for the trigger
46906312 38 *
39 * <h2>Optional arguments:</h2>
40 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
c308d915 41 * \li -geomfile <i> n </i> <br>
42 * specifies root file containing configuration objects
46906312 43 *
44 * <h2>Configuration:</h2>
45 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
46 * \li -mintracks <i> n </i> <br>
47 * required number of tracks for a trigger
46906312 48 * \li -solenoidBz <i> field </i> <br>
49 * magnetic field needed if the input is not an ESD object
50 *
51 * By default, configuration is loaded from OCDB, can be overridden by
52 * component arguments.
53 *
54 * <h2>Default CDB entries:</h2>
c308d915 55 * HLT/ConfigHLT/BarrelGeomMultiplicityTrigger/<triggername>: TObjArray storing the
56 * geometries and readout parameters.
46906312 57 * HLT/ConfigHLT/Solenoidbz: TObjString -solenoidBz field
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 AliHLTTriggerBarrelGeomMultiplicity : public AliHLTTrigger
71{
72 public:
1ecefac2 73
46906312 74 AliHLTTriggerBarrelGeomMultiplicity();
75 ~AliHLTTriggerBarrelGeomMultiplicity();
76
46906312 77 /// inherited from AliHLTComponent: create an instance
78 virtual AliHLTComponent* Spawn();
79
1ecefac2 80 /// inherited from AliHLTTrigger: name of this trigger
81 virtual const char* GetTriggerName() const;
82
46906312 83 protected:
84 /// inherited from AliHLTComponent: handle the initialization
85 int DoInit(int argc, const char** argv);
86
87 /// inherited from AliHLTComponent: handle cleanup
88 int DoDeinit();
89
46906312 90 /// inherited from AliHLTComponent: handle dcs update event
91 int ReadPreprocessorValues(const char* modules);
92
93 /// inherited from AliHLTComponent, scan one argument and
94 /// its parameters
1ecefac2 95 virtual int ScanConfigurationArgument(int argc, const char** argv);
96
97 // Get the detector geometries from CDB entry
98 virtual int GetDetectorGeomsFromCDBObject(const char *cdbEntry, const char *chainId);
99
100 // Get the detector geometries from a root file
101 virtual int GetDetectorGeomsFromFile(const char *filename);
102
103 /// inherited from AliHLTComponent: handle re-configuration event
104 int Reconfigure(const char* cdbEntry = 0, const char* chainId = 0);
46906312 105
106 private:
107
108 /// inherited from AliHLTTrigger: calculate the trigger
1ecefac2 109 virtual int DoTrigger();
46906312 110
111 /// check whether a track meets the criteria
112 template<class T>
113 bool CheckCondition(T* track, float b);
114
115 // check whether a track is in the desired detectors
1ecefac2 116 template<class T>
117 bool IsInDetectors(T* track, float b);
118
119 // magnetic field (dca estimation for)
120 Float_t fSolenoidBz;
121
122 // minimum number of tracks satisfying the cut
123 Int_t fMinTracks;
124
125 // array of (sub-)detectors to trigger on
126 TObjArray *fDetectorArray; // !transient
127
fde46e9e 128 // Trigger decision parameters
129 AliHLTTriggerDecisionParameters *fTriggerDecisionPars; //!transient
1ecefac2 130
131 // The trigger name
132 char *fTriggerName; //!transient
133
c308d915 134 // the default configuration entry for this component
1ecefac2 135 char* fOCDBEntry; //!transient
46906312 136
b210e538 137 /** Keep the copy constructor private since it should not be used */
138 AliHLTTriggerBarrelGeomMultiplicity(const AliHLTTriggerBarrelGeomMultiplicity & );
139
140 /** Keep the assignement operator private since it should not be used */
141 AliHLTTriggerBarrelGeomMultiplicity & operator = (const AliHLTTriggerBarrelGeomMultiplicity &);
46906312 142
1ecefac2 143 ClassDef(AliHLTTriggerBarrelGeomMultiplicity, 0);
46906312 144
145};
146
1ecefac2 147#endif