//-*- Mode: C++ -*-
// $Id: AliHLTD0Trigger.h
#ifndef ALIHLTD0TRIGGER_H
#define ALIHLTD0TRIGGER_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 AliHLTD0Trigger.h
/// @author Gaute Ovrebekk
/// @date 2009-10-28
/// @brief HLT trigger component for D0->Kpi
#include "AliHLTTrigger.h"
class TH1F;
/**
* @class AliHLTD0Trigger
*
* HLT trigger component for D0->Kpi
*
*
General properties:
*
* Component ID: \b D0Trigger
* Library: \b libAliHLTTrigger.so
* Input Data Types: kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree
* kAliHLTDataTypeTrack
* Output Data Types: ::kAliHLTAnyDataType
*
* Mandatory arguments:
*
*
* Optional arguments:
*
*
* Configuration:
*
* \li -pt pt cut for decay products
* \li -dca dca cut for distance between decay tracks
* \li -invmass inv. mass half width of D0
* \li -costhetastar cos of decay angle
* \li -d0 Impact parameter for decay products
* \li -d0d0 Product of impact parameter for decay products
* \li -cospoint pointing angle
* \li -plothistogram ploting the inv. mass histogram
*
* By default, configuration is loaded from OCDB, can be overridden by
* component arguments.
*
* Default CDB entries:
* HLT/ConfigHLT/D0Trigger: TObjString storing the arguments
*
* Performance:
*
*
* Memory consumption:
*
*
* Output size:
*
*
* \ingroup alihlt_trigger_components
*/
class AliHLTD0Trigger : public AliHLTTrigger
{
public:
AliHLTD0Trigger();
~AliHLTD0Trigger();
/// 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:
/// Not implemented. Do not allow copying of this object.
AliHLTD0Trigger(const AliHLTD0Trigger& );
/// Not implemented. Do not allow copying of this object.
AliHLTD0Trigger& operator=(const AliHLTD0Trigger& );
/// inherited from AliHLTTrigger: calculate the trigger
virtual int DoTrigger();
/// pt cut for decay, minimum [GeV/c]
float fPtMin; //! transient
/// Distance between decay tracks [cm] ??
float fdca; //! transient
/// Inv. mass half width [GeV]
float finvMass; //! transient
/// Decay angle
float fcosThetaStar; //! transient
/// Distance from primary vertex for decay tracks [cm]
float fd0; //! transient
/// Product of d0 for the two decay tracks [cm^2]
float fd0d0; //! transient
/// Pionting angle
float fcosPoint; //! transient
bool fplothisto; //! transient
/// D0 inv. mass plot
TH1F *fD0mass; //! transient
/// the default configuration entry for this component
static const char* fgkOCDBEntry; //!transient
ClassDef(AliHLTD0Trigger, 0)
};
#endif //ALIHLTD0TRIGGER_H