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 *
9 /** @file AliHLTV0HistoComponent.h
10 @author Sergey Gorbunov
11 @brief Component for monitor V0 physics
14 #include "AliHLTProcessor.h"
19 * @class AliHLTTPCV0HistoComponent
20 * Component for monitor V0 physics
22 class AliHLTV0HistoComponent : public AliHLTProcessor
25 /** default constructor */
26 AliHLTV0HistoComponent();
28 virtual ~AliHLTV0HistoComponent();
30 // Public functions to implement AliHLTComponent's interface.
31 // These functions are required for the registration process
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();
46 // Protected functions to implement AliHLTComponent's interface.
47 // These functions provide initialization as well as the actual processing
48 // capabilities of the component.
50 /** interface function, see AliHLTComponent for description */
51 int DoInit( int argc, const char** argv );
52 /** interface function, see AliHLTComponent for description */
54 /** interface function, see AliHLTComponent for description */
55 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
57 int Reconfigure(const char* cdbEntry, const char* chainId);
59 using AliHLTProcessor::DoEvent;
62 /** copy constructor prohibited */
63 AliHLTV0HistoComponent(const AliHLTV0HistoComponent&);
64 /** assignment operator prohibited */
65 AliHLTV0HistoComponent& operator=(const AliHLTV0HistoComponent&);
67 * Configure the component.
68 * Parse a string for the configuration arguments and set the component
71 int Configure(const char* arguments);
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)
83 AliHLTUInt32_t fUID;// uID of the component
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
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
102 ClassDef(AliHLTV0HistoComponent, 0);