//-*- 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" #include #include "AliHLTD0toKpi.h" class TH1F; class TObjArray; class AliESDVertex; class AliExternalTrackParam; /** * @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(); void SingleTrackSelect(AliExternalTrackParam*); Int_t RecV0(const TObject* iter); Int_t RecD0(); /// 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 bool fUseV0; //! transient Double_t mD0PDG; //! transient /// D0 inv. mass plot TH1F *fD0mass; //! transient vector fPos; //! transient vector fNeg; //! transient AliHLTD0toKpi *fd0calc; //! transient TObjArray *ftwoTrackArray; //! transient Int_t fTotalD0; //! transient AliESDVertex *fVertex; //! transient Double_t fField; //!transient /// the default configuration entry for this component static const char* fgkOCDBEntry; //!transient ClassDef(AliHLTD0Trigger, 0) }; #endif //ALIHLTD0TRIGGER_H