]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/macros/HLTJetReconstruction.C
update test macros
[u/mrichter/AliRoot.git] / HLT / JET / macros / HLTJetReconstruction.C
CommitLineData
33daad3d 1/**
2 * @file HLTJetReconstruction.C
3 * @brief Macro for testing HLT Jet Reconstruction
4 *
5 * This macro uses the ESDMCEventPublisher to publish AliMCEvents and AliESDEvents.
6 * The processing is done be JetFinder's
7 * Results are written to disk by a rootfile writer
8 *
9 * @author thaeder@kip.uni-heidelberg.de
10 * @ingroup alihlt_jet
11 */
12
e6ae4f1e 13// ----------------------------------------------------------------------------
14// -- Pythia Parameter
15// ----------------------------------------------------------------------------
16
17enum PprRun_t {
18 kPythia6Jets20_24, kPythia6Jets24_29, kPythia6Jets29_35,
19 kPythia6Jets35_42, kPythia6Jets42_50, kPythia6Jets50_60,
20 kPythia6Jets60_72, kPythia6Jets72_86, kPythia6Jets86_104,
21 kPythia6Jets104_125, kPythia6Jets125_150, kPythia6Jets150_180,
22 kPyJetJet, kPyGammaJetPHOS, kRunMax
23};
24
25const Char_t* pprRunName[] = {
26 "kPythia6Jets20_24", "kPythia6Jets24_29", "kPythia6Jets29_35",
27 "kPythia6Jets35_42", "kPythia6Jets42_50", "kPythia6Jets50_60",
28 "kPythia6Jets60_72", "kPythia6Jets72_86", "kPythia6Jets86_104",
29 "kPythia6Jets104_125", "kPythia6Jets125_150", "kPythia6Jets150_180",
30 "kPyJetJet", "kPyGammaJetPHOS"
31};
32
1f9fec4a 33// ----------------------------------------------------------------------------
34// -- Jet Parameter
35// ----------------------------------------------------------------------------
36
37Float_t aConeRadius[] = { 0.4, 0.7 };
38Float_t aCutPtSeed[] = { 4.0, 7.0, 10.0 };
39Float_t aCutEtJet[] = { 4.0, 7.0, 10.0, 15.0 };
40
e6ae4f1e 41// ----------------------------------------------------------------------------
42
43
33daad3d 44/** HLTJetReconstruction test macro
45 * @param nEvents Number of events which should be processed
46 */
1f9fec4a 47void HLTJetReconstruction(Int_t nEvents=1, Bool_t generate=kFALSE, PprRun_t runType = kPythia6Jets104_125 ) {
33daad3d 48
49 TString writerInput;
e6ae4f1e 50 TString analysisInput;
51 TString jetInput;
33daad3d 52
e6ae4f1e 53 // -- Switch Logging
54 // -------------------
55 AliLog::SetGlobalLogLevel( AliLog::kError );
33daad3d 56 AliHLTLogging log;
e6ae4f1e 57 log.SwitchAliLog(0);
33daad3d 58
e6ae4f1e 59 // -- Initialize HLT
60 // -------------------
33daad3d 61 AliHLTSystem gHLT;
e6ae4f1e 62 gHLT.SetGlobalLoggingLevel(0x7D);
5ffba596 63
64 if ( getenv("FASTJET") ) {
65 gHLT.LoadComponentLibraries("libCGAL.so");
66 gHLT.LoadComponentLibraries("libfastjet.so");
67 gHLT.LoadComponentLibraries("libSISConePlugin.so");
68 }
33daad3d 69
e0677301 70 gHLT.LoadComponentLibraries("libESD.so");
71 gHLT.LoadComponentLibraries("libSTEER.so");
72 gHLT.LoadComponentLibraries("libSTEERBase.so");
73 gHLT.LoadComponentLibraries("libAOD.so");
74 gHLT.LoadComponentLibraries("libANALYSIS.so");
75 gHLT.LoadComponentLibraries("libANALYSISalice.so");
76 gHLT.LoadComponentLibraries("libJETAN.so");
0734d112 77
78 gHLT.LoadComponentLibraries("libAliHLTUtil.so");
79 gHLT.LoadComponentLibraries("libAliHLTJET.so");
e0677301 80
e6ae4f1e 81 gHLT.LoadComponentLibraries("liblhapdf.so");
82 gHLT.LoadComponentLibraries("libEGPythia6.so");
83 gHLT.LoadComponentLibraries("libpythia6.so");
84 gHLT.LoadComponentLibraries("libAliPythia6.so");
85
86 // ----------------------------//
87 // - - //
88 // -- Parameters -- //
89 // - - //
90 // ----------------------------//
91
1f9fec4a 92 Float_t coneRadius = aConeRadius[0];
93 Float_t cutPtSeed = aCutPtSeed[0];
94 Float_t cutEtJet = aCutEtJet[1];
e6ae4f1e 95
96 Int_t seed = 12345;
97
e0677301 98 // ----------------------------//
33daad3d 99 // - - //
100 // -- Publisher Components -- //
101 // - - //
e0677301 102 // ----------------------------//
33daad3d 103
e6ae4f1e 104 if ( ! generate ) {
1f9fec4a 105 // ------------------------------------------
106 // -- The ESDMCEventPublisher
107 // ------------------------------------------
e6ae4f1e 108 TString publisherId("ESDMCEventPublisher");
1f9fec4a 109 // ------------------------------------------
79fe198d 110 // MCFAST - MC - ESD
111 TString publisherArg("-entrytype ESD -dataspec 0x0000001F -datapath /lustre/alice/jthaeder/data/HEAD_2010-07-09/7TeV/pp_Perugia0/014000");
112
e6ae4f1e 113 AliHLTConfiguration ESDMCEventPublisher(publisherId.Data(), "ESDMCEventPublisher", NULL, publisherArg.Data() );
114
115 if (!analysisInput.IsNull()) analysisInput+=" ";
116 analysisInput += publisherId;
117
118 if (!jetInput.IsNull()) jetInput+=" ";
119 jetInput += publisherId;
120 }
121
e6ae4f1e 122 else {
1f9fec4a 123 // ------------------------------------------
124 // -- The MCGenerator
125 // ------------------------------------------
e6ae4f1e 126 TString generatorId( Form("MCGenerator_%s", pprRunName[runType]) );
1f9fec4a 127 // ------------------------------------------
e6ae4f1e 128
129 TString generatorArg( Form("-seed %d -nevents %d -runtype %d -coneRadius %.1f -jetCutMinEt %.1f",
130 seed, nEvents, runType, coneRadius, cutEtJet));
131
132 AliHLTConfiguration mcGenerator(generatorId.Data(), "MCGenerator", NULL, generatorArg.Data() );
133
134 if (!analysisInput.IsNull()) analysisInput+=" ";
135 analysisInput += generatorId;
136
137 if (!jetInput.IsNull()) jetInput+=" ";
138 jetInput += generatorId;
139 }
e0677301 140
141 // ----------------------------//
33daad3d 142 // - - //
143 // -- Processing Components -- //
144 // - - //
e0677301 145 // ----------------------------//
79fe198d 146
e6ae4f1e 147#if 1
79fe198d 148
e6ae4f1e 149 // ------------------------------------------
e0677301 150 // -- ConeJetFinder
e6ae4f1e 151 // ------------------------------------------
e6ae4f1e 152 TString jetId("JETConeJet");
1f9fec4a 153 // ------------------------------------------
e6ae4f1e 154
79fe198d 155 TString jetArg(
156 Form("-algorithm FSCSquareCell -leading 1 -coneRadius %.1f -trackCutMinPt 0.0 -seedCutMinPt %.1f -jetCutMinEt %.1f", coneRadius, cutPtSeed, cutEtJet)
157 );
9b744e18 158
e6ae4f1e 159 AliHLTConfiguration jetCone(jetId.Data(), "JETConeJetFinder", jetInput.Data(), jetArg.Data());
9b744e18 160
e6ae4f1e 161 if (!analysisInput.IsNull()) analysisInput+=" ";
162 analysisInput += jetId;
6ce099ba 163
e6ae4f1e 164#else
79fe198d 165
e6ae4f1e 166 // ------------------------------------------
9b744e18 167 // -- FastJetFinder
e6ae4f1e 168 // ------------------------------------------
169
79fe198d 170 AliHLTConfiguration jetFinder("JETFastJet_Kt", "JETFastJetFinder", jetInput.Data(),"-finderType kt");
0734d112 171
e6ae4f1e 172 if (!writerInput.IsNull()) writerInput+=" ";
173 writerInput+="JETFastJet_Kt";
174
79fe198d 175 AliHLTConfiguration jetFinder("JETFastJet_AntiKt", "JETFastJetFinder", jetInput.Data(),"-finderType antikt");
e6ae4f1e 176
177 if (!writerInput.IsNull()) writerInput+=" ";
178 writerInput+="JETFastJet_AntiKt";
179#endif
79fe198d 180
e6ae4f1e 181 // ------------------------------------------
182 // -- Jet Analysis
183 // ------------------------------------------
e6ae4f1e 184 TString analysisId("JETAnalysis");
1f9fec4a 185 // ------------------------------------------
186
e6ae4f1e 187 TString analysisArg("");
188
189 AliHLTConfiguration jetAnalysis(analysisId.Data(), "JETAnalysis", analysisInput.Data(), analysisArg.Data() );
190
191 if (!writerInput.IsNull()) writerInput+=" ";
192 writerInput += analysisId;
6ce099ba 193
e0677301 194 // ----------------------------//
33daad3d 195 // - - //
196 // -- Sink Components -- //
197 // - - //
e0677301 198 // ----------------------------//
e6ae4f1e 199
200 TString writerArg( Form("-directory analysis -datafile analyze_%d_%s -write-all-events", nEvents, pprRunName[runType] ));
33daad3d 201
202 // -- The RootFileWriter
79fe198d 203 AliHLTConfiguration rootWriter("RootWriter", "ROOTFileWriter", writerInput.Data(), writerArg.Data() );
e6ae4f1e 204
205 // --------------------------- //
33daad3d 206 // - - //
207 // -- Run -- //
208 // - - //
e6ae4f1e 209 // --------------------------- //
33daad3d 210
211 gHLT.BuildTaskList("RootWriter");
212 gHLT.Run(nEvents);
213
e6ae4f1e 214 return;
33daad3d 215}