/** * @file ESDMCEventPublisher.C * @brief Macro for testing AliESDEvent and AliMCEvent publishing and writing * * This macro is a testing/example macro of how to use the ESDMCEventPublisher * (AliHLTESDMCEventPublisherComponent) and RootFileWriter (AliHLTRootFileWriter). * It defines only two component in the chain, the publisher, which * publishes the content of the root files according to the selection. * Be aware there can be several root objects in one root file. * * The file datapath has to be changed with an actual one. It must contain * the files:
* - AliESDs.root
* - Kinematics.root
* - galice.root
* - TrackRefs.root
* * Entry type can be one, all or some of :
* - ESD
* - HLTESD
* - MC
* * For more descriptions, especially the used datatypes and specification: * @see AliHLTESDMCEventPublisherComponent * * @author thaeder@kip.uni-heidelberg.de * @ingroup alihlt_tutorial */ /** ESDMCEventPublisher test macro * @param nEvents Number of events which should be processed */ void ESDMCEventPublisher(Int_t nEvents=1) { TString writerInput; TString arg; AliHLTSystem gHLT; gHLT.LoadComponentLibraries("libAliHLTUtil.so"); // -- Root publisher configuration // !!! myDataPath has to be exchanged with an existing one. arg.Form("-entrytype ESD -entrytype HLTESD -entrytype MC -dataspec 0x0000001F -datapath /opt/HLT/analysis/HLT-HEAD_2008-09-24/exa -datapath /home/jthaeder/jet/data/test"); // arg.Form("-entrytype ESD -entrytype HLTESD -entrytype MC -dataspec 0x0000001F -datapath mydatapath0 -datapath mydatapath1"); // -- The AliHLTESDMCEventPublisher (Id 'ESDMCEventPublisher') is a data source. // It provides AliESDEvents and AliMCEvents out of the given datapaths to // the subsequent components in the chain. // see AliHLTESDMCEventPublisherComponent for more options AliHLTConfiguration ESDMCEventPublisher("ESDMCEventPublisher", "ESDMCEventPublisher", NULL, arg.Data() ); if (!writerInput.IsNull()) writerInput+=" "; writerInput+="ESDMCEventPublisher"; // - // -- Processing Components can be put in here // - // -- The AliHLTRootFileWriter (Id 'ROOTFileWriter') is a data sink. It writes // all incoming data blocks to files. Several options available. AliHLTConfiguration rootWriter("RootWriter", "ROOTFileWriter", writerInput.Data(),"-datafile event"); // -- Here you specify the top most configuration of the chain. The // configuration depends on all the parents. The task lisy is build // according to that. gHLT.BuildTaskList("RootWriter"); gHLT.Run(nEvents); }