/**************************************************************************
* This file is property of and copyright by the ALICE HLT Project *
* All rights reserved. *
* *
* Primary Authors: *
* Artur Szostak <artursz@iafrica.com> *
* *
* Permission to use, copy, modify and distribute this software and its *
* documentation strictly for non-commercial purposes is hereby granted *
* without fee, provided that the above copyright notice appears in all *
* copies and that both the copyright notice and this permission notice *
* appear in the supporting documentation. The authors make no claims *
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
// $Id: $
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliHLTPluginBase.h"
#include "AliHLTConfiguration.h"
#include "AliReconstruction.h"
#include <iostream>
using std::cerr;
using std::endl;
#endif
/**
* @file HLToutputTodHLTRootObjects.C
* @brief Macro for converting dHLT output in HLTOUT into ROOT objects or dumping to file.
*
* This macro converts dHLT output data blocks in HLTOUT to dHLT ROOT
* objects which can be used for dHLT specific analysis or debugging.
* Alternatively the dHLT data blocks are dumped to file in raw binary format.
*
* @note The macro must be run in the directory with the raw0, raw1 etc
* directories. Also no reconstructed ROOT files should be in this directory
* either. Backup any reconstructed AliESDs.root files if you want, and then
* delete all root files in the directory where you will run this macro.
*
* @param dataSource Indicates where to find the raw data. If this is a path
* then the raw data is expected to be in DDL file format stored in directories
* called raw0, raw1 and so on.
* If a file name is given instead then it is assumed to be a DATE file unless
* it ends in ".root", in which case it is assumed to be rootified raw data.
* @param dumpBinary Indicates if the data should be dumped in raw binary format
* to files with the file name prefix "output-". If set to false then the
* output is rootified and written to a ROOT file "output.root".
*
* @author Artur Szostak <artursz@iafrica.com>
* @ingroup alihlt_dimuon_macros
*/
void HLToutputTodHLTRootObjects(const char* dataSource = "./", bool dumpBinary = false)
{
// setup of the HLT system
gSystem->Load("libHLTrec.so");
AliHLTSystem* sys = AliHLTPluginBase::GetInstance();
if (sys == NULL)
{
cerr << "FATAL ERROR: Cannot get HLT system instance." << endl;
return;
}
// Configure the chain.
AliHLTConfiguration pub("Pub", "AliHLTOUTPublisher" , NULL, "-origin 'MUON'");
TString sources = "Pub";
if (dumpBinary)
{
AliHLTConfiguration sink("dhlt-output-dump", "FileWriter", sources, "-datafile output.dat -specfmt");
}
else
{
AliHLTConfiguration convert("convert", "MUONRootifier", sources, "");
AliHLTConfiguration sink("dhlt-output-dump", "ROOTFileWriter", "convert", "-concatenate-events -datafile output.root -specfmt");
}
// Setup the reconstruction and run.
AliReconstruction rec;
rec.SetInput(dataSource);
rec.SetLoadAlignData("");
rec.SetRunLocalReconstruction("HLT");
rec.SetRunTracking("");
rec.SetFillESD("");
rec.SetRunQA(":");
rec.SetFillTriggerESD(kFALSE);
rec.SetRunVertexFinder(kFALSE);
rec.SetOption("HLT", "libAliHLTMUON.so loglevel=0x78 chains=dhlt-output-dump");
rec.Run();
}
HLToutputTodHLTRootObjects.C:1 HLToutputTodHLTRootObjects.C:2 HLToutputTodHLTRootObjects.C:3 HLToutputTodHLTRootObjects.C:4 HLToutputTodHLTRootObjects.C:5 HLToutputTodHLTRootObjects.C:6 HLToutputTodHLTRootObjects.C:7 HLToutputTodHLTRootObjects.C:8 HLToutputTodHLTRootObjects.C:9 HLToutputTodHLTRootObjects.C:10 HLToutputTodHLTRootObjects.C:11 HLToutputTodHLTRootObjects.C:12 HLToutputTodHLTRootObjects.C:13 HLToutputTodHLTRootObjects.C:14 HLToutputTodHLTRootObjects.C:15 HLToutputTodHLTRootObjects.C:16 HLToutputTodHLTRootObjects.C:17 HLToutputTodHLTRootObjects.C:18 HLToutputTodHLTRootObjects.C:19 HLToutputTodHLTRootObjects.C:20 HLToutputTodHLTRootObjects.C:21 HLToutputTodHLTRootObjects.C:22 HLToutputTodHLTRootObjects.C:23 HLToutputTodHLTRootObjects.C:24 HLToutputTodHLTRootObjects.C:25 HLToutputTodHLTRootObjects.C:26 HLToutputTodHLTRootObjects.C:27 HLToutputTodHLTRootObjects.C:28 HLToutputTodHLTRootObjects.C:29 HLToutputTodHLTRootObjects.C:30 HLToutputTodHLTRootObjects.C:31 HLToutputTodHLTRootObjects.C:32 HLToutputTodHLTRootObjects.C:33 HLToutputTodHLTRootObjects.C:34 HLToutputTodHLTRootObjects.C:35 HLToutputTodHLTRootObjects.C:36 HLToutputTodHLTRootObjects.C:37 HLToutputTodHLTRootObjects.C:38 HLToutputTodHLTRootObjects.C:39 HLToutputTodHLTRootObjects.C:40 HLToutputTodHLTRootObjects.C:41 HLToutputTodHLTRootObjects.C:42 HLToutputTodHLTRootObjects.C:43 HLToutputTodHLTRootObjects.C:44 HLToutputTodHLTRootObjects.C:45 HLToutputTodHLTRootObjects.C:46 HLToutputTodHLTRootObjects.C:47 HLToutputTodHLTRootObjects.C:48 HLToutputTodHLTRootObjects.C:49 HLToutputTodHLTRootObjects.C:50 HLToutputTodHLTRootObjects.C:51 HLToutputTodHLTRootObjects.C:52 HLToutputTodHLTRootObjects.C:53 HLToutputTodHLTRootObjects.C:54 HLToutputTodHLTRootObjects.C:55 HLToutputTodHLTRootObjects.C:56 HLToutputTodHLTRootObjects.C:57 HLToutputTodHLTRootObjects.C:58 HLToutputTodHLTRootObjects.C:59 HLToutputTodHLTRootObjects.C:60 HLToutputTodHLTRootObjects.C:61 HLToutputTodHLTRootObjects.C:62 HLToutputTodHLTRootObjects.C:63 HLToutputTodHLTRootObjects.C:64 HLToutputTodHLTRootObjects.C:65 HLToutputTodHLTRootObjects.C:66 HLToutputTodHLTRootObjects.C:67 HLToutputTodHLTRootObjects.C:68 HLToutputTodHLTRootObjects.C:69 HLToutputTodHLTRootObjects.C:70 HLToutputTodHLTRootObjects.C:71 HLToutputTodHLTRootObjects.C:72 HLToutputTodHLTRootObjects.C:73 HLToutputTodHLTRootObjects.C:74 HLToutputTodHLTRootObjects.C:75 HLToutputTodHLTRootObjects.C:76 HLToutputTodHLTRootObjects.C:77 HLToutputTodHLTRootObjects.C:78 HLToutputTodHLTRootObjects.C:79 HLToutputTodHLTRootObjects.C:80 HLToutputTodHLTRootObjects.C:81 HLToutputTodHLTRootObjects.C:82 HLToutputTodHLTRootObjects.C:83 HLToutputTodHLTRootObjects.C:84 HLToutputTodHLTRootObjects.C:85 HLToutputTodHLTRootObjects.C:86 HLToutputTodHLTRootObjects.C:87 HLToutputTodHLTRootObjects.C:88 HLToutputTodHLTRootObjects.C:89 HLToutputTodHLTRootObjects.C:90