36 #include "AliCDBMetaData.h"
39 #include "Riostream.h"
41 #include "TObjString.h"
51 "Get MUON Tracker HV values from DCS"), fIncludeHVCurrents(includeHVcurrents)
78 aliases.SetOwner(kTRUE);
90 for (
int i = 0; i <3; ++i)
92 aliases.Add(
new TObjString(hvNamer.
DCSAliasName(detElemId,i)));
102 aliases.Add(
new TObjString(hvNamer.
DCSAliasName(detElemId)));
107 for (
int i = 0; i < hvNamer.
NumberOfPCBs(detElemId); ++i)
120 TIter next(&aliases);
122 Bool_t kNoAliases(kTRUE);
123 Int_t aliasNotFound(0);
124 Int_t valueNotFound(0);
128 temporaryOut.SetOwner(kTRUE);
130 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber06Left/Slat10.actual.iMon"));
131 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber06Left/Slat11.actual.iMon"));
132 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber06Left/Slat12.actual.iMon"));
133 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber07Left/Slat10.actual.iMon"));
134 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber07Left/Slat11.actual.iMon"));
135 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber07Left/Slat12.actual.iMon"));
136 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber08Left/Slat10.actual.iMon"));
137 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber08Left/Slat11.actual.iMon"));
138 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber08Left/Slat12.actual.iMon"));
139 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber09Left/Slat10.actual.iMon"));
140 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber09Left/Slat11.actual.iMon"));
141 temporaryOut.Add(
new TObjString(
"MchHvLvLeft/Chamber09Left/Slat12.actual.iMon"));
142 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber06Right/Slat10.actual.iMon"));
143 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber06Right/Slat11.actual.iMon"));
144 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber06Right/Slat12.actual.iMon"));
145 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber07Right/Slat10.actual.iMon"));
146 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber07Right/Slat11.actual.iMon"));
147 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber07Right/Slat12.actual.iMon"));
148 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber08Right/Slat10.actual.iMon"));
149 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber08Right/Slat11.actual.iMon"));
150 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber08Right/Slat12.actual.iMon"));
151 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber09Right/Slat10.actual.iMon"));
152 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber09Right/Slat11.actual.iMon"));
153 temporaryOut.Add(
new TObjString(
"MchHvLvRight/Chamber09Right/Slat12.actual.iMon"));
155 while ( ( alias = static_cast<TObjString*>(next()) ) )
157 TString aliasName(alias->String());
159 if ( temporaryOut.FindObject(alias->String().Data() ) )
165 TPair* hvPair =
static_cast<TPair*
>(dcsAliasMap->FindObject(aliasName.Data()));
181 hv.Add(
new TObjString(aliasName.Data()),values);
188 Master()->
Log(
"ERROR : no DCS values found");
194 Master()->
Log(Form(
"WARNING %d aliases not found",aliasNotFound));
199 Master()->
Log(Form(
"WARNING %d values not found",valueNotFound));
202 Master()->
Log(
"INFO Aliases successfully read in");
204 AliCDBMetaData metaData;
205 metaData.SetBeamPeriod(0);
206 metaData.SetResponsible(
"MUON TRK");
207 metaData.SetComment(
"Computed by AliMUONHVSubprocessor $Id$");
209 Bool_t validToInfinity(kFALSE);
211 Bool_t result =
Master()->
Store(
"Calib",
"HV",&hv,&metaData,0,validToInfinity);
213 return ( result != kTRUE);
A subprocessor to read HV values for one run.
The iterator over detection elements.
Bool_t fIncludeHVCurrents
AliMUONPreprocessor * Master() const
Return the pointer to our master.
Collection of methods usefull to DCS handling for MUON TRK and TRG.
Int_t NumberOfPCBs(Int_t detElemId) const
Int_t CurrentDEId() const
Bool_t RemoveValuesOutsideRun(TObjArray *values)
Base class for a shuttle sub-task for MUON (either TRK or TRG)
static AliMp::StationType GetStationType(Int_t detElemId)
void Log(const char *message)
Publish AliPreprocessor::Log function.
virtual ~AliMUONHVSubprocessor()
Bool_t Store(const char *pathLevel2, const char *pathLevel3, TObject *object, AliCDBMetaData *metaData, Int_t validityStart=0, Bool_t validityInfinite=kFALSE)
Publish AliPreprocessor::Store function.
TString DCSSwitchAliasName(Int_t detElemId, Int_t pcbNumber) const
Shuttle preprocessor for MUON subsystems (TRK and TRG)
TString DCSAliasName(Int_t detElemId, Int_t sector=0, Int_t dcsMeasure=0) const
virtual UInt_t Process(TMap *dcsAliasMap)
Process this sub-task.