2 // $Id: AliHLTD0Trigger.h
3 #ifndef ALIHLTD0TRIGGER_H
4 #define ALIHLTD0TRIGGER_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 *
9 /// @file AliHLTD0Trigger.h
10 /// @author Gaute Ovrebekk
12 /// @brief HLT trigger component for D0->Kpi
14 #include "AliHLTTrigger.h"
16 #include "AliHLTD0toKpi.h"
21 class AliExternalTrackParam;
24 * @class AliHLTD0Trigger
26 * HLT trigger component for D0->Kpi
28 * <h2>General properties:</h2>
30 * Component ID: \b D0Trigger <br>
31 * Library: \b libAliHLTTrigger.so <br>
32 * Input Data Types: kAliHLTDataTypeESDObject, kAliHLTDataTypeESDTree
33 * kAliHLTDataTypeTrack <br>
34 * Output Data Types: ::kAliHLTAnyDataType <br>
36 * <h2>Mandatory arguments:</h2>
37 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
39 * <h2>Optional arguments:</h2>
40 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
42 * <h2>Configuration:</h2>
43 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
44 * \li -pt <i> pt cut for decay products </i> <br>
45 * \li -dca <i> dca cut for distance between decay tracks </i> <br>
46 * \li -invmass <i> inv. mass half width of D0 </i> <br>
47 * \li -costhetastar <i> cos of decay angle </i> <br>
48 * \li -d0 <i> Impact parameter for decay products </i> <br>
49 * \li -d0d0 <i> Product of impact parameter for decay products </i> <br>
50 * \li -cospoint <i> pointing angle </i> <br>
51 * \li -plothistogram <i> ploting the inv. mass histogram </i> <br>
53 * By default, configuration is loaded from OCDB, can be overridden by
54 * component arguments.
56 * <h2>Default CDB entries:</h2>
57 * HLT/ConfigHLT/D0Trigger: TObjString storing the arguments
59 * <h2>Performance:</h2>
62 * <h2>Memory consumption:</h2>
65 * <h2>Output size:</h2>
68 * \ingroup alihlt_trigger_components
70 class AliHLTD0Trigger : public AliHLTTrigger
76 /// inherited from AliHLTTrigger: name of this trigger
77 virtual const char* GetTriggerName() const;
78 /// inherited from AliHLTComponent: create an instance
79 virtual AliHLTComponent* Spawn();
82 /// inherited from AliHLTComponent: handle the initialization
83 int DoInit(int argc, const char** argv);
85 /// inherited from AliHLTComponent: handle cleanup
88 /// inherited from AliHLTComponent: handle re-configuration event
89 int Reconfigure(const char* cdbEntry, const char* chainId);
91 /// inherited from AliHLTComponent, scan one argument and
93 int ScanConfigurationArgument(int argc, const char** argv);
96 /// Not implemented. Do not allow copying of this object.
97 AliHLTD0Trigger(const AliHLTD0Trigger& );
98 /// Not implemented. Do not allow copying of this object.
99 AliHLTD0Trigger& operator=(const AliHLTD0Trigger& );
101 /// inherited from AliHLTTrigger: calculate the trigger
102 virtual int DoTrigger();
104 void SingleTrackSelect(AliExternalTrackParam*);
105 Int_t RecV0(const TObject* iter);
108 /// pt cut for decay, minimum [GeV/c]
109 float fPtMin; //! transient
110 /// Distance between decay tracks [cm] ??
111 float fdca; //! transient
112 /// Inv. mass half width [GeV]
113 float finvMass; //! transient
115 float fcosThetaStar; //! transient
116 /// Distance from primary vertex for decay tracks [cm]
117 float fd0; //! transient
118 /// Product of d0 for the two decay tracks [cm^2]
119 float fd0d0; //! transient
121 float fcosPoint; //! transient
123 bool fplothisto; //! transient
124 bool fUseV0; //! transient
126 Double_t mD0PDG; //! transient
128 /// D0 inv. mass plot
129 TH1F *fD0mass; //! transient
131 vector<AliExternalTrackParam*> fPos; //! transient
132 vector<AliExternalTrackParam*> fNeg; //! transient
134 AliHLTD0toKpi *fd0calc; //! transient
135 TObjArray *ftwoTrackArray; //! transient
137 Int_t fTotalD0; //! transient
138 AliESDVertex *fVertex; //! transient
139 Double_t fField; //!transient
141 /// the default configuration entry for this component
142 static const char* fgkOCDBEntry; //!transient
144 ClassDef(AliHLTD0Trigger, 0)
146 #endif //ALIHLTD0TRIGGER_H