1 /**************************************************************************
2 * This file is property of and copyright by the ALICE HLT Project *
3 * All rights reserved. *
6 * Artur Szostak <artursz@iafrica.com> *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
21 * \file CreateDefaultCDBEntries.C
22 * \brief Macro for generating default CDB entries for dHLT.
24 * This macro is used to generate some default CDB entries for the dHLT.
25 * It is an experts macro so make sure you know what you are doing.
27 * The simplest way to run this macro with defaults is to copy "rootlogon.C" from
28 * $ALICE_ROOT/HLT/MUON/macros into your current working directory, then from
29 * the shell command prompt run the following command:
31 * > aliroot -b -q -l $ALICE_ROOT/HLT/MUON/macros/CreateDefaultCDBEntries.C+
34 * \author Artur Szostak <artursz@iafrica.com>
37 #if !defined(__CINT__) || defined(__MAKECINT__)
38 #include "AliCDBManager.h"
39 #include "AliCDBStorage.h"
40 #include "AliCDBEntry.h"
41 #include "AliHLTMUONConstants.h"
43 #include "TObjString.h"
51 * Generates default CDB entries in the given CDB storage (local by default)
52 * \param cdbPath The path to the local storage.
54 void CreateDefaultCDBEntries(
55 const char* cdbPath = "local://$ALICE_ROOT/OCDB",
56 float zmiddle = -975.,
57 float bfieldintegral = -3.,
59 float roiParamAchamber7 = 0.020,
60 float roiParamBchamber7 = 2.2,
61 float roiParamAchamber8 = 0.023,
62 float roiParamBchamber8 = 2.3,
63 float roiParamAchamber9 = 0.049,
64 float roiParamBchamber9 = 4.8,
65 float roiParamAchamber10 = 0.045,
66 float roiParamBchamber10 = 4.2,
67 float lowptcut = 0.779,
68 float highptcut = 1.755,
69 float lowmasscut = 1.5,
70 float highmasscut = 6.,
71 float chamber7postion = -1276.5,
72 float chamber8postion = -1307.5,
73 float chamber9postion = -1406.6,
74 float chamber10postion = -1437.6,
75 float chamber11postion = -1603.5,
76 float chamber13postion = -1703.5
79 // Setup the CDB default storage and run number.
80 AliCDBManager* cdbManager = AliCDBManager::Instance();
81 if (cdbManager == NULL)
83 cerr << "ERROR: Global CDB manager object does not exist." << endl;
87 AliCDBStorage* storage = cdbManager->GetStorage(cdbPath);
90 cerr << "ERROR: Could not get storage for: " << cdbPath << endl;
96 Int_t lastRun = AliCDBRunRange::Infinity();
98 const char* path = NULL;
99 AliCDBMetaData* metaData = NULL;
103 // Create and store the configuration parameters for the trigger reconstructor.
105 params->SetOwner(kTRUE);
107 sprintf(valstr, "%8.8f", zmiddle);
108 params->Add(new TObjString("zmiddle"), new TObjString(valstr));
109 sprintf(valstr, "%8.8f", bfieldintegral);
110 params->Add(new TObjString("bfieldintegral"), new TObjString(valstr));
112 path = AliHLTMUONConstants::TriggerReconstructorCDBPath();
113 id = AliCDBId(path, firstRun, lastRun, version);
114 metaData = new AliCDBMetaData();
115 metaData->SetResponsible("dimuon HLT");
116 metaData->SetComment("Trigger reconstructor configuration parameters for dimuon HLT.");
117 storage->Put(params, id, metaData);
119 // Create and store the configuration parameters for the hit reconstructor.
121 params->SetOwner(kTRUE);
122 sprintf(valstr, "%d", dccut);
123 params->Add(new TObjString("dccut"), new TObjString(valstr));
125 path = AliHLTMUONConstants::HitReconstructorCDBPath();
126 id = AliCDBId(path, firstRun, lastRun, version);
127 metaData = new AliCDBMetaData();
128 metaData->SetResponsible("dimuon HLT");
129 metaData->SetComment("Hit reconstructor DC cut parameter for dimuon HLT.");
130 storage->Put(params, id, metaData);
132 // Create and store the configuration parameters for the Manso tracker.
134 params->SetOwner(kTRUE);
135 sprintf(valstr, "%8.8f", zmiddle);
136 params->Add(new TObjString("zmiddle"), new TObjString(valstr));
137 sprintf(valstr, "%8.8f", bfieldintegral);
138 params->Add(new TObjString("bfieldintegral"), new TObjString(valstr));
139 sprintf(valstr, "%8.8f", roiParamAchamber7);
140 params->Add(new TObjString("roi_paramA_chamber7"), new TObjString(valstr));
141 sprintf(valstr, "%8.8f", roiParamBchamber7);
142 params->Add(new TObjString("roi_paramB_chamber7"), new TObjString(valstr));
143 sprintf(valstr, "%8.8f", roiParamAchamber8);
144 params->Add(new TObjString("roi_paramA_chamber8"), new TObjString(valstr));
145 sprintf(valstr, "%8.8f", roiParamBchamber8);
146 params->Add(new TObjString("roi_paramB_chamber8"), new TObjString(valstr));
147 sprintf(valstr, "%8.8f", roiParamAchamber9);
148 params->Add(new TObjString("roi_paramA_chamber9"), new TObjString(valstr));
149 sprintf(valstr, "%8.8f", roiParamBchamber9);
150 params->Add(new TObjString("roi_paramB_chamber9"), new TObjString(valstr));
151 sprintf(valstr, "%8.8f", roiParamAchamber10);
152 params->Add(new TObjString("roi_paramA_chamber10"), new TObjString(valstr));
153 sprintf(valstr, "%8.8f", roiParamBchamber10);
154 params->Add(new TObjString("roi_paramB_chamber10"), new TObjString(valstr));
155 sprintf(valstr, "%8.8f", chamber7postion);
156 params->Add(new TObjString("chamber7postion"), new TObjString(valstr));
157 sprintf(valstr, "%8.8f", chamber8postion);
158 params->Add(new TObjString("chamber8postion"), new TObjString(valstr));
159 sprintf(valstr, "%8.8f", chamber9postion);
160 params->Add(new TObjString("chamber9postion"), new TObjString(valstr));
161 sprintf(valstr, "%8.8f", chamber10postion);
162 params->Add(new TObjString("chamber10postion"), new TObjString(valstr));
163 sprintf(valstr, "%8.8f", chamber11postion);
164 params->Add(new TObjString("chamber11postion"), new TObjString(valstr));
165 sprintf(valstr, "%8.8f", chamber13postion);
166 params->Add(new TObjString("chamber13postion"), new TObjString(valstr));
168 path = AliHLTMUONConstants::MansoTrackerFSMCDBPath();
169 id = AliCDBId(path, firstRun, lastRun, version);
170 metaData = new AliCDBMetaData();
171 metaData->SetResponsible("dimuon HLT");
172 metaData->SetComment("Manso tracker FSM component configuration parameters for dimuon HLT.");
173 storage->Put(params, id, metaData);
175 // Create and store the configuration parameters for the trigger decision cuts.
177 params->SetOwner(kTRUE);
178 sprintf(valstr, "%8.8f", lowptcut);
179 params->Add(new TObjString("lowptcut"), new TObjString(valstr));
180 sprintf(valstr, "%8.8f", highptcut);
181 params->Add(new TObjString("highptcut"), new TObjString(valstr));
182 sprintf(valstr, "%8.8f", lowmasscut);
183 params->Add(new TObjString("lowmasscut"), new TObjString(valstr));
184 sprintf(valstr, "%8.8f", highmasscut);
185 params->Add(new TObjString("highmasscut"), new TObjString(valstr));
187 path = AliHLTMUONConstants::DecisionComponentCDBPath();
188 id = AliCDBId(path, firstRun, lastRun, version);
189 metaData = new AliCDBMetaData();
190 metaData->SetResponsible("dimuon HLT");
191 metaData->SetComment("Trigger decision cuts for dimuon HLT.");
192 storage->Put(params, id, metaData);