/**
* @file MCGeneratorPublisher.C
* @brief Macro for testing of the generation and publishing of AliHLTMCEvent
*
* This macro is a testing/example macro of how to use the MCGenerator
* (AliHLTMCGeneratorComponent) 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.
*
* For more descriptions, especially the used datatypes and specification:
* @see AliHLTMCGeneratorComponent
*
* @author thaeder@kip.uni-heidelberg.de
* @ingroup alihlt_tutorial
*/
// ----------------------------------------------------------------------------
// -- Pythia Parameter
// ----------------------------------------------------------------------------
enum PprRun_t {
kPythia6Jets20_24, kPythia6Jets24_29, kPythia6Jets29_35,
kPythia6Jets35_42, kPythia6Jets42_50, kPythia6Jets50_60,
kPythia6Jets60_72, kPythia6Jets72_86, kPythia6Jets86_104,
kPythia6Jets104_125, kPythia6Jets125_150, kPythia6Jets150_180,
kPyJetJet, kPyGammaJetPHOS, kRunMax
};
const Char_t* pprRunName[] = {
"kPythia6Jets20_24", "kPythia6Jets24_29", "kPythia6Jets29_35",
"kPythia6Jets35_42", "kPythia6Jets42_50", "kPythia6Jets50_60",
"kPythia6Jets60_72", "kPythia6Jets72_86", "kPythia6Jets86_104",
"kPythia6Jets104_125", "kPythia6Jets125_150", "kPythia6Jets150_180",
"kPyJetJet", "kPyGammaJetPHOS"
};
/** ESDMCEventPublisher test macro
* @param nEvents Number of events which should be processed
*/
void MCGeneratorPublisher(Int_t nEvents=10, PprRun_t runType = kPythia6Jets104_125) {
TString writerInput;
// -- Switch Logging
// -------------------
AliLog::SetGlobalLogLevel( AliLog::kError );
AliHLTLogging log;
log.SwitchAliLog(0);
// -- Initialize HLT
// -------------------
AliHLTSystem gHLT;
gHLT.SetGlobalLoggingLevel(0x7D);
gHLT.LoadComponentLibraries("libAliHLTUtil.so");
gHLT.LoadComponentLibraries("liblhapdf.so");
gHLT.LoadComponentLibraries("libEGPythia6.so");
gHLT.LoadComponentLibraries("libpythia6.so");
gHLT.LoadComponentLibraries("libAliPythia6.so");
// ----------------------------//
// - - //
// -- Parameters -- //
// - - //
// ----------------------------//
Float_t coneRadius = 0.7;
Float_t cutPtSeed = 4.0;
Float_t cutEtJet = 7.0;
Int_t seed = 12345;
// ----------------------------//
// - - //
// -- Publisher Components -- //
// - - //
// ----------------------------//
TString generatorId( Form("MCGenerator_%s", pprRunName[runType]) );
TString generatorArg( Form("-seed %d -nevents %d -runtype %d -coneRadius %.1f -jetCutMinEt %.1f",
seed, nEvents, runType, coneRadius, cutEtJet));
AliHLTConfiguration mcGenerator(generatorId.Data(), "MCGenerator", NULL, generatorArg.Data() );
if (!writerInput.IsNull()) writerInput+=" ";
writerInput += generatorId;
// ----------------------------//
// - - //
// -- Sink Components -- //
// - - //
// ----------------------------//
TString writerArg( Form("-directory analysis -datafile analyze_%d_%s -write-all-events", nEvents, pprRunName[runType] ));
// -- The RootFileWriter
AliHLTConfiguration rootWriter("RootWriter", "ROOTFileWriter",
writerInput.Data(), writerArg.Data() );
// --------------------------- //
// - - //
// -- Run -- //
// - - //
// --------------------------- //
gHLT.BuildTaskList("RootWriter");
gHLT.Run(nEvents);
return;
}
MCGeneratorPublisher.C:10 MCGeneratorPublisher.C:11 MCGeneratorPublisher.C:12 MCGeneratorPublisher.C:13 MCGeneratorPublisher.C:14 MCGeneratorPublisher.C:15 MCGeneratorPublisher.C:16 MCGeneratorPublisher.C:17 MCGeneratorPublisher.C:18 MCGeneratorPublisher.C:19 MCGeneratorPublisher.C:20 MCGeneratorPublisher.C:21 MCGeneratorPublisher.C:22 MCGeneratorPublisher.C:23 MCGeneratorPublisher.C:24 MCGeneratorPublisher.C:25 MCGeneratorPublisher.C:26 MCGeneratorPublisher.C:27 MCGeneratorPublisher.C:28 MCGeneratorPublisher.C:29 MCGeneratorPublisher.C:30 MCGeneratorPublisher.C:31 MCGeneratorPublisher.C:32 MCGeneratorPublisher.C:33 MCGeneratorPublisher.C:34 MCGeneratorPublisher.C:35 MCGeneratorPublisher.C:36 MCGeneratorPublisher.C:37 MCGeneratorPublisher.C:38 MCGeneratorPublisher.C:39 MCGeneratorPublisher.C:40 MCGeneratorPublisher.C:41 MCGeneratorPublisher.C:42 MCGeneratorPublisher.C:43 MCGeneratorPublisher.C:44 MCGeneratorPublisher.C:45 MCGeneratorPublisher.C:46 MCGeneratorPublisher.C:47 MCGeneratorPublisher.C:48 MCGeneratorPublisher.C:49 MCGeneratorPublisher.C:50 MCGeneratorPublisher.C:51 MCGeneratorPublisher.C:52 MCGeneratorPublisher.C:53 MCGeneratorPublisher.C:54 MCGeneratorPublisher.C:55 MCGeneratorPublisher.C:56 MCGeneratorPublisher.C:57 MCGeneratorPublisher.C:58 MCGeneratorPublisher.C:59 MCGeneratorPublisher.C:60 MCGeneratorPublisher.C:61 MCGeneratorPublisher.C:62 MCGeneratorPublisher.C:63 MCGeneratorPublisher.C:64 MCGeneratorPublisher.C:65 MCGeneratorPublisher.C:66 MCGeneratorPublisher.C:67 MCGeneratorPublisher.C:68 MCGeneratorPublisher.C:69 MCGeneratorPublisher.C:70 MCGeneratorPublisher.C:71 MCGeneratorPublisher.C:72 MCGeneratorPublisher.C:73 MCGeneratorPublisher.C:74 MCGeneratorPublisher.C:75 MCGeneratorPublisher.C:76 MCGeneratorPublisher.C:77 MCGeneratorPublisher.C:78 MCGeneratorPublisher.C:79 MCGeneratorPublisher.C:80 MCGeneratorPublisher.C:81 MCGeneratorPublisher.C:82 MCGeneratorPublisher.C:83 MCGeneratorPublisher.C:84 MCGeneratorPublisher.C:85 MCGeneratorPublisher.C:86 MCGeneratorPublisher.C:87 MCGeneratorPublisher.C:88 MCGeneratorPublisher.C:89 MCGeneratorPublisher.C:90 MCGeneratorPublisher.C:91 MCGeneratorPublisher.C:92 MCGeneratorPublisher.C:93 MCGeneratorPublisher.C:94 MCGeneratorPublisher.C:95 MCGeneratorPublisher.C:96 MCGeneratorPublisher.C:97 MCGeneratorPublisher.C:98 MCGeneratorPublisher.C:99 MCGeneratorPublisher.C:100 MCGeneratorPublisher.C:101 MCGeneratorPublisher.C:102 MCGeneratorPublisher.C:103 MCGeneratorPublisher.C:104 MCGeneratorPublisher.C:105 MCGeneratorPublisher.C:106 MCGeneratorPublisher.C:107 MCGeneratorPublisher.C:108 MCGeneratorPublisher.C:109 MCGeneratorPublisher.C:110 MCGeneratorPublisher.C:111 MCGeneratorPublisher.C:112 MCGeneratorPublisher.C:113 MCGeneratorPublisher.C:114 MCGeneratorPublisher.C:115