]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/physics/AliHLTV0HistoComponent.h
adding PrimaryVertexFinder and V0Finder component to registration, to be consolidated...
[u/mrichter/AliRoot.git] / HLT / global / physics / AliHLTV0HistoComponent.h
1 // -*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTV0HISTOCOMPONENT_H
4 #define ALIHLTV0HISTOCOMPONENT_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   AliHLTV0HistoComponent.h
10     @author Sergey Gorbunov
11     @brief  Component for monitor V0 physics
12 */
13
14 #include "AliHLTProcessor.h"
15 class TH1F;
16 class TH2F;
17
18 /**
19  * @class AliHLTTPCV0HistoComponent
20  * Component for monitor V0 physics 
21  */
22 class AliHLTV0HistoComponent : public AliHLTProcessor
23 {
24 public:
25   /** default constructor */
26   AliHLTV0HistoComponent();
27   /** destructor */
28   virtual ~AliHLTV0HistoComponent();
29
30   // Public functions to implement AliHLTComponent's interface.
31   // These functions are required for the registration process
32
33   /** interface function, see AliHLTComponent for description */
34   const char* GetComponentID();
35   /** interface function, see AliHLTComponent for description */
36   void GetInputDataTypes(AliHLTComponentDataTypeList& list);
37   /** interface function, see AliHLTComponent for description */
38   AliHLTComponentDataType GetOutputDataType();
39   /** interface function, see AliHLTComponent for description */
40   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
41   /** interface function, see AliHLTComponent for description */
42   AliHLTComponent* Spawn();
43
44 protected:
45
46   // Protected functions to implement AliHLTComponent's interface.
47   // These functions provide initialization as well as the actual processing
48   // capabilities of the component. 
49
50   /** interface function, see AliHLTComponent for description */
51   int DoInit( int argc, const char** argv );
52   /** interface function, see AliHLTComponent for description */
53   int DoDeinit();
54   /** interface function, see AliHLTComponent for description */
55   int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
56
57   int Reconfigure(const char* cdbEntry, const char* chainId);
58
59   using AliHLTProcessor::DoEvent;
60   
61 private:
62   /** copy constructor prohibited */
63   AliHLTV0HistoComponent(const AliHLTV0HistoComponent&);
64   /** assignment operator prohibited */
65   AliHLTV0HistoComponent& operator=(const AliHLTV0HistoComponent&);
66   /**
67    * Configure the component.
68    * Parse a string for the configuration arguments and set the component
69    * properties.
70    */ 
71   int Configure(const char* arguments);
72   
73   // cuts: 
74   // [0] == 0   --- N clusters on each daughter track
75   // [1] == 2.5 --- (daughter-primVtx)/sigma >= cut
76   // [2] == 3.5 --- (v0 - primVtx)/sigma <= cut
77   // [3] == 3.0 --- (decay_length)/sigma >= cut
78   // [4] == 0.0 --- (decay_length)[cm]   >= cut
79   // [5] == 300.0 --- (v0 radius)[cm]    <= cut
80   // [6] == 3.5  --- (v0 mass - true value)/sigma <= cut (for identification)
81   // [7] == 0.05 --- (v0 mass - true value)       <= cut (for identification)
82
83   AliHLTUInt32_t fUID;// uID of the component
84
85   Double_t fGammaCuts[8]; // cuts for gammas
86   Double_t fKsCuts[8]; // cuts for Ks
87   Double_t fLambdaCuts[8]; // cuts for Lambdas
88   Double_t fAPCuts[8]; // cuts for AP plot
89
90   TH1F *fGamma;   // Gamma inv. mass
91   TH1F *fKShort;   // Ks inv. mass
92   TH1F *fLambda;   // Lambda inv. mass
93   TH1F *fPi0;      // Pi0 inv. mass
94   TH2F *fAP;       // Armenteros-Podolanski 
95   TH2F *fGammaXY;  // XY distribution of gamma convertions
96   Int_t fNEvents; // n of processed events
97   Int_t fNGammas; // n found total
98   Int_t fNKShorts; // n found total
99   Int_t fNLambdas; // n found total
100   Int_t fNPi0s; // n found total
101   
102   ClassDef(AliHLTV0HistoComponent, 0);
103
104 };
105 #endif