]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/global/AliHLTPrimaryVertexFinderComponent.h
fixed in AliFlatESDEvent: fNV0s, fPointerV0s not initialized in constructor, wrong...
[u/mrichter/AliRoot.git] / HLT / global / AliHLTPrimaryVertexFinderComponent.h
CommitLineData
f078d002 1//-*- Mode: C++ -*-
2// $Id$
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
8
9/// @file AliHLTPrimaryVertexFinderComponent.h
10/// @author Timur Pocheptsov
11/// @date 2010-12-26
12/// @brief Primary vertex finder component
13///
14
15#include <vector>
16
17#include "AliHLTVertexFinderBase.h"
18#include "AliKFVertex.h"
19
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.
28
29class AliHLTPrimaryVertexFinderComponent : public AliHLTVertexFinderBase
30{
31public:
32 AliHLTPrimaryVertexFinderComponent();
33
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();
41
42 int DoInit(int argc, const char** argv);
43 int ScanConfigurationArgument(int argc, const char** argv);
44 int DoDeinit();
45
46 using AliHLTProcessor::DoEvent;
47 int DoEvent(const AliHLTComponentEventData& evtData,
48 AliHLTComponentTriggerData& trigData);
49
50private:
51 //Aux. staff.
52 void FindPrimaryVertex();
53 int DoOutput();
54
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
59
60 static const double fgDefaultDeviation; //Default value for fConstrainedTrackDeviation.
61
62 //Compiler generated dtor, copy-ctor and copy-assignment operators are ok.
63
64 ClassDef(AliHLTPrimaryVertexFinderComponent, 0);
65};
66
67#endif