//-*- Mode: C++ -*- // $Id$ #ifndef ALIHLTTRIGGERBARRELMULTIPLICITY_H #define ALIHLTTRIGGERBARRELMULTIPLICITY_H //* This file is property of and copyright by the ALICE HLT Project * //* ALICE Experiment at CERN, All rights reserved. * //* See cxx source for full Copyright notice * /// @file AliHLTTriggerBarrelMultiplicity.h /// @author Matthias Richter, Jochen Thaeder /// @date 2009-06-30 /// @brief HLT trigger component for charged particle multiplicity in /// the central barrel. #include "AliHLTTrigger.h" #include "TString.h" class AliESDtrack; class AliHLTESDTrackCuts; /** * @class AliHLTTriggerBarrelMultiplicity * HLT trigger component for charged particle multiplicity in the * central barrel. * * Triggers on charged particle number in a certain pt range and geometrical * acceptance * * Multiple instances of this component can serve different trigger * conditions, i.e. component parameters. The different instances get * different names, specified by the '-triggername' component argument. * The configuration is loaded from OCDB entries according to the name, see * below. * *

General properties:

* * Component ID: \b BarrelMultiplicityTrigger
* Library: \b libAliHLTTrigger.so
* Input Data Types: kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree * kAliHLTDataTypeTrack
* Output Data Types: ::kAliHLTAnyDataType
* *

Mandatory arguments:

* * *

Optional arguments:

* * *

Configuration:

* * \li -mintracks n
* required number of tracks for a trigger * \li -minpt pt
* required minimum pt for a trigger * \li -maxpt pt
* required maximum pt for a trigger * \li -min-ldca dca
* minimum longitudinal dca to reference point * \li -max-ldca dca
* maximum longitudinal dca to reference point * \li -min-tdca dca
* minimum transverse dca to reference point * \li -max-tdca dca
* maximum transverse dca to reference point * \li -triggername name
* The name of this specific trigger. * * By default, configuration is loaded from OCDB, can be overridden by * component arguments. * *

Default CDB entries:

* HLT/ConfigHLT/BarrelMultiplicityTrigger: TObjString storing the arguments
* HLT/ConfigHLT/: for triggers with specific names * * HLT/ConfigHLT/H_._Barrel_pT_Single_._V0001.001 * - TriggerName : H-Barrel_pT_Single-V0001.001 * - ObjectType : AliHLTESDTrackCuts * HLT/ConfigHLT/H_._Barrel_pT_Single_._V0002.001 * - TriggerName : H-Barrel_pT_Single-V0002.001 * - ObjectType : AliHLTESDTrackCuts * HLT/ConfigHLT/H_._Barrel_pT_Single_._V0003.001 * - TriggerName : H-Barrel_pT_Single-V0003.001 * - ObjectType : AliHLTESDTrackCuts * *

Performance:

* * *

Memory consumption:

* * *

Output size:

* * * \ingroup alihlt_trigger_components */ class AliHLTTriggerBarrelMultiplicity : public AliHLTTrigger { public: AliHLTTriggerBarrelMultiplicity(); virtual ~AliHLTTriggerBarrelMultiplicity(); /// inherited from AliHLTTrigger: name of this trigger virtual const char* GetTriggerName() const; /// inherited from AliHLTComponent: create an instance virtual AliHLTComponent* Spawn(); protected: /// inherited from AliHLTComponent: handle the initialization int DoInit(int argc, const char** argv); /// inherited from AliHLTComponent: handle cleanup int DoDeinit(); /// inherited from AliHLTComponent: handle re-configuration event int Reconfigure(const char* cdbEntry, const char* chainId); /// inherited from AliHLTComponent: handle dcs update event int ReadPreprocessorValues(const char* modules); /// Configure from CDB object, checking if AliHLTESDTrackCuts or TObjString int ConfigureFromCDBObject(TString cdbPath); /// inherited from AliHLTComponent, scan one argument and /// its parameters int ScanConfigurationArgument(int argc, const char** argv); private: /// copy constructor prohibited AliHLTTriggerBarrelMultiplicity (const AliHLTTriggerBarrelMultiplicity&); /// assignment operator prohibited AliHLTTriggerBarrelMultiplicity& operator=(const AliHLTTriggerBarrelMultiplicity&); /// inherited from AliHLTTrigger: calculate the trigger virtual int DoTrigger(); /// ESD track cut object AliHLTESDTrackCuts *fHLTESDTrackCuts; //! transient /// required number of tracks int fMinTracks; //!transient /// Name of the trigger TString fName; //! transient /// the default configuration entry for this component static const char* fgkDefaultOCDBEntry; //!transient ClassDef(AliHLTTriggerBarrelMultiplicity, 0) }; #endif //ALIHLTTRIGGERBARRELMULTIPLICITY_H