]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/MUON/macros/CreateDefaultCDBEntries.C
e7020cd41e38fe656b6c9c0488c8e23b5bd8dae0
[u/mrichter/AliRoot.git] / HLT / MUON / macros / CreateDefaultCDBEntries.C
1 /**************************************************************************
2  * This file is property of and copyright by the ALICE HLT Project        *
3  * All rights reserved.                                                   *
4  *                                                                        *
5  * Primary Authors:                                                       *
6  *   Artur Szostak <artursz@iafrica.com>                                  *
7  *                                                                        *
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  **************************************************************************/
16
17 /* $Id: $ */
18
19 /**
20  * \ingroup macros
21  * \file CreateDefaultCDBEntries.C
22  * \brief Macro for generating default CDB entries for dHLT.
23  *
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.
26  *
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:
30  * \code
31  *   > aliroot -b -q -l $ALICE_ROOT/HLT/MUON/macros/CreateDefaultCDBEntries.C+
32  * \endcode
33  *
34  * \author Artur Szostak <artursz@iafrica.com>
35  */
36
37 #if !defined(__CINT__) || defined(__MAKECINT__)
38 #include "AliCDBManager.h"
39 #include "AliCDBStorage.h"
40 #include "AliCDBEntry.h"
41 #include "AliHLTMUONConstants.h"
42 #include "TMap.h"
43 #include "TObjString.h"
44 #include "TString.h"
45 #include <iostream>
46 using std::cerr;
47 using std::endl;
48 #endif
49
50 /**
51  * Generates default CDB entries in the given CDB storage (local by default)
52  * \param cdbPath  The path to the local storage.
53  */
54 void CreateDefaultCDBEntries(
55                 const char* cdbPath = "local://$ALICE_ROOT/OCDB",
56                 float zmiddle = -975.,
57                 float bfieldintegral = -3.,
58                 int dccut = 50,
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
77         )
78 {
79         // Setup the CDB default storage and run number.
80         AliCDBManager* cdbManager = AliCDBManager::Instance();
81         if (cdbManager == NULL)
82         {
83                 cerr << "ERROR: Global CDB manager object does not exist." << endl;
84                 return;
85         }
86         
87         AliCDBStorage* storage = cdbManager->GetStorage(cdbPath);
88         if (storage == NULL)
89         {
90                 cerr << "ERROR: Could not get storage for: " << cdbPath << endl;
91                 return;
92         }
93         
94         Int_t version = 0;
95         Int_t firstRun = 0;
96         Int_t lastRun = AliCDBRunRange::Infinity();
97         
98         const char* path = NULL;
99         AliCDBMetaData* metaData = NULL;
100         TMap* params = NULL;
101         AliCDBId id;
102         
103         // Create and store the configuration parameters for the trigger reconstructor.
104         params = new TMap;
105         params->SetOwner(kTRUE);
106         char valstr[1024];
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));
111         
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);
118         
119         // Create and store the configuration parameters for the hit reconstructor.
120         params = new TMap;
121         params->SetOwner(kTRUE);
122         sprintf(valstr, "%d", dccut);
123         params->Add(new TObjString("dccut"), new TObjString(valstr));
124         
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);
131         
132         // Create and store the configuration parameters for the Manso tracker.
133         params = new TMap;
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));
167         
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);
174         
175         // Create and store the configuration parameters for the trigger decision cuts.
176         params = new TMap;
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));
186         
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);
193 }