]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/physics/AliHLTV0HistoComponent.h
V0 histograming component created ( it plots inv. mass distributions for K0's and...
[u/mrichter/AliRoot.git] / HLT / global / physics / AliHLTV0HistoComponent.h
1 #ifndef ALIHLTV0HISTOCOMPONENT_H
2 #define ALIHLTV0HISTOCOMPONENT_H
3 //* This file is property of and copyright by the ALICE HLT Project        * 
4 //* ALICE Experiment at CERN, All rights reserved.                         *
5 //* See cxx source for full Copyright notice                               *
6
7 /** @file   AliHLTV0HistoComponent.h
8     @author Sergey Gorbunov
9     @brief  Component for monitor V0 physics
10 */
11
12 #include "AliHLTProcessor.h"
13 class TH1F;
14 class TH2F;
15
16 /**
17  * @class AliHLTTPCV0HistoComponent
18  * Component for monitor V0 physics 
19  */
20 class AliHLTV0HistoComponent : public AliHLTProcessor
21 {
22 public:
23   /** default constructor */
24   AliHLTV0HistoComponent();
25   /** destructor */
26   virtual ~AliHLTV0HistoComponent();
27
28   // Public functions to implement AliHLTComponent's interface.
29   // These functions are required for the registration process
30
31   /** interface function, see AliHLTComponent for description */
32   const char* GetComponentID();
33   /** interface function, see AliHLTComponent for description */
34   void GetInputDataTypes(AliHLTComponentDataTypeList& list);
35   /** interface function, see AliHLTComponent for description */
36   AliHLTComponentDataType GetOutputDataType();
37   /** interface function, see AliHLTComponent for description */
38   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
39   /** interface function, see AliHLTComponent for description */
40   AliHLTComponent* Spawn();
41
42 protected:
43
44   // Protected functions to implement AliHLTComponent's interface.
45   // These functions provide initialization as well as the actual processing
46   // capabilities of the component. 
47
48   /** interface function, see AliHLTComponent for description */
49   int DoInit( int argc, const char** argv );
50   /** interface function, see AliHLTComponent for description */
51   int DoDeinit();
52   /** interface function, see AliHLTComponent for description */
53   int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
54
55   int Reconfigure(const char* cdbEntry, const char* chainId);
56
57   using AliHLTProcessor::DoEvent;
58   
59 private:
60   /** copy constructor prohibited */
61   AliHLTV0HistoComponent(const AliHLTV0HistoComponent&);
62   /** assignment operator prohibited */
63   AliHLTV0HistoComponent& operator=(const AliHLTV0HistoComponent&);
64   /**
65    * Configure the component.
66    * Parse a string for the configuration arguments and set the component
67    * properties.
68    */ 
69   int Configure(const char* arguments);
70   
71   TH1F *fKShort;; // KShort inv. mass
72   TH1F *fLambda; // Lambda inv. mass
73   TH2F *fAP; // Armenteros-Podolanski 
74   Int_t fNKShorts; // n found total
75   Int_t fNLambdas;  // n found total
76
77   ClassDef(AliHLTV0HistoComponent, 0);
78
79 };
80 #endif