//-*- Mode: C++ -*-
// $Id$
#ifndef ALIHLTTRIGGERGAMMACONVERSION_H
#define ALIHLTTRIGGERGAMMACONVERSION_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 AliHLTTriggerGammaConversion.h
/// @author Kenneth Aamodt
/// @date 2009-11-01
/// @brief HLT trigger component for gamma conversions.
///
#include "AliHLTTrigger.h"
class AliESDtrack;
/**
* @class AliHLTTriggerGammaConversion
* HLT trigger component for gamma conversions
*
*
* Triggers on gamma conversions wich satisfy cuts on invariant mass, radius, dca and Pt.
*
*
General properties:
*
* Component ID: \b GammaConversionTrigger
* Library: \b libAliHLTTrigger.so
* Input Data Types: kAliHLTDataTypeESDObject
* Output Data Types: ::kAliHLTAnyDataType
*
* Mandatory arguments:
*
*
* Optional arguments:
*
*
* Configuration:
*
* \li -max-invmass mass
* invariant mass of the two gamma daughters
* \li -minpt pt
* required minimum pt for a trigger
* \li -maxpt pt
* required maximum pt for a trigger
* \li -max-dca distance
* dca between the two gamma daughters
* \li -max-radius r
* maximum radius from the collision point in xy-plane
*
* By default, configuration is loaded from OCDB, can be overridden by
* component arguments.
*
* Default CDB entries:
* HLT/ConfigHLT/GammaConversionTrigger: TObjString storing the arguments
*
* Performance:
*
*
* Memory consumption:
*
*
* Output size:
*
*
* \ingroup alihlt_trigger_components
*/
class AliHLTTriggerGammaConversion : public AliHLTTrigger
{
public:
AliHLTTriggerGammaConversion();
~AliHLTTriggerGammaConversion();
/// 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, scan one argument and
/// its parameters
int ScanConfigurationArgument(int argc, const char** argv);
private:
/// inherited from AliHLTTrigger: calculate the trigger
virtual int DoTrigger();
/// mass cut, maximum
double fMaxInvMass; //! transient
/// pt cut, maximum
double fPtMax; //! transient
/// pt cut, minimum
double fPtMin; //! transient
/// maximum dca to qualify as a gamma conversion
double fMaxDca; //! transient
/// maximum radius from collision point in xy-plane
double fMaxR;
/// number of reconstructed gammas
Int_t fNReconstructedGammas; //! transient
/// the default configuration entry for this component
static const char* fgkOCDBEntry; //!transient
ClassDef(AliHLTTriggerGammaConversion, 0)
};
#endif //ALIHLTTRIGGERGAMMACONVERSION_H