]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/physics/AliHLTV0HistoComponent.h
GlobalHistoCollector component added.
[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   // cuts: 
72   // [0] == 0   --- N clusters on each daughter track
73   // [1] == 2.5 --- (daughter-primVtx)/sigma >= cut
74   // [2] == 3.5 --- (v0 - primVtx)/sigma <= cut
75   // [3] == 3.0 --- (decay_length)/sigma >= cut
76   // [4] == 0.0 --- (decay_length)[cm]   >= cut
77   // [5] == 300.0 --- (v0 radius)[cm]    <= cut
78   // [6] == 3.5  --- (v0 mass - true value)/sigma <= cut (for identification)
79   // [7] == 0.05 --- (v0 mass - true value)       <= cut (for identification)
80
81   AliHLTUInt32_t fUID;// uID of the component
82
83   Double_t fGammaCuts[8]; // cuts for gammas
84   Double_t fKsCuts[8]; // cuts for Ks
85   Double_t fLambdaCuts[8]; // cuts for Lambdas
86   Double_t fAPCuts[8]; // cuts for AP plot
87
88   TH1F *fGamma;   // Gamma inv. mass
89   TH1F *fKShort;   // Ks inv. mass
90   TH1F *fLambda;   // Lambda inv. mass
91   TH1F *fPi0;      // Pi0 inv. mass
92   TH2F *fAP;       // Armenteros-Podolanski 
93   TH2F *fGammaXY;  // XY distribution of gamma convertions
94   Int_t fNEvents; // n of processed events
95   Int_t fNGammas; // n found total
96   Int_t fNKShorts; // n found total
97   Int_t fNLambdas; // n found total
98   Int_t fNPi0s; // n found total
99   
100   ClassDef(AliHLTV0HistoComponent, 0);
101
102 };
103 #endif