//-*- Mode: C++ -*- // $Id: AliHLTMultiplicityCorrelationsComponent $ #ifndef ALIHLTMULTIPLICITYCORRELATIONSCOMPONENT_H #define ALIHLTMULTIPLICITYCORRELATIONSCOMPONENT_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 AliHLTMultiplicityCorrelationsComponent.h @author Jochen Thaeder @brief Component for Multiplicty Correlations */ // see below for class documentation // or // refer to README to build package // or // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt #include "AliHLTProcessor.h" class TH1F; class TList; class AliESDEvent; class AliESDVZERO; class AliESDtrackCuts; class AliHLTCTPData; class AliHLTMultiplicityCorrelations; class AliHLTGlobalTriggerDecision; /** * @class AliHLTMultiplicityCorrelationsComponent * Create Correlations for Multiplicities * *

General properties:

* * Component ID: \b MultiplicityCorrelations
* Library: \b libAliHLTGlobal.so
* Input Data Types: @ref kAliHLTDataTypeESDObject
* Output Data Types: @ref kAliHLTDataTypeTObject|kAliHLTDataOriginHLT
* *

Mandatory arguments:

* * *

Optional arguments:

* * *

Configuration:

* * * \li -minpt pt
* minimum pt - pt range * \li -maxpt pt
* maximum pt - pt range * \li -min-ldca dca
* minimum longitudinal dca to reference point * \li -max-ldca dca
* maximum longitudinal dca to reference point * \li -min-tdca dca
* minimum transverse dca to reference point * \li -max-tdca dca
* maximum transverse dca to reference point * \li -etarange eta
* +/- eta range * * \li -binningVzero bins min max
* bins (Int_t), minBin (Float_t), maxBin (Float_t) * \li -binningTpc bins min max
* bins (Int_t), minBin (Float_t), maxBin (Float_t) * \li -binningZdc bins min max
* bins (Int_t), minBin (Float_t), maxBin (Float_t) * \li -binningZnp bins min max
* bins (Int_t), minBin (Float_t), maxBin (Float_t) * \li -binningZem bins min max
* bins (Int_t), minBin (Float_t), maxBin (Float_t) * \li -binningCalo bins min max
* bins (Int_t), minBin (Float_t), maxBin (Float_t) * * \li -addTrigger TriggerClass beginning (eg CPBI1)
*

Default CDB entries:

* * * HLT/ConfigGlobal/MultiplicityCorrelations * \li -TObjString object holding a string with the configuration parameters * currently empty * *

Performance:

* *

Memory consumption:

* *

Input size:

* * * \li pp: * *

Output size:

* * * \li pp: Average : * *

Macros Tests

* * * macros/makeConfigurationObjectMultiplicityCorrelations.C * \li - Create configuration TObjString * * macros/HLTMultiplicityCorrelationsTest.C * \li - Test macro for test in off-line environment * * macros/runMultiplicityCorrelationsTest.sh * \li - Run Test macro HLTMultiplicityCorrelationsTest.C * * @ingroup alihlt_global_components */ class AliHLTMultiplicityCorrelationsComponent : public AliHLTProcessor { public: /* * --------------------------------------------------------------------------------- * Constructor / Destructor * --------------------------------------------------------------------------------- */ /** constructor */ AliHLTMultiplicityCorrelationsComponent(); /** destructor */ virtual ~AliHLTMultiplicityCorrelationsComponent(); /* * --------------------------------------------------------------------------------- * Public functions to implement AliHLTComponent's interface. * These functions are required for the registration process * --------------------------------------------------------------------------------- */ /** interface function, see @ref AliHLTComponent for description */ const Char_t* GetComponentID(); /** interface function, see @ref AliHLTComponent for description */ void GetInputDataTypes( vector& list); /** interface function, see @ref AliHLTComponent for description */ AliHLTComponentDataType GetOutputDataType(); /** interface function, see @ref AliHLTComponent for description */ void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier ); /** interface function, see @ref AliHLTComponent for description */ void GetOCDBObjectDescription( TMap* const targetMap); /** interface function, see @ref AliHLTComponent for description */ AliHLTComponent* Spawn(); protected: /* * --------------------------------------------------------------------------------- * Protected functions to implement AliHLTComponent's interface. * These functions provide initialization as well as the actual processing * capabilities of the component. * --------------------------------------------------------------------------------- */ // AliHLTComponent interface functions /** interface function, see @ref AliHLTComponent for description */ Int_t DoInit( Int_t argc, const Char_t** argv ); /** interface function, see @ref AliHLTComponent for description */ Int_t DoDeinit(); /** interface function, see @ref AliHLTComponent for description */ Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); using AliHLTProcessor::DoEvent; /** interface function, see @ref AliHLTComponent for description */ Int_t ScanConfigurationArgument(Int_t argc, const Char_t** argv); /** interface function, see @ref AliHLTComponent for description */ Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId); /** interface function, see @ref AliHLTComponent for description */ Int_t ReadPreprocessorValues(const Char_t* modules); /////////////////////////////////////////////////////////////////////////////////// private: /* * --------------------------------------------------------------------------------- * Private functions to implement AliHLTComponent's interface. * These functions provide initialization as well as the actual processing * capabilities of the component. * --------------------------------------------------------------------------------- */ /** copy constructor prohibited */ AliHLTMultiplicityCorrelationsComponent(const AliHLTMultiplicityCorrelationsComponent&); /** assignment operator prohibited */ AliHLTMultiplicityCorrelationsComponent& operator=(const AliHLTMultiplicityCorrelationsComponent&); /* * --------------------------------------------------------------------------------- * Helper * --------------------------------------------------------------------------------- */ /** Set Default Configuartion for track cuts */ void SetDefaultConfiguration(); /** Select event as PhysicsSelection */ Bool_t SelectEvent(AliESDEvent *esdEvent, AliESDVZERO* esdV0); /** Checks if event was triggered by the selected trigger classes */ Bool_t IsEventTriggered(); /** Create selection list of triggers to be checked */ void CreateTriggerList(); /* * --------------------------------------------------------------------------------- * Members - private * --------------------------------------------------------------------------------- */ /** ESD track cuts */ AliESDtrackCuts *fESDTrackCuts; //! transient /** correlations object */ AliHLTMultiplicityCorrelations *fCorrObj; //! transient /** UID for merging */ AliHLTUInt32_t fUID; // see above /** Centrality estimation histogram */ TH1F *fCentHistV0Mpercentile; // see above /** List of possible trigger descriptor */ TList *fListTriggerDescriptor; //! transient /** List of trigger classnames */ TList *fListTrigger; //! transient /** Ptr to CTP data */ const AliHLTCTPData *fCTPData; //! transient ClassDef(AliHLTMultiplicityCorrelationsComponent, 0) }; #endif