]>
Commit | Line | Data |
---|---|---|
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 | ||
29 | class AliHLTPrimaryVertexFinderComponent : public AliHLTVertexFinderBase | |
30 | { | |
31 | public: | |
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 | ||
50 | private: | |
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 |