3 #ifndef ALIHLTPRIMARYVERTEXFINDERCOMPONENT_H
4 #define ALIHLTPRIMARYVERTEXFINDERCOMPONENT_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 AliHLTPrimaryVertexFinderComponent.h
10 /// @author Timur Pocheptsov
12 /// @brief Primary vertex finder component
17 #include "AliHLTVertexFinderBase.h"
18 #include "AliKFVertex.h"
20 //Primary vertex finder, developed by Sergey Gorbunov.
21 //Based on KF package.
22 //Produces primary vertex (AliKFVertex object) and
23 //indices of input tracks, which participates
24 //in primary construction.
25 //Can be configured with two options:
26 //-fitTracksToVertex 0/1
27 //-constrainedTrackDeviation value.
29 class AliHLTPrimaryVertexFinderComponent : public AliHLTVertexFinderBase
32 AliHLTPrimaryVertexFinderComponent();
34 //AliHLTComponent's final-overriders.
35 const char* GetComponentID();
36 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
37 AliHLTComponentDataType GetOutputDataType();
38 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
39 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
40 AliHLTComponent* Spawn();
42 int DoInit(int argc, const char** argv);
43 int ScanConfigurationArgument(int argc, const char** argv);
46 using AliHLTProcessor::DoEvent;
47 int DoEvent(const AliHLTComponentEventData& evtData,
48 AliHLTComponentTriggerData& trigData);
52 void FindPrimaryVertex();
55 std::vector<char> fPrimaryOutput; //Ids of primary tracks.
56 AliKFVertex fPrimaryVtx; //Reconstructed KF primary vertex.
57 bool fFitTracksToVertex; //Flag to store vertex constrained track parameters
58 double fConstrainedTrackDeviation; //Deviation of a track from prim.vtx <=cut
60 static const double fgDefaultDeviation; //Default value for fConstrainedTrackDeviation.
62 //Compiler generated dtor, copy-ctor and copy-assignment operators are ok.
64 ClassDef(AliHLTPrimaryVertexFinderComponent, 0);