#include "AliMUONPedestalSubprocessor.h"
#include "AliCDBMetaData.h"
#include "AliCDBEntry.h"
#include "AliDAQ.h"
#include "AliLog.h"
#include "AliMUON2DMap.h"
#include "AliMUON2DStoreValidator.h"
#include "AliMUONCalibParamNF.h"
#include "AliMUONPreprocessor.h"
#include "AliMUONTrackerIO.h"
#include "AliMpConstants.h"
#include "AliMpDDLStore.h"
#include "TObjString.h"
#include <Riostream.h>
#include <TList.h>
#include <TObjString.h>
#include <TSystem.h>
#include <sstream>
ClassImp(AliMUONPedestalSubprocessor)
AliMUONPedestalSubprocessor::AliMUONPedestalSubprocessor(AliMUONPreprocessor* master)
: AliMUONVSubprocessor(master,
"Pedestals",
"Upload MUON Tracker pedestals to OCDB"),
fPedestals(0x0),
fConfig(0x0),
fConfigChanged(kFALSE),
fTooFewEvents(kFALSE)
{
}
AliMUONPedestalSubprocessor::~AliMUONPedestalSubprocessor()
{
delete fPedestals;
delete fConfig;
}
Bool_t
AliMUONPedestalSubprocessor::HasConfigChanged(const AliMUONVStore& newConfig) const
{
AliCDBEntry* entry = Master()->GetFromOCDB("Calib","Config");
if (!entry)
{
AliError("Could not get MUON/Calib/Config entry for current run ! That's not OK !");
return kTRUE;
}
AliMUONVStore* oldConfig = dynamic_cast<AliMUONVStore*>(entry->GetObject());
if (!oldConfig)
{
AliError("Could not get MUON/Calib/Config object for current run (wrong type ?) ! That's not OK !");
return kTRUE;
}
if ( oldConfig->GetSize() != newConfig.GetSize() )
{
return kTRUE;
}
TIter next(oldConfig->CreateIterator());
AliMUONVCalibParam* old;
while ( ( old = static_cast<AliMUONVCalibParam*>(next()) ) )
{
Int_t detElemId = old->ID0();
Int_t manuId = old->ID1();
if ( ! newConfig.FindObject(detElemId,manuId) )
{
return kTRUE;
}
}
return kFALSE;
}
Bool_t
AliMUONPedestalSubprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
{
const Int_t kSystem = AliMUONPreprocessor::kDAQ;
const char* kId = "PEDESTALS";
delete fPedestals;
fPedestals = new AliMUON2DMap(kTRUE);
delete fConfig;
fConfig = new AliMUON2DMap(kTRUE);
fTooFewEvents = kFALSE;
Master()->Log(Form("Reading pedestal files for Run %d startTime %u endTime %u",
run,startTime,endTime));
TList* sources = Master()->GetFileSources(kSystem,kId);
TIter next(sources);
TObjString* o(0x0);
Int_t n(0);
Int_t npedFiles(0);
while ( ( o = static_cast<TObjString*>(next()) ) )
{
TString fileName(Master()->GetFile(kSystem,kId,o->GetName()));
Int_t ok = ReadPedestalFile(fileName.Data());
if (ok>0)
{
n += ok;
++npedFiles;
}
}
delete sources;
if (!n)
{
Master()->Log("Failed to read any pedestals");
delete fPedestals;
fPedestals = 0;
delete fConfig;
fConfig = 0;
TString nevents(Master()->GetRunParameter("totalEvents"));
if ( nevents.Atoi() < 50 )
{
Master()->Log(Form("The run had only %d events, so the failure to read pedestals is normal",nevents.Atoi()));
fTooFewEvents = kTRUE;
return kTRUE;
}
return kFALSE;
}
const char* kIdConf = "CONFIG";
sources = Master()->GetFileSources(kSystem,kIdConf);
TIter nextConf(sources);
Int_t nconf(0);
Int_t nconfFiles(0);
while ( ( o = static_cast<TObjString*>(nextConf()) ) )
{
TString fileName(Master()->GetFile(kSystem,kIdConf,o->GetName()));
Int_t ok = ReadConfigFile(fileName.Data());
if (ok>0)
{
nconf += ok;
++nconfFiles;
}
}
delete sources;
if ( npedFiles != nconfFiles )
{
Master()->Log(Form("ERROR : Number of config files (%d) different from number of pedestal files (%d)",nconfFiles,npedFiles));
delete fPedestals;
fPedestals = 0;
delete fConfig;
fConfig = 0;
return kFALSE;
}
fConfigChanged = HasConfigChanged(*fConfig);
return kTRUE;
}
UInt_t
AliMUONPedestalSubprocessor::Process(TMap* )
{
if (!fPedestals || !fConfig)
{
if ( fTooFewEvents )
{
return 0;
}
else
{
return 1;
}
}
AliMUON2DStoreValidator validator;
Master()->Log("Validating");
TObjArray* chambers = validator.Validate(*fPedestals,fConfig);
if (chambers)
{
TList lines;
lines.SetOwner(kTRUE);
validator.Report(lines,*chambers);
TIter next(&lines);
TObjString* line;
while ( ( line = static_cast<TObjString*>(next()) ) )
{
Master()->Log(line->String().Data());
}
}
Master()->Log("Storing pedestals...");
if ( fConfigChanged )
{
Master()->Log("...and configuration, as it has changed");
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("MUON TRK");
TString comment("Computed by AliMUONPedestalSubprocessor $Id$");
comment.ReplaceAll("$","");
metaData.SetComment(comment.Data());
Bool_t validToInfinity = kTRUE;
Bool_t result = Master()->Store("Calib", "Pedestals", fPedestals, &metaData, 0, validToInfinity);
if ( fConfigChanged )
{
result = result && Master()->Store("Calib", "Config", fConfig, &metaData, 0, validToInfinity);
}
return ( result != kTRUE );
}
Int_t
AliMUONPedestalSubprocessor::ReadPedestalFile(const char* filename)
{
TString sFilename(gSystem->ExpandPathName(filename));
Master()->Log(Form("Reading %s",sFilename.Data()));
Int_t n = AliMUONTrackerIO::ReadPedestals(sFilename.Data(),*fPedestals);
switch (n)
{
case -1:
Master()->Log(Form("Could not open %s",sFilename.Data()));
break;
}
return n;
}
Int_t
AliMUONPedestalSubprocessor::ReadConfigFile(const char* filename)
{
TString sFilename(gSystem->ExpandPathName(filename));
Master()->Log(Form("Reading %s",sFilename.Data()));
Int_t n = AliMUONTrackerIO::ReadConfig(sFilename.Data(),*fConfig);
switch (n)
{
case -1:
Master()->Log(Form("Could not open %s",sFilename.Data()));
break;
}
return n;
}
void
AliMUONPedestalSubprocessor::Print(Option_t* opt) const
{
if (fPedestals) fPedestals->Print("",opt);
if (fConfig) fConfig->Print("",opt);
}
AliMUONPedestalSubprocessor.cxx:1 AliMUONPedestalSubprocessor.cxx:2 AliMUONPedestalSubprocessor.cxx:3 AliMUONPedestalSubprocessor.cxx:4 AliMUONPedestalSubprocessor.cxx:5 AliMUONPedestalSubprocessor.cxx:6 AliMUONPedestalSubprocessor.cxx:7 AliMUONPedestalSubprocessor.cxx:8 AliMUONPedestalSubprocessor.cxx:9 AliMUONPedestalSubprocessor.cxx:10 AliMUONPedestalSubprocessor.cxx:11 AliMUONPedestalSubprocessor.cxx:12 AliMUONPedestalSubprocessor.cxx:13 AliMUONPedestalSubprocessor.cxx:14 AliMUONPedestalSubprocessor.cxx:15 AliMUONPedestalSubprocessor.cxx:16 AliMUONPedestalSubprocessor.cxx:17 AliMUONPedestalSubprocessor.cxx:18 AliMUONPedestalSubprocessor.cxx:19 AliMUONPedestalSubprocessor.cxx:20 AliMUONPedestalSubprocessor.cxx:21 AliMUONPedestalSubprocessor.cxx:22 AliMUONPedestalSubprocessor.cxx:23 AliMUONPedestalSubprocessor.cxx:24 AliMUONPedestalSubprocessor.cxx:25 AliMUONPedestalSubprocessor.cxx:26 AliMUONPedestalSubprocessor.cxx:27 AliMUONPedestalSubprocessor.cxx:28 AliMUONPedestalSubprocessor.cxx:29 AliMUONPedestalSubprocessor.cxx:30 AliMUONPedestalSubprocessor.cxx:31 AliMUONPedestalSubprocessor.cxx:32 AliMUONPedestalSubprocessor.cxx:33 AliMUONPedestalSubprocessor.cxx:34 AliMUONPedestalSubprocessor.cxx:35 AliMUONPedestalSubprocessor.cxx:36 AliMUONPedestalSubprocessor.cxx:37 AliMUONPedestalSubprocessor.cxx:38 AliMUONPedestalSubprocessor.cxx:39 AliMUONPedestalSubprocessor.cxx:40 AliMUONPedestalSubprocessor.cxx:41 AliMUONPedestalSubprocessor.cxx:42 AliMUONPedestalSubprocessor.cxx:43 AliMUONPedestalSubprocessor.cxx:44 AliMUONPedestalSubprocessor.cxx:45 AliMUONPedestalSubprocessor.cxx:46 AliMUONPedestalSubprocessor.cxx:47 AliMUONPedestalSubprocessor.cxx:48 AliMUONPedestalSubprocessor.cxx:49 AliMUONPedestalSubprocessor.cxx:50 AliMUONPedestalSubprocessor.cxx:51 AliMUONPedestalSubprocessor.cxx:52 AliMUONPedestalSubprocessor.cxx:53 AliMUONPedestalSubprocessor.cxx:54 AliMUONPedestalSubprocessor.cxx:55 AliMUONPedestalSubprocessor.cxx:56 AliMUONPedestalSubprocessor.cxx:57 AliMUONPedestalSubprocessor.cxx:58 AliMUONPedestalSubprocessor.cxx:59 AliMUONPedestalSubprocessor.cxx:60 AliMUONPedestalSubprocessor.cxx:61 AliMUONPedestalSubprocessor.cxx:62 AliMUONPedestalSubprocessor.cxx:63 AliMUONPedestalSubprocessor.cxx:64 AliMUONPedestalSubprocessor.cxx:65 AliMUONPedestalSubprocessor.cxx:66 AliMUONPedestalSubprocessor.cxx:67 AliMUONPedestalSubprocessor.cxx:68 AliMUONPedestalSubprocessor.cxx:69 AliMUONPedestalSubprocessor.cxx:70 AliMUONPedestalSubprocessor.cxx:71 AliMUONPedestalSubprocessor.cxx:72 AliMUONPedestalSubprocessor.cxx:73 AliMUONPedestalSubprocessor.cxx:74 AliMUONPedestalSubprocessor.cxx:75 AliMUONPedestalSubprocessor.cxx:76 AliMUONPedestalSubprocessor.cxx:77 AliMUONPedestalSubprocessor.cxx:78 AliMUONPedestalSubprocessor.cxx:79 AliMUONPedestalSubprocessor.cxx:80 AliMUONPedestalSubprocessor.cxx:81 AliMUONPedestalSubprocessor.cxx:82 AliMUONPedestalSubprocessor.cxx:83 AliMUONPedestalSubprocessor.cxx:84 AliMUONPedestalSubprocessor.cxx:85 AliMUONPedestalSubprocessor.cxx:86 AliMUONPedestalSubprocessor.cxx:87 AliMUONPedestalSubprocessor.cxx:88 AliMUONPedestalSubprocessor.cxx:89 AliMUONPedestalSubprocessor.cxx:90 AliMUONPedestalSubprocessor.cxx:91 AliMUONPedestalSubprocessor.cxx:92 AliMUONPedestalSubprocessor.cxx:93 AliMUONPedestalSubprocessor.cxx:94 AliMUONPedestalSubprocessor.cxx:95 AliMUONPedestalSubprocessor.cxx:96 AliMUONPedestalSubprocessor.cxx:97 AliMUONPedestalSubprocessor.cxx:98 AliMUONPedestalSubprocessor.cxx:99 AliMUONPedestalSubprocessor.cxx:100 AliMUONPedestalSubprocessor.cxx:101 AliMUONPedestalSubprocessor.cxx:102 AliMUONPedestalSubprocessor.cxx:103 AliMUONPedestalSubprocessor.cxx:104 AliMUONPedestalSubprocessor.cxx:105 AliMUONPedestalSubprocessor.cxx:106 AliMUONPedestalSubprocessor.cxx:107 AliMUONPedestalSubprocessor.cxx:108 AliMUONPedestalSubprocessor.cxx:109 AliMUONPedestalSubprocessor.cxx:110 AliMUONPedestalSubprocessor.cxx:111 AliMUONPedestalSubprocessor.cxx:112 AliMUONPedestalSubprocessor.cxx:113 AliMUONPedestalSubprocessor.cxx:114 AliMUONPedestalSubprocessor.cxx:115 AliMUONPedestalSubprocessor.cxx:116 AliMUONPedestalSubprocessor.cxx:117 AliMUONPedestalSubprocessor.cxx:118 AliMUONPedestalSubprocessor.cxx:119 AliMUONPedestalSubprocessor.cxx:120 AliMUONPedestalSubprocessor.cxx:121 AliMUONPedestalSubprocessor.cxx:122 AliMUONPedestalSubprocessor.cxx:123 AliMUONPedestalSubprocessor.cxx:124 AliMUONPedestalSubprocessor.cxx:125 AliMUONPedestalSubprocessor.cxx:126 AliMUONPedestalSubprocessor.cxx:127 AliMUONPedestalSubprocessor.cxx:128 AliMUONPedestalSubprocessor.cxx:129 AliMUONPedestalSubprocessor.cxx:130 AliMUONPedestalSubprocessor.cxx:131 AliMUONPedestalSubprocessor.cxx:132 AliMUONPedestalSubprocessor.cxx:133 AliMUONPedestalSubprocessor.cxx:134 AliMUONPedestalSubprocessor.cxx:135 AliMUONPedestalSubprocessor.cxx:136 AliMUONPedestalSubprocessor.cxx:137 AliMUONPedestalSubprocessor.cxx:138 AliMUONPedestalSubprocessor.cxx:139 AliMUONPedestalSubprocessor.cxx:140 AliMUONPedestalSubprocessor.cxx:141 AliMUONPedestalSubprocessor.cxx:142 AliMUONPedestalSubprocessor.cxx:143 AliMUONPedestalSubprocessor.cxx:144 AliMUONPedestalSubprocessor.cxx:145 AliMUONPedestalSubprocessor.cxx:146 AliMUONPedestalSubprocessor.cxx:147 AliMUONPedestalSubprocessor.cxx:148 AliMUONPedestalSubprocessor.cxx:149 AliMUONPedestalSubprocessor.cxx:150 AliMUONPedestalSubprocessor.cxx:151 AliMUONPedestalSubprocessor.cxx:152 AliMUONPedestalSubprocessor.cxx:153 AliMUONPedestalSubprocessor.cxx:154 AliMUONPedestalSubprocessor.cxx:155 AliMUONPedestalSubprocessor.cxx:156 AliMUONPedestalSubprocessor.cxx:157 AliMUONPedestalSubprocessor.cxx:158 AliMUONPedestalSubprocessor.cxx:159 AliMUONPedestalSubprocessor.cxx:160 AliMUONPedestalSubprocessor.cxx:161 AliMUONPedestalSubprocessor.cxx:162 AliMUONPedestalSubprocessor.cxx:163 AliMUONPedestalSubprocessor.cxx:164 AliMUONPedestalSubprocessor.cxx:165 AliMUONPedestalSubprocessor.cxx:166 AliMUONPedestalSubprocessor.cxx:167 AliMUONPedestalSubprocessor.cxx:168 AliMUONPedestalSubprocessor.cxx:169 AliMUONPedestalSubprocessor.cxx:170 AliMUONPedestalSubprocessor.cxx:171 AliMUONPedestalSubprocessor.cxx:172 AliMUONPedestalSubprocessor.cxx:173 AliMUONPedestalSubprocessor.cxx:174 AliMUONPedestalSubprocessor.cxx:175 AliMUONPedestalSubprocessor.cxx:176 AliMUONPedestalSubprocessor.cxx:177 AliMUONPedestalSubprocessor.cxx:178 AliMUONPedestalSubprocessor.cxx:179 AliMUONPedestalSubprocessor.cxx:180 AliMUONPedestalSubprocessor.cxx:181 AliMUONPedestalSubprocessor.cxx:182 AliMUONPedestalSubprocessor.cxx:183 AliMUONPedestalSubprocessor.cxx:184 AliMUONPedestalSubprocessor.cxx:185 AliMUONPedestalSubprocessor.cxx:186 AliMUONPedestalSubprocessor.cxx:187 AliMUONPedestalSubprocessor.cxx:188 AliMUONPedestalSubprocessor.cxx:189 AliMUONPedestalSubprocessor.cxx:190 AliMUONPedestalSubprocessor.cxx:191 AliMUONPedestalSubprocessor.cxx:192 AliMUONPedestalSubprocessor.cxx:193 AliMUONPedestalSubprocessor.cxx:194 AliMUONPedestalSubprocessor.cxx:195 AliMUONPedestalSubprocessor.cxx:196 AliMUONPedestalSubprocessor.cxx:197 AliMUONPedestalSubprocessor.cxx:198 AliMUONPedestalSubprocessor.cxx:199 AliMUONPedestalSubprocessor.cxx:200 AliMUONPedestalSubprocessor.cxx:201 AliMUONPedestalSubprocessor.cxx:202 AliMUONPedestalSubprocessor.cxx:203 AliMUONPedestalSubprocessor.cxx:204 AliMUONPedestalSubprocessor.cxx:205 AliMUONPedestalSubprocessor.cxx:206 AliMUONPedestalSubprocessor.cxx:207 AliMUONPedestalSubprocessor.cxx:208 AliMUONPedestalSubprocessor.cxx:209 AliMUONPedestalSubprocessor.cxx:210 AliMUONPedestalSubprocessor.cxx:211 AliMUONPedestalSubprocessor.cxx:212 AliMUONPedestalSubprocessor.cxx:213 AliMUONPedestalSubprocessor.cxx:214 AliMUONPedestalSubprocessor.cxx:215 AliMUONPedestalSubprocessor.cxx:216 AliMUONPedestalSubprocessor.cxx:217 AliMUONPedestalSubprocessor.cxx:218 AliMUONPedestalSubprocessor.cxx:219 AliMUONPedestalSubprocessor.cxx:220 AliMUONPedestalSubprocessor.cxx:221 AliMUONPedestalSubprocessor.cxx:222 AliMUONPedestalSubprocessor.cxx:223 AliMUONPedestalSubprocessor.cxx:224 AliMUONPedestalSubprocessor.cxx:225 AliMUONPedestalSubprocessor.cxx:226 AliMUONPedestalSubprocessor.cxx:227 AliMUONPedestalSubprocessor.cxx:228 AliMUONPedestalSubprocessor.cxx:229 AliMUONPedestalSubprocessor.cxx:230 AliMUONPedestalSubprocessor.cxx:231 AliMUONPedestalSubprocessor.cxx:232 AliMUONPedestalSubprocessor.cxx:233 AliMUONPedestalSubprocessor.cxx:234 AliMUONPedestalSubprocessor.cxx:235 AliMUONPedestalSubprocessor.cxx:236 AliMUONPedestalSubprocessor.cxx:237 AliMUONPedestalSubprocessor.cxx:238 AliMUONPedestalSubprocessor.cxx:239 AliMUONPedestalSubprocessor.cxx:240 AliMUONPedestalSubprocessor.cxx:241 AliMUONPedestalSubprocessor.cxx:242 AliMUONPedestalSubprocessor.cxx:243 AliMUONPedestalSubprocessor.cxx:244 AliMUONPedestalSubprocessor.cxx:245 AliMUONPedestalSubprocessor.cxx:246 AliMUONPedestalSubprocessor.cxx:247 AliMUONPedestalSubprocessor.cxx:248 AliMUONPedestalSubprocessor.cxx:249 AliMUONPedestalSubprocessor.cxx:250 AliMUONPedestalSubprocessor.cxx:251 AliMUONPedestalSubprocessor.cxx:252 AliMUONPedestalSubprocessor.cxx:253 AliMUONPedestalSubprocessor.cxx:254 AliMUONPedestalSubprocessor.cxx:255 AliMUONPedestalSubprocessor.cxx:256 AliMUONPedestalSubprocessor.cxx:257 AliMUONPedestalSubprocessor.cxx:258 AliMUONPedestalSubprocessor.cxx:259 AliMUONPedestalSubprocessor.cxx:260 AliMUONPedestalSubprocessor.cxx:261 AliMUONPedestalSubprocessor.cxx:262 AliMUONPedestalSubprocessor.cxx:263 AliMUONPedestalSubprocessor.cxx:264 AliMUONPedestalSubprocessor.cxx:265 AliMUONPedestalSubprocessor.cxx:266 AliMUONPedestalSubprocessor.cxx:267 AliMUONPedestalSubprocessor.cxx:268 AliMUONPedestalSubprocessor.cxx:269 AliMUONPedestalSubprocessor.cxx:270 AliMUONPedestalSubprocessor.cxx:271 AliMUONPedestalSubprocessor.cxx:272 AliMUONPedestalSubprocessor.cxx:273 AliMUONPedestalSubprocessor.cxx:274 AliMUONPedestalSubprocessor.cxx:275 AliMUONPedestalSubprocessor.cxx:276 AliMUONPedestalSubprocessor.cxx:277 AliMUONPedestalSubprocessor.cxx:278 AliMUONPedestalSubprocessor.cxx:279 AliMUONPedestalSubprocessor.cxx:280 AliMUONPedestalSubprocessor.cxx:281 AliMUONPedestalSubprocessor.cxx:282 AliMUONPedestalSubprocessor.cxx:283 AliMUONPedestalSubprocessor.cxx:284 AliMUONPedestalSubprocessor.cxx:285 AliMUONPedestalSubprocessor.cxx:286 AliMUONPedestalSubprocessor.cxx:287 AliMUONPedestalSubprocessor.cxx:288 AliMUONPedestalSubprocessor.cxx:289 AliMUONPedestalSubprocessor.cxx:290 AliMUONPedestalSubprocessor.cxx:291 AliMUONPedestalSubprocessor.cxx:292 AliMUONPedestalSubprocessor.cxx:293 AliMUONPedestalSubprocessor.cxx:294 AliMUONPedestalSubprocessor.cxx:295 AliMUONPedestalSubprocessor.cxx:296 AliMUONPedestalSubprocessor.cxx:297 AliMUONPedestalSubprocessor.cxx:298 AliMUONPedestalSubprocessor.cxx:299 AliMUONPedestalSubprocessor.cxx:300 AliMUONPedestalSubprocessor.cxx:301 AliMUONPedestalSubprocessor.cxx:302 AliMUONPedestalSubprocessor.cxx:303 AliMUONPedestalSubprocessor.cxx:304 AliMUONPedestalSubprocessor.cxx:305 AliMUONPedestalSubprocessor.cxx:306 AliMUONPedestalSubprocessor.cxx:307 AliMUONPedestalSubprocessor.cxx:308 AliMUONPedestalSubprocessor.cxx:309 AliMUONPedestalSubprocessor.cxx:310 AliMUONPedestalSubprocessor.cxx:311 AliMUONPedestalSubprocessor.cxx:312 AliMUONPedestalSubprocessor.cxx:313 AliMUONPedestalSubprocessor.cxx:314 AliMUONPedestalSubprocessor.cxx:315 AliMUONPedestalSubprocessor.cxx:316 AliMUONPedestalSubprocessor.cxx:317 AliMUONPedestalSubprocessor.cxx:318 AliMUONPedestalSubprocessor.cxx:319 AliMUONPedestalSubprocessor.cxx:320 AliMUONPedestalSubprocessor.cxx:321 AliMUONPedestalSubprocessor.cxx:322 AliMUONPedestalSubprocessor.cxx:323 AliMUONPedestalSubprocessor.cxx:324 AliMUONPedestalSubprocessor.cxx:325 AliMUONPedestalSubprocessor.cxx:326 AliMUONPedestalSubprocessor.cxx:327 AliMUONPedestalSubprocessor.cxx:328 AliMUONPedestalSubprocessor.cxx:329 AliMUONPedestalSubprocessor.cxx:330 AliMUONPedestalSubprocessor.cxx:331 AliMUONPedestalSubprocessor.cxx:332 AliMUONPedestalSubprocessor.cxx:333 AliMUONPedestalSubprocessor.cxx:334 AliMUONPedestalSubprocessor.cxx:335 AliMUONPedestalSubprocessor.cxx:336 AliMUONPedestalSubprocessor.cxx:337 AliMUONPedestalSubprocessor.cxx:338 AliMUONPedestalSubprocessor.cxx:339 AliMUONPedestalSubprocessor.cxx:340 AliMUONPedestalSubprocessor.cxx:341 AliMUONPedestalSubprocessor.cxx:342 AliMUONPedestalSubprocessor.cxx:343 AliMUONPedestalSubprocessor.cxx:344 AliMUONPedestalSubprocessor.cxx:345 AliMUONPedestalSubprocessor.cxx:346 AliMUONPedestalSubprocessor.cxx:347 AliMUONPedestalSubprocessor.cxx:348 AliMUONPedestalSubprocessor.cxx:349 AliMUONPedestalSubprocessor.cxx:350 AliMUONPedestalSubprocessor.cxx:351 AliMUONPedestalSubprocessor.cxx:352