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 *
7 /** @file AliHLTV0HistoComponent.h
8 @author Sergey Gorbunov
9 @brief Component for monitor V0 physics
12 #include "AliHLTProcessor.h"
17 * @class AliHLTTPCV0HistoComponent
18 * Component for monitor V0 physics
20 class AliHLTV0HistoComponent : public AliHLTProcessor
23 /** default constructor */
24 AliHLTV0HistoComponent();
26 virtual ~AliHLTV0HistoComponent();
28 // Public functions to implement AliHLTComponent's interface.
29 // These functions are required for the registration process
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();
44 // Protected functions to implement AliHLTComponent's interface.
45 // These functions provide initialization as well as the actual processing
46 // capabilities of the component.
48 /** interface function, see AliHLTComponent for description */
49 int DoInit( int argc, const char** argv );
50 /** interface function, see AliHLTComponent for description */
52 /** interface function, see AliHLTComponent for description */
53 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
55 int Reconfigure(const char* cdbEntry, const char* chainId);
57 using AliHLTProcessor::DoEvent;
60 /** copy constructor prohibited */
61 AliHLTV0HistoComponent(const AliHLTV0HistoComponent&);
62 /** assignment operator prohibited */
63 AliHLTV0HistoComponent& operator=(const AliHLTV0HistoComponent&);
65 * Configure the component.
66 * Parse a string for the configuration arguments and set the component
69 int Configure(const char* arguments);
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)
81 AliHLTUInt32_t fUID;// uID of the component
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
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
100 ClassDef(AliHLTV0HistoComponent, 0);