]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/global/AliHLTGlobalVertexerHistoComponent.h
update of histograms
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalVertexerHistoComponent.h
CommitLineData
de0257eb 1#ifndef ALIHLTPGLOBALVERTEXERHISTOCOMPONENT_H
2#define ALIHLTPGLOBALVERTEXERHISTOCOMPONENT_H
3
4//* This file is property of and copyright by the ALICE HLT Project *
5//* ALICE Experiment at CERN, All rights reserved. *
6//* See cxx source for full Copyright notice *
7
8/** @file AliHLTGlobalVertexerComponent.h
9 @author Timur Pocheptsov
10 @brief Component for monitor primary vertex
11*/
12
13#include <TH2F.h>
14
15#include "AliHLTProcessor.h"
16
17
18class AliHLTGlobalVertexerHistoComponent : public AliHLTProcessor
19{
20public:
21 /** default constructor */
22 AliHLTGlobalVertexerHistoComponent();
23
24 //No need to declare and define dtor, copy-ctor, copy-assignment operator.
25 //Compiler generated versions are ok (as soon as class has no explicit
26 //resource management). And if TH2F is exception-safe, my class is
27 //exception-safe too.
28
29 // Overriders for AliHLTComponent's interface.
30 // These functions are required for the registration process.
31 /** interface function, see AliHLTComponent for description. why not const? */
32 const char* GetComponentID();
33 /** interface function, see AliHLTComponent for description. why not const? */
34 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
35 /** interface function, see AliHLTComponent for description. why not const? */
36 AliHLTComponentDataType GetOutputDataType();
37 /** interface function, see AliHLTComponent for description */
d2831d6a 38 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
39
40 /** interface function, see AliHLTComponent for description */
41 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
de0257eb 42 /** interface function, see AliHLTComponent for description */
43 AliHLTComponent* Spawn();
44
45private:
46 /** interface function, see AliHLTComponent for description */
47 int DoInit(int argc, const char** argv);
48 /** interface function, see AliHLTComponent for description */
49 int DoDeinit();
50
51 //AliHLTProcess has overriden DoEvent from AliHLTComponent and
52 //added new virtual function with the same name and different
53 //signature. If I override only one of them, the second will be hidden
54 //and good compiler can issue a warning, for example, Comeau can
55 //(my gcc does not issue any warning). So, there are 2 ways:
56 //override both or declare the second with using-declaration.
57
58 /** interface function, see AliHLTComponent for description */
59 int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
60 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
61 AliHLTUInt32_t& size, AliHLTComponentBlockDataList& outputBlocks);
62
63 using AliHLTProcessor::DoEvent;
64
65 /** interface function, see AliHLTComponent for description */
66 int Reconfigure(const char* cdbEntry, const char* chainId);
67
68 TH2F fPrimaryXY; //X and Y coords.
c3c8af48 69 TH1F fPrimaryX; // X coords.
70 TH1F fPrimaryY; // Y coords.
71 TH1F fPrimaryZ; // Z coords.
de0257eb 72
73 TH2F fSPDVertexXY;// ITS SPD vertex
74 TH1F fSPDVertexX;// ITS SPD vertex
75 TH1F fSPDVertexY;// ITS SPD vertex
76 TH1F fSPDVertexZ;// ITS SPD vertex
77
78 //Aux. function.
79 unsigned long GetOutputDataSize()const;
80};
81
82#endif