//-*- Mode: C++ -*- // $Id$ #ifndef ALIHLTTPCDEDXMONITORINGCOMPONENT_H #define ALIHLTTPCDEDXMONITORINGCOMPONENT_H //* This file is property of and copyright by the ALICE HLT Project * //* ALICE Experiment at CERN, All rights reserved. * //* See cxx source for full Copyright notice * /// @file AliHLTTPCdEdxMonitoringComponent.h /// @author Per-Ivar Lønne, Jochen Thaeder, Matthias Richter, Alexander Kalweit /// @date 21.08.2011 /// @brief Component for reading ESD from chain and produce a dEdx monitoring plot /// /** * @class AliHLTTPCdEdxMonitoringComponent * A component meant to read ESD-files from the chain online * and produce a plot for dEdx monitoring. * * description of what the component does in more detail * bla * bla * *

General properties:

* * Component ID: \b TPCdEdxMonitoring
* Library: \b libAliHLTTPC.so
* Input Data Types: @ref kAliHLTDataTypeESDObject|kAliHLTDataOriginAny
* Output Data Types: @ref kAliHLTDataTypeHistogram|kAliHLTDataOriginHLT
* *

Mandatory arguments:

* *

Optional arguments:

* *

Configuration

* \li -xbins fxbins
* number of bins on x-axis * *

Configuration

* \li -xbins fxmin
* minimum value of x-axis * *

Configuration

* \li -xbins fxmax
* maximum value of x-axis * *

Configuration

* \li -ybins fybins
* number of bins on y-axis * *

Configuration

* \li -ybins fymin
* minimum value of y-axis * *

Configuration

* \li -ybins fymax
* maximum value of y-axis * *

Default CDB entries:

* *

Performance:

* *

Memory Consumption:

* *

Output size:

* 4096 * * @ingroup alihlt */ #include "AliHLTProcessor.h" class AliESDtrackCuts; // For setting track cuts class TH2F; class AliHLTTPCdEdxMonitoringComponent : public AliHLTProcessor { public: /*----------------------------------------------------* * Constructor and destructor *----------------------------------------------------*/ AliHLTTPCdEdxMonitoringComponent(); virtual ~AliHLTTPCdEdxMonitoringComponent(); // AliHLTComponent interface functions const char* GetComponentID(); void GetInputDataTypes( vector& list); AliHLTComponentDataType GetOutputDataType(); void GetOutputDataSize( unsigned long& constBase, Double_t& inputMultiplier ); void GetOCDBObjectDescription( TMap* const targetMap); // Spawn function, return new class instance AliHLTComponent* Spawn(); protected: // AliHLTComponent interface functions Int_t DoInit( Int_t argc, const char** argv ); Int_t DoDeinit(); Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); using AliHLTProcessor::DoEvent; Int_t ScanConfigurationArgument(Int_t argc, const char** argv); Int_t Reconfigure(const char* cdbEntry, const char* chainId); Int_t ReadPreprocessorValues(const char* modules); private: /** copy constructor prohibited */ AliHLTTPCdEdxMonitoringComponent(const AliHLTTPCdEdxMonitoringComponent&); /** assignment operator prohibited */ AliHLTTPCdEdxMonitoringComponent& operator=(const AliHLTTPCdEdxMonitoringComponent&); // Sets standard trackcuts void SetDefaultConfiguration(); // trackcuts AliESDtrackCuts *fESDTrackCuts; //! transistent // histogram TH2F *fHist; //! transistent Int_t fxbins; //! transistent Double_t fxmin; //! transistent Double_t fxmax; //! transistent Int_t fybins; //! transistent Double_t fymin; //! transistent Double_t fymax; //! transistent // sets some plotstyles void Plotstyle(); ClassDef(AliHLTTPCdEdxMonitoringComponent, 0) }; #endif