ROOT logo
/**************************************************************************
 * 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$

/**
 * \ingroup macros
 * \file CreateTriggerRecoLookupTables.C
 * \brief Macro used to generate lookup tables for the trigger reconstructor components.
 *
 * This macro is used to generate the lookup tables for the trigger reconstructor
 * component. All alignment and geometry data is taken from the CDB.
 *
 * \note The LUT files must be generated on the same platform / machine on which
 * they will be used, since they may not be binary compatible across platforms.
 *
 * To run this macro copy "rootlogon.C" from $ALICE_ROOT/HLT/MUON/macros
 * into the current directory, then from the shell command prompt run one of
 * the following commands:
 * \code
 *   > aliroot $ALICE_ROOT/HLT/MUON/macros/CreateTriggerRecoLookupTables.C
 * \endcode
 * or
 * \code
 *   > aliroot -b -q -l $ALICE_ROOT/HLT/MUON/macros/CreateTriggerRecoLookupTables.C+
 * \endcode
 *
 * \author Artur Szostak <artursz@iafrica.com>
 */

#if !defined(__CINT__) || defined(__MAKECINT__)
#include "Riostream.h"
#include "AliHLTMUONTriggerReconstructorComponent.h"
#include "TSystem.h"
#endif

/**
 * Generates the lookup tables for the AliHLTMUONTriggerReconstructorComponent
 * components. The tables are generated from the CDB database information.
 * \param CDBPath  This is the CDB path to use as the DB storage.
 *                 (Default = local://$ALICE_ROOT/OCDB)
 * \param run  This is the run number to use for the CDB (Default = 0).
 * \param useCrateId  Indicates if the crate ID should be used for the lookup table
 *            indexing rather than just a sequencial number (Default = true).
 */
void CreateTriggerRecoLookupTables(
		const char* CDBPath = "local://$ALICE_ROOT/OCDB",
		Int_t run = 0,
		bool useCrateId = true
	)
{
	gSystem->Load("libAliHLTMUON.so");

	for (Int_t ddl = 20; ddl < 22; ddl++)
	{
		Char_t filename[64];
		sprintf(filename, "Lut%d.dat", ddl+1);
		cout << "Generating LUT for DDL " << ddl+1
			<< " and writing output to file " << filename << endl;
		bool ok = AliHLTMUONTriggerReconstructorComponent::GenerateLookupTable(
				ddl, filename, CDBPath, run, useCrateId
			);
		if (! ok) return;
	}
	
	cout << "Lookup tables have been generated successfully." << endl;
}
 CreateTriggerRecoLookupTables.C:1
 CreateTriggerRecoLookupTables.C:2
 CreateTriggerRecoLookupTables.C:3
 CreateTriggerRecoLookupTables.C:4
 CreateTriggerRecoLookupTables.C:5
 CreateTriggerRecoLookupTables.C:6
 CreateTriggerRecoLookupTables.C:7
 CreateTriggerRecoLookupTables.C:8
 CreateTriggerRecoLookupTables.C:9
 CreateTriggerRecoLookupTables.C:10
 CreateTriggerRecoLookupTables.C:11
 CreateTriggerRecoLookupTables.C:12
 CreateTriggerRecoLookupTables.C:13
 CreateTriggerRecoLookupTables.C:14
 CreateTriggerRecoLookupTables.C:15
 CreateTriggerRecoLookupTables.C:16
 CreateTriggerRecoLookupTables.C:17
 CreateTriggerRecoLookupTables.C:18
 CreateTriggerRecoLookupTables.C:19
 CreateTriggerRecoLookupTables.C:20
 CreateTriggerRecoLookupTables.C:21
 CreateTriggerRecoLookupTables.C:22
 CreateTriggerRecoLookupTables.C:23
 CreateTriggerRecoLookupTables.C:24
 CreateTriggerRecoLookupTables.C:25
 CreateTriggerRecoLookupTables.C:26
 CreateTriggerRecoLookupTables.C:27
 CreateTriggerRecoLookupTables.C:28
 CreateTriggerRecoLookupTables.C:29
 CreateTriggerRecoLookupTables.C:30
 CreateTriggerRecoLookupTables.C:31
 CreateTriggerRecoLookupTables.C:32
 CreateTriggerRecoLookupTables.C:33
 CreateTriggerRecoLookupTables.C:34
 CreateTriggerRecoLookupTables.C:35
 CreateTriggerRecoLookupTables.C:36
 CreateTriggerRecoLookupTables.C:37
 CreateTriggerRecoLookupTables.C:38
 CreateTriggerRecoLookupTables.C:39
 CreateTriggerRecoLookupTables.C:40
 CreateTriggerRecoLookupTables.C:41
 CreateTriggerRecoLookupTables.C:42
 CreateTriggerRecoLookupTables.C:43
 CreateTriggerRecoLookupTables.C:44
 CreateTriggerRecoLookupTables.C:45
 CreateTriggerRecoLookupTables.C:46
 CreateTriggerRecoLookupTables.C:47
 CreateTriggerRecoLookupTables.C:48
 CreateTriggerRecoLookupTables.C:49
 CreateTriggerRecoLookupTables.C:50
 CreateTriggerRecoLookupTables.C:51
 CreateTriggerRecoLookupTables.C:52
 CreateTriggerRecoLookupTables.C:53
 CreateTriggerRecoLookupTables.C:54
 CreateTriggerRecoLookupTables.C:55
 CreateTriggerRecoLookupTables.C:56
 CreateTriggerRecoLookupTables.C:57
 CreateTriggerRecoLookupTables.C:58
 CreateTriggerRecoLookupTables.C:59
 CreateTriggerRecoLookupTables.C:60
 CreateTriggerRecoLookupTables.C:61
 CreateTriggerRecoLookupTables.C:62
 CreateTriggerRecoLookupTables.C:63
 CreateTriggerRecoLookupTables.C:64
 CreateTriggerRecoLookupTables.C:65
 CreateTriggerRecoLookupTables.C:66
 CreateTriggerRecoLookupTables.C:67
 CreateTriggerRecoLookupTables.C:68
 CreateTriggerRecoLookupTables.C:69
 CreateTriggerRecoLookupTables.C:70
 CreateTriggerRecoLookupTables.C:71
 CreateTriggerRecoLookupTables.C:72
 CreateTriggerRecoLookupTables.C:73
 CreateTriggerRecoLookupTables.C:74
 CreateTriggerRecoLookupTables.C:75
 CreateTriggerRecoLookupTables.C:76
 CreateTriggerRecoLookupTables.C:77
 CreateTriggerRecoLookupTables.C:78
 CreateTriggerRecoLookupTables.C:79
 CreateTriggerRecoLookupTables.C:80
 CreateTriggerRecoLookupTables.C:81