#include "AliMUONTrackerDataHistogrammer.h"
#include "AliLog.h"
#include "AliMUONPainterGroup.h"
#include "AliMUONSparseHisto.h"
#include "AliMUONVPainter.h"
#include "AliMUONVTrackerData.h"
#include "AliMpBusPatch.h"
#include "AliMpConstants.h"
#include "AliMpDDLStore.h"
#include "AliMpDEIterator.h"
#include "AliMpDetElement.h"
#include "AliMpManuUID.h"
#include <TClass.h>
#include <TH1.h>
#include <TObjArray.h>
#include <TROOT.h>
#include <TMath.h>
ClassImp(AliMUONTrackerDataHistogrammer)
AliMUONTrackerDataHistogrammer::AliMUONTrackerDataHistogrammer(const AliMUONVTrackerData& data,
Int_t externalDim,
Int_t internalDim)
: TObject(),
fkData(data),
fExternalDim(externalDim),
fInternalDim(internalDim)
{
}
AliMUONTrackerDataHistogrammer::~AliMUONTrackerDataHistogrammer()
{
}
void
AliMUONTrackerDataHistogrammer::Add(TH1& h, const AliMUONSparseHisto& sh) const
{
Double_t entries(h.GetEntries());
for ( Int_t i = 0; i < sh.GetNbins(); ++i )
{
Int_t count = sh.GetBinContent(i);
h.Fill(sh.GetBinCenter(i),count);
entries += count;
}
h.SetEntries(entries);
if (sh.HasUnderflow()) h.SetBinContent(0,1);
if (sh.HasOverflow()) h.SetBinContent(h.GetNbinsX()+1,1);
}
void
AliMUONTrackerDataHistogrammer::AddBusPatchHisto(TH1& h, Int_t busPatchId) const
{
if ( fkData.HasBusPatch(busPatchId ) )
{
AliMpBusPatch* busPatch = AliMpDDLStore::Instance()->GetBusPatch(busPatchId);
for ( Int_t i = 0; i < busPatch->GetNofManus(); ++i )
{
Int_t manuId = busPatch->GetManuId(i);
AddManuHisto(h,busPatch->GetDEId(),manuId);
}
}
}
void
AliMUONTrackerDataHistogrammer::AddDEHisto(TH1& h, Int_t detElemId) const
{
if ( fkData.HasDetectionElement(detElemId) )
{
AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
for ( Int_t i = 0; i < de->GetNofBusPatches(); ++ i )
{
Int_t busPatchId = de->GetBusPatchId(i);
AddBusPatchHisto(h,busPatchId);
}
}
}
void
AliMUONTrackerDataHistogrammer::AddManuHisto(TH1& h, Int_t detElemId, Int_t manuId) const
{
if ( fkData.HasManu(detElemId,manuId) )
{
if ( fkData.IsChannelLevelEnabled() )
{
for ( Int_t i = 0; i < AliMpConstants::ManuNofChannels(); ++i )
{
if ( fkData.HasChannel(detElemId,manuId,i) )
{
if ( IsInternalMode() )
{
h.Fill(fkData.Channel(detElemId,manuId,i,fInternalDim));
}
else
{
AliMUONSparseHisto* sh = fkData.GetChannelSparseHisto(detElemId,manuId,i,fExternalDim);
if ( sh )
{
Add(h,*sh);
}
}
}
}
}
else
{
if ( IsInternalMode() )
{
h.Fill(fkData.Manu(detElemId,manuId,fInternalDim));
}
else
{
AliMUONSparseHisto* sh = fkData.GetManuSparseHisto(detElemId,manuId,fExternalDim);
if (sh)
{
Add(h,*sh);
}
}
}
}
}
TH1*
AliMUONTrackerDataHistogrammer::CreateChannelHisto(Int_t detElemId,
Int_t manuId,
Int_t manuChannel) const
{
if ( fkData.HasChannel(detElemId, manuId, manuChannel) && fkData.IsHistogrammed(fExternalDim) )
{
AliMUONSparseHisto* sh = fkData.GetChannelSparseHisto(detElemId,manuId,manuChannel);
if ( sh )
{
Int_t nbins((1<<sh->Nbits()));
Double_t xmin,xmax;
fkData.HistogramRange(xmin,xmax);
TH1* h = CreateHisto(Form("DE%04dMANU%04dCH%02d",detElemId,manuId,manuChannel),
nbins,xmin,xmax);
if (h )
{
Add(*h,*sh);
}
return h;
}
}
return 0x0;
}
TH1*
AliMUONTrackerDataHistogrammer::CreateHisto(const char* name,
Int_t nbins,
Double_t xmin,
Double_t xmax) const
{
TH1* h(0);
if ( xmin < xmax )
{
h = new TH1F(name,name,nbins,xmin,xmax);
h->SetDirectory(gROOT);
}
else
{
AliError(Form("Cannot create histo for name=%s nbins=%d xmin=%e xmax=%e",name,nbins,xmin,xmax));
}
return h;
}
TH1*
AliMUONTrackerDataHistogrammer::CreateHisto(const AliMUONVPainter& painter,
Int_t externalDim,
Int_t internalDim)
{
AliMUONPainterGroup* group = painter.Master()->PlotterGroup();
if ( !group ) return 0x0;
AliMUONVTrackerData* data = group->Data();
if ( externalDim >= data->ExternalDimension() )
{
AliErrorClass(Form("externalDim %d is out of bounds",externalDim));
return 0x0;
}
if ( internalDim >= data->NumberOfDimensions() )
{
AliErrorClass(Form("internalDim %d is out of bounds",internalDim));
return 0x0;
}
if ( internalDim < 0 && externalDim < 0 )
{
AliErrorClass("Both internal and external dim are < 0 !!!");
return 0x0;
}
AliMUONTrackerDataHistogrammer tdh(*data,externalDim,internalDim);
TObjArray manuArray;
painter.FillManuList(manuArray);
AliMpManuUID* mid;
TIter next(&manuArray);
TString basename(Form("%s-%s",painter.PathName().Data(),painter.Attributes().GetName()));
TString ext;
Int_t nbins((1<<12));
Double_t xmin(0.0);
Double_t xmax(0.0);
if ( !tdh.IsInternalMode() )
{
data->HistogramRange(xmin,xmax);
xmin -= 0.5;
xmax -= 0.5;
ext = data->ExternalDimensionName(externalDim).Data();
}
else
{
tdh.GetDataRange(manuArray,xmin,xmax);
ext = data->DimensionName(internalDim).Data();
nbins = 100;
}
TString name(Form("%s-%s",basename.Data(),ext.Data()));
TH1* histo = tdh.CreateHisto(name.Data(),nbins,xmin,xmax);
if ( histo )
{
while ( ( mid = static_cast<AliMpManuUID*>(next()) ) )
{
TH1* h = tdh.CreateManuHisto(mid->DetElemId(),mid->ManuId(),nbins,xmin,xmax);
if ( h )
{
histo->Add(h);
}
delete h;
}
}
else
{
AliErrorClass(Form("Could not create histo for painter %s (%p) data %s (%p) external dim %d internal dim %d",
painter.PathName().Data(),&painter,
data->GetName(),data,externalDim,internalDim));
}
if (histo) histo->SetDirectory(gROOT);
return histo;
}
TH1*
AliMUONTrackerDataHistogrammer::CreateManuHisto(Int_t detElemId, Int_t manuId,
Int_t nbins,
Double_t xmin,
Double_t xmax) const
{
TH1* h(0x0);
if ( !fkData.HasManu(detElemId,manuId) ) return 0x0;
if ( ( fExternalDim >= 0 && fkData.IsHistogrammed(fExternalDim) ) ||
( fInternalDim >= 0 && fInternalDim < fkData.NumberOfDimensions() ) )
{
h = CreateHisto(Form("DE%04dMANU%04d",detElemId,manuId),
nbins,xmin,xmax);
if ( h ) AddManuHisto(*h,detElemId,manuId);
}
return h;
}
void
AliMUONTrackerDataHistogrammer::GetDataRange(const TObjArray& manuArray,
Double_t& xmin, Double_t& xmax) const
{
xmin = FLT_MAX;
xmax = -FLT_MAX;
if (!IsInternalMode())
{
AliError("Cannot use this method for external mode !");
}
AliMpManuUID* mid;
TIter next(&manuArray);
while ( ( mid = static_cast<AliMpManuUID*>(next()) ) )
{
Int_t detElemId = mid->DetElemId();
Int_t manuId = mid->ManuId();
for ( Int_t i = 0; i < AliMpConstants::ManuNofChannels(); ++i )
{
if ( fkData.HasChannel(detElemId,manuId,i) )
{
Double_t value = fkData.Channel(detElemId,manuId,i,fInternalDim);
if ( ! TMath::Finite(value) )
{
AliError(Form("Got a NaN for DE %d manu %d ch %d",detElemId,manuId,i));
}
else
{
xmin = TMath::Min(xmin,value);
xmax = TMath::Max(xmax,value);
}
}
}
}
}
AliMUONTrackerDataHistogrammer.cxx:1 AliMUONTrackerDataHistogrammer.cxx:2 AliMUONTrackerDataHistogrammer.cxx:3 AliMUONTrackerDataHistogrammer.cxx:4 AliMUONTrackerDataHistogrammer.cxx:5 AliMUONTrackerDataHistogrammer.cxx:6 AliMUONTrackerDataHistogrammer.cxx:7 AliMUONTrackerDataHistogrammer.cxx:8 AliMUONTrackerDataHistogrammer.cxx:9 AliMUONTrackerDataHistogrammer.cxx:10 AliMUONTrackerDataHistogrammer.cxx:11 AliMUONTrackerDataHistogrammer.cxx:12 AliMUONTrackerDataHistogrammer.cxx:13 AliMUONTrackerDataHistogrammer.cxx:14 AliMUONTrackerDataHistogrammer.cxx:15 AliMUONTrackerDataHistogrammer.cxx:16 AliMUONTrackerDataHistogrammer.cxx:17 AliMUONTrackerDataHistogrammer.cxx:18 AliMUONTrackerDataHistogrammer.cxx:19 AliMUONTrackerDataHistogrammer.cxx:20 AliMUONTrackerDataHistogrammer.cxx:21 AliMUONTrackerDataHistogrammer.cxx:22 AliMUONTrackerDataHistogrammer.cxx:23 AliMUONTrackerDataHistogrammer.cxx:24 AliMUONTrackerDataHistogrammer.cxx:25 AliMUONTrackerDataHistogrammer.cxx:26 AliMUONTrackerDataHistogrammer.cxx:27 AliMUONTrackerDataHistogrammer.cxx:28 AliMUONTrackerDataHistogrammer.cxx:29 AliMUONTrackerDataHistogrammer.cxx:30 AliMUONTrackerDataHistogrammer.cxx:31 AliMUONTrackerDataHistogrammer.cxx:32 AliMUONTrackerDataHistogrammer.cxx:33 AliMUONTrackerDataHistogrammer.cxx:34 AliMUONTrackerDataHistogrammer.cxx:35 AliMUONTrackerDataHistogrammer.cxx:36 AliMUONTrackerDataHistogrammer.cxx:37 AliMUONTrackerDataHistogrammer.cxx:38 AliMUONTrackerDataHistogrammer.cxx:39 AliMUONTrackerDataHistogrammer.cxx:40 AliMUONTrackerDataHistogrammer.cxx:41 AliMUONTrackerDataHistogrammer.cxx:42 AliMUONTrackerDataHistogrammer.cxx:43 AliMUONTrackerDataHistogrammer.cxx:44 AliMUONTrackerDataHistogrammer.cxx:45 AliMUONTrackerDataHistogrammer.cxx:46 AliMUONTrackerDataHistogrammer.cxx:47 AliMUONTrackerDataHistogrammer.cxx:48 AliMUONTrackerDataHistogrammer.cxx:49 AliMUONTrackerDataHistogrammer.cxx:50 AliMUONTrackerDataHistogrammer.cxx:51 AliMUONTrackerDataHistogrammer.cxx:52 AliMUONTrackerDataHistogrammer.cxx:53 AliMUONTrackerDataHistogrammer.cxx:54 AliMUONTrackerDataHistogrammer.cxx:55 AliMUONTrackerDataHistogrammer.cxx:56 AliMUONTrackerDataHistogrammer.cxx:57 AliMUONTrackerDataHistogrammer.cxx:58 AliMUONTrackerDataHistogrammer.cxx:59 AliMUONTrackerDataHistogrammer.cxx:60 AliMUONTrackerDataHistogrammer.cxx:61 AliMUONTrackerDataHistogrammer.cxx:62 AliMUONTrackerDataHistogrammer.cxx:63 AliMUONTrackerDataHistogrammer.cxx:64 AliMUONTrackerDataHistogrammer.cxx:65 AliMUONTrackerDataHistogrammer.cxx:66 AliMUONTrackerDataHistogrammer.cxx:67 AliMUONTrackerDataHistogrammer.cxx:68 AliMUONTrackerDataHistogrammer.cxx:69 AliMUONTrackerDataHistogrammer.cxx:70 AliMUONTrackerDataHistogrammer.cxx:71 AliMUONTrackerDataHistogrammer.cxx:72 AliMUONTrackerDataHistogrammer.cxx:73 AliMUONTrackerDataHistogrammer.cxx:74 AliMUONTrackerDataHistogrammer.cxx:75 AliMUONTrackerDataHistogrammer.cxx:76 AliMUONTrackerDataHistogrammer.cxx:77 AliMUONTrackerDataHistogrammer.cxx:78 AliMUONTrackerDataHistogrammer.cxx:79 AliMUONTrackerDataHistogrammer.cxx:80 AliMUONTrackerDataHistogrammer.cxx:81 AliMUONTrackerDataHistogrammer.cxx:82 AliMUONTrackerDataHistogrammer.cxx:83 AliMUONTrackerDataHistogrammer.cxx:84 AliMUONTrackerDataHistogrammer.cxx:85 AliMUONTrackerDataHistogrammer.cxx:86 AliMUONTrackerDataHistogrammer.cxx:87 AliMUONTrackerDataHistogrammer.cxx:88 AliMUONTrackerDataHistogrammer.cxx:89 AliMUONTrackerDataHistogrammer.cxx:90 AliMUONTrackerDataHistogrammer.cxx:91 AliMUONTrackerDataHistogrammer.cxx:92 AliMUONTrackerDataHistogrammer.cxx:93 AliMUONTrackerDataHistogrammer.cxx:94 AliMUONTrackerDataHistogrammer.cxx:95 AliMUONTrackerDataHistogrammer.cxx:96 AliMUONTrackerDataHistogrammer.cxx:97 AliMUONTrackerDataHistogrammer.cxx:98 AliMUONTrackerDataHistogrammer.cxx:99 AliMUONTrackerDataHistogrammer.cxx:100 AliMUONTrackerDataHistogrammer.cxx:101 AliMUONTrackerDataHistogrammer.cxx:102 AliMUONTrackerDataHistogrammer.cxx:103 AliMUONTrackerDataHistogrammer.cxx:104 AliMUONTrackerDataHistogrammer.cxx:105 AliMUONTrackerDataHistogrammer.cxx:106 AliMUONTrackerDataHistogrammer.cxx:107 AliMUONTrackerDataHistogrammer.cxx:108 AliMUONTrackerDataHistogrammer.cxx:109 AliMUONTrackerDataHistogrammer.cxx:110 AliMUONTrackerDataHistogrammer.cxx:111 AliMUONTrackerDataHistogrammer.cxx:112 AliMUONTrackerDataHistogrammer.cxx:113 AliMUONTrackerDataHistogrammer.cxx:114 AliMUONTrackerDataHistogrammer.cxx:115 AliMUONTrackerDataHistogrammer.cxx:116 AliMUONTrackerDataHistogrammer.cxx:117 AliMUONTrackerDataHistogrammer.cxx:118 AliMUONTrackerDataHistogrammer.cxx:119 AliMUONTrackerDataHistogrammer.cxx:120 AliMUONTrackerDataHistogrammer.cxx:121 AliMUONTrackerDataHistogrammer.cxx:122 AliMUONTrackerDataHistogrammer.cxx:123 AliMUONTrackerDataHistogrammer.cxx:124 AliMUONTrackerDataHistogrammer.cxx:125 AliMUONTrackerDataHistogrammer.cxx:126 AliMUONTrackerDataHistogrammer.cxx:127 AliMUONTrackerDataHistogrammer.cxx:128 AliMUONTrackerDataHistogrammer.cxx:129 AliMUONTrackerDataHistogrammer.cxx:130 AliMUONTrackerDataHistogrammer.cxx:131 AliMUONTrackerDataHistogrammer.cxx:132 AliMUONTrackerDataHistogrammer.cxx:133 AliMUONTrackerDataHistogrammer.cxx:134 AliMUONTrackerDataHistogrammer.cxx:135 AliMUONTrackerDataHistogrammer.cxx:136 AliMUONTrackerDataHistogrammer.cxx:137 AliMUONTrackerDataHistogrammer.cxx:138 AliMUONTrackerDataHistogrammer.cxx:139 AliMUONTrackerDataHistogrammer.cxx:140 AliMUONTrackerDataHistogrammer.cxx:141 AliMUONTrackerDataHistogrammer.cxx:142 AliMUONTrackerDataHistogrammer.cxx:143 AliMUONTrackerDataHistogrammer.cxx:144 AliMUONTrackerDataHistogrammer.cxx:145 AliMUONTrackerDataHistogrammer.cxx:146 AliMUONTrackerDataHistogrammer.cxx:147 AliMUONTrackerDataHistogrammer.cxx:148 AliMUONTrackerDataHistogrammer.cxx:149 AliMUONTrackerDataHistogrammer.cxx:150 AliMUONTrackerDataHistogrammer.cxx:151 AliMUONTrackerDataHistogrammer.cxx:152 AliMUONTrackerDataHistogrammer.cxx:153 AliMUONTrackerDataHistogrammer.cxx:154 AliMUONTrackerDataHistogrammer.cxx:155 AliMUONTrackerDataHistogrammer.cxx:156 AliMUONTrackerDataHistogrammer.cxx:157 AliMUONTrackerDataHistogrammer.cxx:158 AliMUONTrackerDataHistogrammer.cxx:159 AliMUONTrackerDataHistogrammer.cxx:160 AliMUONTrackerDataHistogrammer.cxx:161 AliMUONTrackerDataHistogrammer.cxx:162 AliMUONTrackerDataHistogrammer.cxx:163 AliMUONTrackerDataHistogrammer.cxx:164 AliMUONTrackerDataHistogrammer.cxx:165 AliMUONTrackerDataHistogrammer.cxx:166 AliMUONTrackerDataHistogrammer.cxx:167 AliMUONTrackerDataHistogrammer.cxx:168 AliMUONTrackerDataHistogrammer.cxx:169 AliMUONTrackerDataHistogrammer.cxx:170 AliMUONTrackerDataHistogrammer.cxx:171 AliMUONTrackerDataHistogrammer.cxx:172 AliMUONTrackerDataHistogrammer.cxx:173 AliMUONTrackerDataHistogrammer.cxx:174 AliMUONTrackerDataHistogrammer.cxx:175 AliMUONTrackerDataHistogrammer.cxx:176 AliMUONTrackerDataHistogrammer.cxx:177 AliMUONTrackerDataHistogrammer.cxx:178 AliMUONTrackerDataHistogrammer.cxx:179 AliMUONTrackerDataHistogrammer.cxx:180 AliMUONTrackerDataHistogrammer.cxx:181 AliMUONTrackerDataHistogrammer.cxx:182 AliMUONTrackerDataHistogrammer.cxx:183 AliMUONTrackerDataHistogrammer.cxx:184 AliMUONTrackerDataHistogrammer.cxx:185 AliMUONTrackerDataHistogrammer.cxx:186 AliMUONTrackerDataHistogrammer.cxx:187 AliMUONTrackerDataHistogrammer.cxx:188 AliMUONTrackerDataHistogrammer.cxx:189 AliMUONTrackerDataHistogrammer.cxx:190 AliMUONTrackerDataHistogrammer.cxx:191 AliMUONTrackerDataHistogrammer.cxx:192 AliMUONTrackerDataHistogrammer.cxx:193 AliMUONTrackerDataHistogrammer.cxx:194 AliMUONTrackerDataHistogrammer.cxx:195 AliMUONTrackerDataHistogrammer.cxx:196 AliMUONTrackerDataHistogrammer.cxx:197 AliMUONTrackerDataHistogrammer.cxx:198 AliMUONTrackerDataHistogrammer.cxx:199 AliMUONTrackerDataHistogrammer.cxx:200 AliMUONTrackerDataHistogrammer.cxx:201 AliMUONTrackerDataHistogrammer.cxx:202 AliMUONTrackerDataHistogrammer.cxx:203 AliMUONTrackerDataHistogrammer.cxx:204 AliMUONTrackerDataHistogrammer.cxx:205 AliMUONTrackerDataHistogrammer.cxx:206 AliMUONTrackerDataHistogrammer.cxx:207 AliMUONTrackerDataHistogrammer.cxx:208 AliMUONTrackerDataHistogrammer.cxx:209 AliMUONTrackerDataHistogrammer.cxx:210 AliMUONTrackerDataHistogrammer.cxx:211 AliMUONTrackerDataHistogrammer.cxx:212 AliMUONTrackerDataHistogrammer.cxx:213 AliMUONTrackerDataHistogrammer.cxx:214 AliMUONTrackerDataHistogrammer.cxx:215 AliMUONTrackerDataHistogrammer.cxx:216 AliMUONTrackerDataHistogrammer.cxx:217 AliMUONTrackerDataHistogrammer.cxx:218 AliMUONTrackerDataHistogrammer.cxx:219 AliMUONTrackerDataHistogrammer.cxx:220 AliMUONTrackerDataHistogrammer.cxx:221 AliMUONTrackerDataHistogrammer.cxx:222 AliMUONTrackerDataHistogrammer.cxx:223 AliMUONTrackerDataHistogrammer.cxx:224 AliMUONTrackerDataHistogrammer.cxx:225 AliMUONTrackerDataHistogrammer.cxx:226 AliMUONTrackerDataHistogrammer.cxx:227 AliMUONTrackerDataHistogrammer.cxx:228 AliMUONTrackerDataHistogrammer.cxx:229 AliMUONTrackerDataHistogrammer.cxx:230 AliMUONTrackerDataHistogrammer.cxx:231 AliMUONTrackerDataHistogrammer.cxx:232 AliMUONTrackerDataHistogrammer.cxx:233 AliMUONTrackerDataHistogrammer.cxx:234 AliMUONTrackerDataHistogrammer.cxx:235 AliMUONTrackerDataHistogrammer.cxx:236 AliMUONTrackerDataHistogrammer.cxx:237 AliMUONTrackerDataHistogrammer.cxx:238 AliMUONTrackerDataHistogrammer.cxx:239 AliMUONTrackerDataHistogrammer.cxx:240 AliMUONTrackerDataHistogrammer.cxx:241 AliMUONTrackerDataHistogrammer.cxx:242 AliMUONTrackerDataHistogrammer.cxx:243 AliMUONTrackerDataHistogrammer.cxx:244 AliMUONTrackerDataHistogrammer.cxx:245 AliMUONTrackerDataHistogrammer.cxx:246 AliMUONTrackerDataHistogrammer.cxx:247 AliMUONTrackerDataHistogrammer.cxx:248 AliMUONTrackerDataHistogrammer.cxx:249 AliMUONTrackerDataHistogrammer.cxx:250 AliMUONTrackerDataHistogrammer.cxx:251 AliMUONTrackerDataHistogrammer.cxx:252 AliMUONTrackerDataHistogrammer.cxx:253 AliMUONTrackerDataHistogrammer.cxx:254 AliMUONTrackerDataHistogrammer.cxx:255 AliMUONTrackerDataHistogrammer.cxx:256 AliMUONTrackerDataHistogrammer.cxx:257 AliMUONTrackerDataHistogrammer.cxx:258 AliMUONTrackerDataHistogrammer.cxx:259 AliMUONTrackerDataHistogrammer.cxx:260 AliMUONTrackerDataHistogrammer.cxx:261 AliMUONTrackerDataHistogrammer.cxx:262 AliMUONTrackerDataHistogrammer.cxx:263 AliMUONTrackerDataHistogrammer.cxx:264 AliMUONTrackerDataHistogrammer.cxx:265 AliMUONTrackerDataHistogrammer.cxx:266 AliMUONTrackerDataHistogrammer.cxx:267 AliMUONTrackerDataHistogrammer.cxx:268 AliMUONTrackerDataHistogrammer.cxx:269 AliMUONTrackerDataHistogrammer.cxx:270 AliMUONTrackerDataHistogrammer.cxx:271 AliMUONTrackerDataHistogrammer.cxx:272 AliMUONTrackerDataHistogrammer.cxx:273 AliMUONTrackerDataHistogrammer.cxx:274 AliMUONTrackerDataHistogrammer.cxx:275 AliMUONTrackerDataHistogrammer.cxx:276 AliMUONTrackerDataHistogrammer.cxx:277 AliMUONTrackerDataHistogrammer.cxx:278 AliMUONTrackerDataHistogrammer.cxx:279 AliMUONTrackerDataHistogrammer.cxx:280 AliMUONTrackerDataHistogrammer.cxx:281 AliMUONTrackerDataHistogrammer.cxx:282 AliMUONTrackerDataHistogrammer.cxx:283 AliMUONTrackerDataHistogrammer.cxx:284 AliMUONTrackerDataHistogrammer.cxx:285 AliMUONTrackerDataHistogrammer.cxx:286 AliMUONTrackerDataHistogrammer.cxx:287 AliMUONTrackerDataHistogrammer.cxx:288 AliMUONTrackerDataHistogrammer.cxx:289 AliMUONTrackerDataHistogrammer.cxx:290 AliMUONTrackerDataHistogrammer.cxx:291 AliMUONTrackerDataHistogrammer.cxx:292 AliMUONTrackerDataHistogrammer.cxx:293 AliMUONTrackerDataHistogrammer.cxx:294 AliMUONTrackerDataHistogrammer.cxx:295 AliMUONTrackerDataHistogrammer.cxx:296 AliMUONTrackerDataHistogrammer.cxx:297 AliMUONTrackerDataHistogrammer.cxx:298 AliMUONTrackerDataHistogrammer.cxx:299 AliMUONTrackerDataHistogrammer.cxx:300 AliMUONTrackerDataHistogrammer.cxx:301 AliMUONTrackerDataHistogrammer.cxx:302 AliMUONTrackerDataHistogrammer.cxx:303 AliMUONTrackerDataHistogrammer.cxx:304 AliMUONTrackerDataHistogrammer.cxx:305 AliMUONTrackerDataHistogrammer.cxx:306 AliMUONTrackerDataHistogrammer.cxx:307 AliMUONTrackerDataHistogrammer.cxx:308 AliMUONTrackerDataHistogrammer.cxx:309 AliMUONTrackerDataHistogrammer.cxx:310 AliMUONTrackerDataHistogrammer.cxx:311 AliMUONTrackerDataHistogrammer.cxx:312 AliMUONTrackerDataHistogrammer.cxx:313 AliMUONTrackerDataHistogrammer.cxx:314 AliMUONTrackerDataHistogrammer.cxx:315 AliMUONTrackerDataHistogrammer.cxx:316 AliMUONTrackerDataHistogrammer.cxx:317 AliMUONTrackerDataHistogrammer.cxx:318 AliMUONTrackerDataHistogrammer.cxx:319 AliMUONTrackerDataHistogrammer.cxx:320 AliMUONTrackerDataHistogrammer.cxx:321 AliMUONTrackerDataHistogrammer.cxx:322 AliMUONTrackerDataHistogrammer.cxx:323 AliMUONTrackerDataHistogrammer.cxx:324 AliMUONTrackerDataHistogrammer.cxx:325 AliMUONTrackerDataHistogrammer.cxx:326 AliMUONTrackerDataHistogrammer.cxx:327 AliMUONTrackerDataHistogrammer.cxx:328 AliMUONTrackerDataHistogrammer.cxx:329 AliMUONTrackerDataHistogrammer.cxx:330 AliMUONTrackerDataHistogrammer.cxx:331 AliMUONTrackerDataHistogrammer.cxx:332 AliMUONTrackerDataHistogrammer.cxx:333 AliMUONTrackerDataHistogrammer.cxx:334 AliMUONTrackerDataHistogrammer.cxx:335 AliMUONTrackerDataHistogrammer.cxx:336 AliMUONTrackerDataHistogrammer.cxx:337 AliMUONTrackerDataHistogrammer.cxx:338 AliMUONTrackerDataHistogrammer.cxx:339 AliMUONTrackerDataHistogrammer.cxx:340 AliMUONTrackerDataHistogrammer.cxx:341 AliMUONTrackerDataHistogrammer.cxx:342 AliMUONTrackerDataHistogrammer.cxx:343 AliMUONTrackerDataHistogrammer.cxx:344 AliMUONTrackerDataHistogrammer.cxx:345 AliMUONTrackerDataHistogrammer.cxx:346 AliMUONTrackerDataHistogrammer.cxx:347 AliMUONTrackerDataHistogrammer.cxx:348 AliMUONTrackerDataHistogrammer.cxx:349 AliMUONTrackerDataHistogrammer.cxx:350 AliMUONTrackerDataHistogrammer.cxx:351 AliMUONTrackerDataHistogrammer.cxx:352 AliMUONTrackerDataHistogrammer.cxx:353 AliMUONTrackerDataHistogrammer.cxx:354 AliMUONTrackerDataHistogrammer.cxx:355 AliMUONTrackerDataHistogrammer.cxx:356 AliMUONTrackerDataHistogrammer.cxx:357 AliMUONTrackerDataHistogrammer.cxx:358 AliMUONTrackerDataHistogrammer.cxx:359 AliMUONTrackerDataHistogrammer.cxx:360 AliMUONTrackerDataHistogrammer.cxx:361 AliMUONTrackerDataHistogrammer.cxx:362 AliMUONTrackerDataHistogrammer.cxx:363 AliMUONTrackerDataHistogrammer.cxx:364 AliMUONTrackerDataHistogrammer.cxx:365 AliMUONTrackerDataHistogrammer.cxx:366 AliMUONTrackerDataHistogrammer.cxx:367 AliMUONTrackerDataHistogrammer.cxx:368 AliMUONTrackerDataHistogrammer.cxx:369 AliMUONTrackerDataHistogrammer.cxx:370 AliMUONTrackerDataHistogrammer.cxx:371 AliMUONTrackerDataHistogrammer.cxx:372 AliMUONTrackerDataHistogrammer.cxx:373 AliMUONTrackerDataHistogrammer.cxx:374 AliMUONTrackerDataHistogrammer.cxx:375 AliMUONTrackerDataHistogrammer.cxx:376 AliMUONTrackerDataHistogrammer.cxx:377 AliMUONTrackerDataHistogrammer.cxx:378 AliMUONTrackerDataHistogrammer.cxx:379 AliMUONTrackerDataHistogrammer.cxx:380 AliMUONTrackerDataHistogrammer.cxx:381 AliMUONTrackerDataHistogrammer.cxx:382 AliMUONTrackerDataHistogrammer.cxx:383 AliMUONTrackerDataHistogrammer.cxx:384 AliMUONTrackerDataHistogrammer.cxx:385 AliMUONTrackerDataHistogrammer.cxx:386 AliMUONTrackerDataHistogrammer.cxx:387 AliMUONTrackerDataHistogrammer.cxx:388