Porting HLT doxygen documentation to cmake
[u/mrichter/AliRoot.git] / HLT / global / physics / macros / makeConfigurationObjectMultiplicityCorrelations.C
1 //-*- Mode: C++ -*-
2 // $Id: makeConfigurationObjectMultiplicityCorrelations.C$
3 /**
4  * @file makeConfigurationObjectMultiplicityCorrelations.C
5  * @brief Creation of HLT component configuration objects in OCDB
6  *
7  * <pre>
8  * Usage: aliroot -b -q makeConfigurationObjectMultiplicityCorrelations.C'("param", "uri", runMin, runMax)'
9  * </pre>
10  *
11  * Create an OCDB entry with a TObjString containing param for
12  * MultiplicityCorrelations
13  *
14  * Parameters: <br>
15  * - param (opt)    string to be stored in the TObjSting, default empty
16  * - uri   (opt)    the OCDB URI, default $ALICE_ROOT   
17  * - runMin (opt)   default 0
18  * - runMax (opt)   default 999999999
19  * - centralityFile (opt) set new centralityFile
20  * 
21  * Current Param : 
22  *  - ""  <pre> aliroot -b -q makeConfigurationObjectMultiplicityCorrelations.C </pre>
23  *
24  * @author Jochen Thaeder <jochen@thaeder.de>
25  * @ingroup alihlt_global
26  */
27 void makeConfigurationObjectMultiplicityCorrelations(const Char_t* param="-addTrigger CPBI1 -addTrigger CPBI2", const Char_t* cdbUri=NULL,
28                                                      Int_t runMin=0, Int_t runMax=AliCDBRunRange::Infinity(),
29                                                      Char_t *centralityFile="centrality.root") {
30
31   // --------------------------------------
32   // -- Setup CDB
33   // --------------------------------------
34
35   AliCDBManager* man = AliCDBManager::Instance();
36   if (!man) {
37     cerr << "Error : Can not get AliCDBManager" << end;
38     exit;
39   }
40
41   TString storage;
42   if (!man->IsDefaultStorageSet()) {
43     if ( cdbUri ) {
44       storage = cdbUri;
45       if ( storage.Contains("://") == 0 ) {
46         storage = "local://"; 
47         storage += cdbUri;
48       }
49     } 
50     else {
51       storage="local://$ALICE_ROOT/OCDB";
52     }
53     man->SetDefaultStorage(storage);
54   } 
55   else {
56     storage = man->GetDefaultStorage()->GetURI();
57   }
58
59   if (param) {
60     TString path0("HLT/ConfigGlobal/MultiplicityCorrelations");
61     // --------------------------------------
62     // -- Create Config Object 0
63     // --------------------------------------
64     
65     // here is the actual content of the configuration object
66     TObjString configParam=param;
67     
68     TObject *configObj = static_cast<TObject*>(&configParam);
69     // --------------------------------------
70     // -- Fill Object 0
71     // --------------------------------------
72     
73     if ( !configObj ) {
74       cerr << "Error : No configuration object created" << endl;
75       return;
76     }
77     
78     AliCDBPath cdbPath0(path0);
79     AliCDBId   cdbId0(cdbPath0, runMin, runMax);
80     AliCDBMetaData cdbMetaData0;
81     man->Put(configObj, cdbId0, &cdbMetaData0);
82     
83     printf("Adding %s type OCDB object to %s [%d,%d] in %s \n",
84            configObj->ClassName(), 
85            path0.Data(),
86            runMin, runMax, storage.Data());
87   }
88
89   if (centralityFile) {
90     TString path1("HLT/ConfigGlobal/MultiplicityCorrelationsCentrality");
91     // --------------------------------------
92     // -- Create Config Object 1
93     // --------------------------------------
94    
95     // here is the actual content of the configuration object
96     TFile *file = TFile::Open(centralityFile);
97     TH1F *centrality = static_cast<TH1F*>(file->Get("fHOutMultV0M_percentile")); 
98     
99     TObject *configObjCentrality = static_cast<TObject*>(centrality);
100     // --------------------------------------
101     // -- Fill Object
102     // --------------------------------------
103     
104     if ( !configObjCentrality ) {
105       cerr << "Error : No centrality configuration object created" << endl;
106       return;
107     }
108     
109     AliCDBPath cdbPath1(path1);
110     AliCDBId   cdbId1(cdbPath1, runMin, runMax);
111     AliCDBMetaData cdbMetaData1;
112     man->Put(configObjCentrality, cdbId1, &cdbMetaData1);
113
114     printf("Adding %s type OCDB object to %s [%d,%d] in %s \n",
115            configObjCentrality->ClassName(), 
116            path1.Data(),
117            runMin, runMax, storage.Data());
118   }
119 }
120