3 #ifndef ALIHLTV0FINDERCOMPONENT_H
4 #define ALIHLTV0FINDERCOMPONENT_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 AliHLTV0FinderComponent.h
10 /// @author Timur Pocheptsov
12 /// @brief V0 finder component
17 #include "AliHLTVertexFinderBase.h"
18 #include "AliKFVertex.h"
20 class AliHLTV0FinderComponent : public AliHLTVertexFinderBase
23 AliHLTV0FinderComponent();
25 //AliHLTComponent's final-overriders.
26 const char* GetComponentID();
27 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
28 AliHLTComponentDataType GetOutputDataType();
29 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
30 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
31 AliHLTComponent* Spawn();
33 int DoInit(int argc, const char** argv);
34 int ScanConfigurationArgument(int argc, const char** argv);
37 using AliHLTProcessor::DoEvent;
38 int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
43 //Read AliKFVertex, produced by primary finder.
44 bool ReadPrimaryVertex();
48 void FindPrimaryDeviations();
49 //If track (id) is from primary.
50 bool IsPrimaryTrack(int id)const;
53 //PushBack the output (v0s pairs' indices).
56 AliKFVertex fPrimaryVtx; //Primary vertex.
57 std::vector<int> fPrimaryTracks; //"bit mask": 1 - track is prim, 0 - no.
58 int fNPrimaryTracks; //Number of primary tracks.
59 int fMinPrimID; //Min id of primary tracks.
60 int fMaxPrimID; //Max id of primary tracks.
63 double fDaughterPrimDeviation; //daughters deviation from prim vertex >= cut
64 double fPrimDeviation; //v0 deviation from prim vertex <= cut
65 double fChi; //v0 sqrt(chi^2/NDF) <= cut
66 double fDecayLengthInSigmas; //v0 decay length/sigma_length >= cut
67 int fPosPID; //Pid for a positive track, when constracting v0.
68 int fNegPID; //Pid for a negative track, when constracting v0.
70 //Output of V0 finder.
71 std::vector<int> fV0s; //Indices of track pairs, participating in a V0s.
73 //For gammas, special version of AliKFParitcle must be constructed.
77 static const double fgDaughterPrimDeviation;
78 static const double fgPrimDeviation;
79 static const double fgChi;
80 static const double fgDecayLengthInSigmas;
82 //Compiler generated dtor, copy-ctor and copy-assignment operators are ok.
84 ClassDef(AliHLTV0FinderComponent, 0);