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.
53 * \param version The version of the CDB entry.
54 * \param firstRun = The first run number for which the CDB entry is valid.
55 * \param lastRun = The last run number for which the CDB entry is valid.
56 * \param zmiddle The middle of the dipole field (cm) used by AliHLTMUONTriggerReconstructorComponent and AliHLTMUONMansoTrackerFSMComponent.
57 * \param bfieldintegral The dipole magnetic field integral (T.m) used by AliHLTMUONTriggerReconstructorComponent and AliHLTMUONMansoTrackerFSMComponent.
58 * \param dccut DC cut applied to channels by AliHLTMUONHitReconstructorComponent.
59 * \param roiParamAchamber7 Region of interest parameter A for chamber 7 used by AliHLTMUONMansoTrackerFSMComponent.
60 * \param roiParamBchamber7 Region of interest parameter B for chamber 7 used by AliHLTMUONMansoTrackerFSMComponent.
61 * \param roiParamAchamber8 Region of interest parameter A for chamber 8 used by AliHLTMUONMansoTrackerFSMComponent.
62 * \param roiParamBchamber8 Region of interest parameter B for chamber 8 used by AliHLTMUONMansoTrackerFSMComponent.
63 * \param roiParamAchamber9 Region of interest parameter A for chamber 9 used by AliHLTMUONMansoTrackerFSMComponent.
64 * \param roiParamBchamber9 Region of interest parameter B for chamber 9 used by AliHLTMUONMansoTrackerFSMComponent.
65 * \param roiParamAchamber10 Region of interest parameter A for chamber 10 used by AliHLTMUONMansoTrackerFSMComponent.
66 * \param roiParamBchamber10 Region of interest parameter B for chamber 10 used by AliHLTMUONMansoTrackerFSMComponent.
67 * \param lowptcut The low pT cut applied to tracks (GeV/c) used by the AliHLTMUONDecisionComponent.
68 * \param highptcut The hight pT cut applied to tracks (GeV/c) used by the AliHLTMUONDecisionComponent.
69 * \param lowmasscut The low invariant mass cut applied to track pairs (GeV/c^2) used by the AliHLTMUONDecisionComponent.
70 * \param highmasscut The hight invariant mass cut applied to track pairs (GeV/c^2) used by the AliHLTMUONDecisionComponent.
71 * \param chamber7postion Nominal position for chamber 7 used by AliHLTMUONMansoTrackerFSMComponent.
72 * \param chamber8postion Nominal position for chamber 8 used by AliHLTMUONMansoTrackerFSMComponent.
73 * \param chamber9postion Nominal position for chamber 9 used by AliHLTMUONMansoTrackerFSMComponent.
74 * \param chamber10postion Nominal position for chamber 10 used by AliHLTMUONMansoTrackerFSMComponent.
75 * \param chamber11postion Nominal position for chamber 11 used by AliHLTMUONMansoTrackerFSMComponent.
76 * \param chamber13postion Nominal position for chamber 13 used by AliHLTMUONMansoTrackerFSMComponent.
78 void CreateDefaultCDBEntries(
79 const char* cdbPath = "local://$ALICE_ROOT/OCDB",
82 Int_t lastRun = AliCDBRunRange::Infinity(),
83 float zmiddle = -975.,
84 float bfieldintegral = -3.,
86 float roiParamAchamber7 = 0.020,
87 float roiParamBchamber7 = 2.2,
88 float roiParamAchamber8 = 0.023,
89 float roiParamBchamber8 = 2.3,
90 float roiParamAchamber9 = 0.049,
91 float roiParamBchamber9 = 4.8,
92 float roiParamAchamber10 = 0.045,
93 float roiParamBchamber10 = 4.2,
94 float lowptcut = 0.779,
95 float highptcut = 1.755,
96 float lowmasscut = 1.5,
97 float highmasscut = 6.,
98 float chamber7postion = -1276.5,
99 float chamber8postion = -1307.5,
100 float chamber9postion = -1406.6,
101 float chamber10postion = -1437.6,
102 float chamber11postion = -1603.5,
103 float chamber13postion = -1703.5
106 // Setup the CDB default storage and run number.
107 AliCDBManager* cdbManager = AliCDBManager::Instance();
108 if (cdbManager == NULL)
110 cerr << "ERROR: Global CDB manager object does not exist." << endl;
114 AliCDBStorage* storage = cdbManager->GetStorage(cdbPath);
117 cerr << "ERROR: Could not get storage for: " << cdbPath << endl;
121 const char* path = NULL;
122 AliCDBMetaData* metaData = NULL;
126 // Create and store the configuration parameters for the trigger reconstructor.
128 params->SetOwner(kTRUE);
130 sprintf(valstr, "%8.8f", zmiddle);
131 params->Add(new TObjString("zmiddle"), new TObjString(valstr));
132 sprintf(valstr, "%8.8f", bfieldintegral);
133 params->Add(new TObjString("bfieldintegral"), new TObjString(valstr));
135 path = AliHLTMUONConstants::TriggerReconstructorCDBPath();
136 id = AliCDBId(path, firstRun, lastRun, version);
137 metaData = new AliCDBMetaData();
138 metaData->SetResponsible("dimuon HLT");
139 metaData->SetComment("Trigger reconstructor configuration parameters for dimuon HLT.");
140 storage->Put(params, id, metaData);
142 // Create and store the configuration parameters for the hit reconstructor.
144 params->SetOwner(kTRUE);
145 sprintf(valstr, "%d", dccut);
146 params->Add(new TObjString("dccut"), new TObjString(valstr));
148 path = AliHLTMUONConstants::HitReconstructorCDBPath();
149 id = AliCDBId(path, firstRun, lastRun, version);
150 metaData = new AliCDBMetaData();
151 metaData->SetResponsible("dimuon HLT");
152 metaData->SetComment("Hit reconstructor DC cut parameter for dimuon HLT.");
153 storage->Put(params, id, metaData);
155 // Create and store the configuration parameters for the Manso tracker.
157 params->SetOwner(kTRUE);
158 sprintf(valstr, "%8.8f", zmiddle);
159 params->Add(new TObjString("zmiddle"), new TObjString(valstr));
160 sprintf(valstr, "%8.8f", bfieldintegral);
161 params->Add(new TObjString("bfieldintegral"), new TObjString(valstr));
162 sprintf(valstr, "%8.8f", roiParamAchamber7);
163 params->Add(new TObjString("roi_paramA_chamber7"), new TObjString(valstr));
164 sprintf(valstr, "%8.8f", roiParamBchamber7);
165 params->Add(new TObjString("roi_paramB_chamber7"), new TObjString(valstr));
166 sprintf(valstr, "%8.8f", roiParamAchamber8);
167 params->Add(new TObjString("roi_paramA_chamber8"), new TObjString(valstr));
168 sprintf(valstr, "%8.8f", roiParamBchamber8);
169 params->Add(new TObjString("roi_paramB_chamber8"), new TObjString(valstr));
170 sprintf(valstr, "%8.8f", roiParamAchamber9);
171 params->Add(new TObjString("roi_paramA_chamber9"), new TObjString(valstr));
172 sprintf(valstr, "%8.8f", roiParamBchamber9);
173 params->Add(new TObjString("roi_paramB_chamber9"), new TObjString(valstr));
174 sprintf(valstr, "%8.8f", roiParamAchamber10);
175 params->Add(new TObjString("roi_paramA_chamber10"), new TObjString(valstr));
176 sprintf(valstr, "%8.8f", roiParamBchamber10);
177 params->Add(new TObjString("roi_paramB_chamber10"), new TObjString(valstr));
178 sprintf(valstr, "%8.8f", chamber7postion);
179 params->Add(new TObjString("chamber7postion"), new TObjString(valstr));
180 sprintf(valstr, "%8.8f", chamber8postion);
181 params->Add(new TObjString("chamber8postion"), new TObjString(valstr));
182 sprintf(valstr, "%8.8f", chamber9postion);
183 params->Add(new TObjString("chamber9postion"), new TObjString(valstr));
184 sprintf(valstr, "%8.8f", chamber10postion);
185 params->Add(new TObjString("chamber10postion"), new TObjString(valstr));
186 sprintf(valstr, "%8.8f", chamber11postion);
187 params->Add(new TObjString("chamber11postion"), new TObjString(valstr));
188 sprintf(valstr, "%8.8f", chamber13postion);
189 params->Add(new TObjString("chamber13postion"), new TObjString(valstr));
191 path = AliHLTMUONConstants::MansoTrackerFSMCDBPath();
192 id = AliCDBId(path, firstRun, lastRun, version);
193 metaData = new AliCDBMetaData();
194 metaData->SetResponsible("dimuon HLT");
195 metaData->SetComment("Manso tracker FSM component configuration parameters for dimuon HLT.");
196 storage->Put(params, id, metaData);
198 // Create and store the configuration parameters for the trigger decision cuts.
200 params->SetOwner(kTRUE);
201 sprintf(valstr, "%8.8f", lowptcut);
202 params->Add(new TObjString("lowptcut"), new TObjString(valstr));
203 sprintf(valstr, "%8.8f", highptcut);
204 params->Add(new TObjString("highptcut"), new TObjString(valstr));
205 sprintf(valstr, "%8.8f", lowmasscut);
206 params->Add(new TObjString("lowmasscut"), new TObjString(valstr));
207 sprintf(valstr, "%8.8f", highmasscut);
208 params->Add(new TObjString("highmasscut"), new TObjString(valstr));
210 path = AliHLTMUONConstants::DecisionComponentCDBPath();
211 id = AliCDBId(path, firstRun, lastRun, version);
212 metaData = new AliCDBMetaData();
213 metaData->SetResponsible("dimuon HLT");
214 metaData->SetComment("Trigger decision cuts for dimuon HLT.");
215 storage->Put(params, id, metaData);