#include "AliMUONTrackerDataCompareDialog.h"
#include "AliLog.h"
#include "AliMUON2DMap.h"
#include "AliMUONCalibParamND.h"
#include "AliMUONPainterDataRegistry.h"
#include "AliMUONTrackerData.h"
#include "AliMUONTrackerDataWrapper.h"
#include "AliMUONVTrackerData.h"
#include "AliMpConstants.h"
#include "AliMpDDLStore.h"
#include "AliMpDetElement.h"
#include "AliMpManuIterator.h"
#include <TGComboBox.h>
#include <TGLabel.h>
#include <TGTextEntry.h>
#include <TTimer.h>
ClassImp(AliMUONTrackerDataCompareDialog)
const Int_t AliMUONTrackerDataCompareDialog::fgkDifference(1);
const Int_t AliMUONTrackerDataCompareDialog::fgkAbsoluteDifference(2);
const Int_t AliMUONTrackerDataCompareDialog::fgkRelativeDifference(3);
const Int_t AliMUONTrackerDataCompareDialog::fgkAbsoluteRelativeDifference(4);
const Int_t AliMUONTrackerDataCompareDialog::fgkAll(5);
namespace
{
#define PRECISION 1E-12
Double_t Difference(Double_t v1, Double_t v2)
{
Double_t d = v1-v2;
return TMath::Abs(d) < PRECISION ? 0.0 : d;
}
Double_t AbsoluteDifference(Double_t v1, Double_t v2)
{
return TMath::Abs(Difference(v1,v2));
}
Double_t RelativeDifference(Double_t v1, Double_t v2)
{
if ( TMath::Abs(v1) < PRECISION ) return 0.0;
return (v1-v2)/v1;
}
Double_t AbsoluteRelativeDifference(Double_t v1, Double_t v2)
{
return TMath::Abs(RelativeDifference(v1,v2));
}
}
AliMUONTrackerDataCompareDialog::AliMUONTrackerDataCompareDialog(const TGWindow* p, const TGWindow* main, UInt_t w, UInt_t h)
: TGTransientFrame(p,main,w,h),
fF1(new TGHorizontalFrame(this)),
fData1(new TGComboBox(fF1)),
fF2(new TGHorizontalFrame(this)),
fData2(new TGComboBox(fF2)),
fF3(new TGHorizontalFrame(this)),
fDiffType(new TGComboBox(fF3)),
fF4(new TGHorizontalFrame(this)),
fBasename(new TGTextEntry(fF4)),
fButtonFrame(new TGHorizontalFrame(this)),
fOK(new TGTextButton(fButtonFrame,"OK")),
fCancel(new TGTextButton(fButtonFrame,"Cancel"))
{
SetCleanup(kDeepCleanup);
AliMUONPainterDataRegistry* reg = AliMUONPainterDataRegistry::Instance();
for ( Int_t i = 0; i < reg->NumberOfDataSources(); ++i )
{
AliMUONVTrackerData* data = reg->DataSource(i);
fData1->AddEntry(data->GetName(),i);
fData2->AddEntry(data->GetName(),i);
}
fDiffType->AddEntry("Difference",fgkDifference);
fDiffType->AddEntry("Absolute difference",fgkAbsoluteDifference);
fDiffType->AddEntry("Relative difference",fgkRelativeDifference);
fDiffType->AddEntry("Absolute relative difference",fgkAbsoluteRelativeDifference);
fDiffType->AddEntry("All four",fgkAll);
fData1->Select(0);
fData2->Select(0);
fDiffType->Select(4);
fF1->AddFrame(new TGLabel(fF1,"First data"),new TGLayoutHints(kLHintsLeft|kLHintsTop,5,5,5,5));
fF1->AddFrame(fData1,new TGLayoutHints(kLHintsRight|kLHintsExpandX|kLHintsTop,5,5,5,5));
fF2->AddFrame(new TGLabel(fF2,"Second data"),new TGLayoutHints(kLHintsLeft|kLHintsTop,5,5,5,5));
fF2->AddFrame(fData2,new TGLayoutHints(kLHintsRight|kLHintsExpandX|kLHintsTop,5,5,5,5));
fF3->AddFrame(new TGLabel(fF3,"Difference type"),new TGLayoutHints(kLHintsLeft|kLHintsTop,5,5,5,5));
fF3->AddFrame(fDiffType,new TGLayoutHints(kLHintsRight|kLHintsExpandX|kLHintsTop,5,5,5,5));
fF4->AddFrame(new TGLabel(fF4,"Output basename"),new TGLayoutHints(kLHintsLeft|kLHintsTop,5,5,5,5));
fF4->AddFrame(fBasename,new TGLayoutHints(kLHintsRight|kLHintsExpandX|kLHintsTop,5,5,5,5));
AddFrame(fF1,new TGLayoutHints(kLHintsLeft|kLHintsExpandX|kLHintsTop,5,5,5,5));
AddFrame(fF2,new TGLayoutHints(kLHintsLeft|kLHintsExpandX|kLHintsTop,5,5,5,5));
AddFrame(fF3,new TGLayoutHints(kLHintsLeft|kLHintsExpandX|kLHintsTop,5,5,5,5));
AddFrame(fF4,new TGLayoutHints(kLHintsLeft|kLHintsExpandX|kLHintsTop,5,5,5,5));
fButtonFrame->AddFrame(fOK,new TGLayoutHints(kLHintsLeft|kLHintsTop,5,5,5,5));
fButtonFrame->AddFrame(fCancel,new TGLayoutHints(kLHintsRight|kLHintsTop,5,5,5,5));
AddFrame(fButtonFrame,new TGLayoutHints(kLHintsLeft|kLHintsExpandX|kLHintsTop,5,5,5,5));
fData1->Resize(200,20);
fData2->Resize(200,20);
fDiffType->Resize(200,20);
fOK->Connect("Clicked()", "AliMUONTrackerDataCompareDialog",this,"DoOK()");
fCancel->Connect("Clicked()","AliMUONTrackerDataCompareDialog",this,"DoCancel()");
}
AliMUONTrackerDataCompareDialog::~AliMUONTrackerDataCompareDialog()
{
}
void
AliMUONTrackerDataCompareDialog::DoOK()
{
TGTextLBEntry* t1 = static_cast<TGTextLBEntry*>(fData1->GetSelectedEntry());
TString s1 = t1->GetText()->GetString();
TGTextLBEntry* t2 = static_cast<TGTextLBEntry*>(fData2->GetSelectedEntry());
TString s2 = t2->GetText()->GetString();
Int_t nd = fDiffType->GetSelected();
if ( nd == fgkAll )
{
CompareData(s1.Data(),s2.Data(),fgkDifference);
CompareData(s1.Data(),s2.Data(),fgkRelativeDifference);
CompareData(s1.Data(),s2.Data(),fgkAbsoluteDifference);
CompareData(s1.Data(),s2.Data(),fgkAbsoluteRelativeDifference);
}
else
{
CompareData(s1.Data(),s2.Data(),nd);
}
TTimer::SingleShot(150,"AliMUONTrackerDataCompareDialog",this,"CloseWindow()");
}
void
AliMUONTrackerDataCompareDialog::DoCancel()
{
TTimer::SingleShot(150,"AliMUONTrackerDataCompareDialog",this,"CloseWindow()");
}
void
AliMUONTrackerDataCompareDialog::CompareData(const char* d1name,
const char* d2name,
Int_t difftype) const
{
AliMUONPainterDataRegistry* reg = AliMUONPainterDataRegistry::Instance();
AliMUONVTrackerData* d1 = reg->DataSource(d1name);
if (!d1)
{
AliError(Form("Cannot find data source %s",d1name));
return;
}
AliMUONVTrackerData* d2 = reg->DataSource(d2name);
if (!d2)
{
AliError(Form("Cannot find data source %s",d2name));
return;
}
Double_t (*difffunction)(Double_t,Double_t)=0x0;
TString suffix("unknown");
if ( difftype == fgkDifference )
{
difffunction = Difference;
suffix = "D";
}
if ( difftype == fgkAbsoluteDifference )
{
difffunction = AbsoluteDifference;
suffix = "AD";
}
if ( difftype == fgkRelativeDifference )
{
difffunction = RelativeDifference;
suffix = "RD";
}
if ( difftype == fgkAbsoluteRelativeDifference )
{
difffunction = AbsoluteRelativeDifference;
suffix = "ARD";
}
if ( difffunction )
{
TString basename = fBasename->GetText();
AliMUONVTrackerData* d = CompareData(*d1,*d2,Form("%s:%s",basename.Data(),suffix.Data()),difffunction);
AliMUONVTrackerDataMaker* dw = new AliMUONTrackerDataWrapper(d);
AliMUONPainterDataRegistry::Instance()->Register(dw);
}
}
AliMUONVTrackerData*
AliMUONTrackerDataCompareDialog::CompareData(const AliMUONVTrackerData& d1,
const AliMUONVTrackerData& d2,
const char* outname,
Double_t(*diff)(Double_t,Double_t)) const
{
if ( d1.NumberOfDimensions() != d2.NumberOfDimensions() )
{
AliError("Cannot compare data of incompatible dimensions");
return 0x0;
}
AliMpManuIterator it;
Int_t detElemId, manuId;
AliMUONVStore* store = new AliMUON2DMap(kTRUE);
while ( it.Next(detElemId,manuId) )
{
if ( d1.HasDetectionElement(detElemId) && d2.HasDetectionElement(detElemId) &&
d1.HasManu(detElemId,manuId) && d2.HasManu(detElemId,manuId) )
{
AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
AliMUONVCalibParam* param = static_cast<AliMUONVCalibParam*>(store->FindObject(detElemId,manuId));
if (!param)
{
param = new AliMUONCalibParamND(d1.ExternalDimension(),64,detElemId,manuId,
AliMUONVCalibParam::InvalidFloatValue());
store->Add(param);
}
for ( Int_t i = 0; i < AliMpConstants::ManuNofChannels(); ++i )
{
if ( de->IsConnectedChannel(manuId,i) )
{
for ( Int_t k = 0; k < d1.ExternalDimension(); ++k )
{
Double_t d = diff(d1.Channel(detElemId,manuId,i,k),
d2.Channel(detElemId,manuId,i,k));
param->SetValueAsDouble(i,k,d);
}
}
}
}
}
AliMUONVTrackerData* d = new AliMUONTrackerData(outname,outname,d1.ExternalDimension(),kTRUE);
for ( Int_t k = 0; k < d1.ExternalDimension(); ++k )
{
d->SetDimensionName(k,Form("D:%s",d1.ExternalDimensionName(k).Data()));
}
d->Add(*store);
return d;
}
AliMUONTrackerDataCompareDialog.cxx:1 AliMUONTrackerDataCompareDialog.cxx:2 AliMUONTrackerDataCompareDialog.cxx:3 AliMUONTrackerDataCompareDialog.cxx:4 AliMUONTrackerDataCompareDialog.cxx:5 AliMUONTrackerDataCompareDialog.cxx:6 AliMUONTrackerDataCompareDialog.cxx:7 AliMUONTrackerDataCompareDialog.cxx:8 AliMUONTrackerDataCompareDialog.cxx:9 AliMUONTrackerDataCompareDialog.cxx:10 AliMUONTrackerDataCompareDialog.cxx:11 AliMUONTrackerDataCompareDialog.cxx:12 AliMUONTrackerDataCompareDialog.cxx:13 AliMUONTrackerDataCompareDialog.cxx:14 AliMUONTrackerDataCompareDialog.cxx:15 AliMUONTrackerDataCompareDialog.cxx:16 AliMUONTrackerDataCompareDialog.cxx:17 AliMUONTrackerDataCompareDialog.cxx:18 AliMUONTrackerDataCompareDialog.cxx:19 AliMUONTrackerDataCompareDialog.cxx:20 AliMUONTrackerDataCompareDialog.cxx:21 AliMUONTrackerDataCompareDialog.cxx:22 AliMUONTrackerDataCompareDialog.cxx:23 AliMUONTrackerDataCompareDialog.cxx:24 AliMUONTrackerDataCompareDialog.cxx:25 AliMUONTrackerDataCompareDialog.cxx:26 AliMUONTrackerDataCompareDialog.cxx:27 AliMUONTrackerDataCompareDialog.cxx:28 AliMUONTrackerDataCompareDialog.cxx:29 AliMUONTrackerDataCompareDialog.cxx:30 AliMUONTrackerDataCompareDialog.cxx:31 AliMUONTrackerDataCompareDialog.cxx:32 AliMUONTrackerDataCompareDialog.cxx:33 AliMUONTrackerDataCompareDialog.cxx:34 AliMUONTrackerDataCompareDialog.cxx:35 AliMUONTrackerDataCompareDialog.cxx:36 AliMUONTrackerDataCompareDialog.cxx:37 AliMUONTrackerDataCompareDialog.cxx:38 AliMUONTrackerDataCompareDialog.cxx:39 AliMUONTrackerDataCompareDialog.cxx:40 AliMUONTrackerDataCompareDialog.cxx:41 AliMUONTrackerDataCompareDialog.cxx:42 AliMUONTrackerDataCompareDialog.cxx:43 AliMUONTrackerDataCompareDialog.cxx:44 AliMUONTrackerDataCompareDialog.cxx:45 AliMUONTrackerDataCompareDialog.cxx:46 AliMUONTrackerDataCompareDialog.cxx:47 AliMUONTrackerDataCompareDialog.cxx:48 AliMUONTrackerDataCompareDialog.cxx:49 AliMUONTrackerDataCompareDialog.cxx:50 AliMUONTrackerDataCompareDialog.cxx:51 AliMUONTrackerDataCompareDialog.cxx:52 AliMUONTrackerDataCompareDialog.cxx:53 AliMUONTrackerDataCompareDialog.cxx:54 AliMUONTrackerDataCompareDialog.cxx:55 AliMUONTrackerDataCompareDialog.cxx:56 AliMUONTrackerDataCompareDialog.cxx:57 AliMUONTrackerDataCompareDialog.cxx:58 AliMUONTrackerDataCompareDialog.cxx:59 AliMUONTrackerDataCompareDialog.cxx:60 AliMUONTrackerDataCompareDialog.cxx:61 AliMUONTrackerDataCompareDialog.cxx:62 AliMUONTrackerDataCompareDialog.cxx:63 AliMUONTrackerDataCompareDialog.cxx:64 AliMUONTrackerDataCompareDialog.cxx:65 AliMUONTrackerDataCompareDialog.cxx:66 AliMUONTrackerDataCompareDialog.cxx:67 AliMUONTrackerDataCompareDialog.cxx:68 AliMUONTrackerDataCompareDialog.cxx:69 AliMUONTrackerDataCompareDialog.cxx:70 AliMUONTrackerDataCompareDialog.cxx:71 AliMUONTrackerDataCompareDialog.cxx:72 AliMUONTrackerDataCompareDialog.cxx:73 AliMUONTrackerDataCompareDialog.cxx:74 AliMUONTrackerDataCompareDialog.cxx:75 AliMUONTrackerDataCompareDialog.cxx:76 AliMUONTrackerDataCompareDialog.cxx:77 AliMUONTrackerDataCompareDialog.cxx:78 AliMUONTrackerDataCompareDialog.cxx:79 AliMUONTrackerDataCompareDialog.cxx:80 AliMUONTrackerDataCompareDialog.cxx:81 AliMUONTrackerDataCompareDialog.cxx:82 AliMUONTrackerDataCompareDialog.cxx:83 AliMUONTrackerDataCompareDialog.cxx:84 AliMUONTrackerDataCompareDialog.cxx:85 AliMUONTrackerDataCompareDialog.cxx:86 AliMUONTrackerDataCompareDialog.cxx:87 AliMUONTrackerDataCompareDialog.cxx:88 AliMUONTrackerDataCompareDialog.cxx:89 AliMUONTrackerDataCompareDialog.cxx:90 AliMUONTrackerDataCompareDialog.cxx:91 AliMUONTrackerDataCompareDialog.cxx:92 AliMUONTrackerDataCompareDialog.cxx:93 AliMUONTrackerDataCompareDialog.cxx:94 AliMUONTrackerDataCompareDialog.cxx:95 AliMUONTrackerDataCompareDialog.cxx:96 AliMUONTrackerDataCompareDialog.cxx:97 AliMUONTrackerDataCompareDialog.cxx:98 AliMUONTrackerDataCompareDialog.cxx:99 AliMUONTrackerDataCompareDialog.cxx:100 AliMUONTrackerDataCompareDialog.cxx:101 AliMUONTrackerDataCompareDialog.cxx:102 AliMUONTrackerDataCompareDialog.cxx:103 AliMUONTrackerDataCompareDialog.cxx:104 AliMUONTrackerDataCompareDialog.cxx:105 AliMUONTrackerDataCompareDialog.cxx:106 AliMUONTrackerDataCompareDialog.cxx:107 AliMUONTrackerDataCompareDialog.cxx:108 AliMUONTrackerDataCompareDialog.cxx:109 AliMUONTrackerDataCompareDialog.cxx:110 AliMUONTrackerDataCompareDialog.cxx:111 AliMUONTrackerDataCompareDialog.cxx:112 AliMUONTrackerDataCompareDialog.cxx:113 AliMUONTrackerDataCompareDialog.cxx:114 AliMUONTrackerDataCompareDialog.cxx:115 AliMUONTrackerDataCompareDialog.cxx:116 AliMUONTrackerDataCompareDialog.cxx:117 AliMUONTrackerDataCompareDialog.cxx:118 AliMUONTrackerDataCompareDialog.cxx:119 AliMUONTrackerDataCompareDialog.cxx:120 AliMUONTrackerDataCompareDialog.cxx:121 AliMUONTrackerDataCompareDialog.cxx:122 AliMUONTrackerDataCompareDialog.cxx:123 AliMUONTrackerDataCompareDialog.cxx:124 AliMUONTrackerDataCompareDialog.cxx:125 AliMUONTrackerDataCompareDialog.cxx:126 AliMUONTrackerDataCompareDialog.cxx:127 AliMUONTrackerDataCompareDialog.cxx:128 AliMUONTrackerDataCompareDialog.cxx:129 AliMUONTrackerDataCompareDialog.cxx:130 AliMUONTrackerDataCompareDialog.cxx:131 AliMUONTrackerDataCompareDialog.cxx:132 AliMUONTrackerDataCompareDialog.cxx:133 AliMUONTrackerDataCompareDialog.cxx:134 AliMUONTrackerDataCompareDialog.cxx:135 AliMUONTrackerDataCompareDialog.cxx:136 AliMUONTrackerDataCompareDialog.cxx:137 AliMUONTrackerDataCompareDialog.cxx:138 AliMUONTrackerDataCompareDialog.cxx:139 AliMUONTrackerDataCompareDialog.cxx:140 AliMUONTrackerDataCompareDialog.cxx:141 AliMUONTrackerDataCompareDialog.cxx:142 AliMUONTrackerDataCompareDialog.cxx:143 AliMUONTrackerDataCompareDialog.cxx:144 AliMUONTrackerDataCompareDialog.cxx:145 AliMUONTrackerDataCompareDialog.cxx:146 AliMUONTrackerDataCompareDialog.cxx:147 AliMUONTrackerDataCompareDialog.cxx:148 AliMUONTrackerDataCompareDialog.cxx:149 AliMUONTrackerDataCompareDialog.cxx:150 AliMUONTrackerDataCompareDialog.cxx:151 AliMUONTrackerDataCompareDialog.cxx:152 AliMUONTrackerDataCompareDialog.cxx:153 AliMUONTrackerDataCompareDialog.cxx:154 AliMUONTrackerDataCompareDialog.cxx:155 AliMUONTrackerDataCompareDialog.cxx:156 AliMUONTrackerDataCompareDialog.cxx:157 AliMUONTrackerDataCompareDialog.cxx:158 AliMUONTrackerDataCompareDialog.cxx:159 AliMUONTrackerDataCompareDialog.cxx:160 AliMUONTrackerDataCompareDialog.cxx:161 AliMUONTrackerDataCompareDialog.cxx:162 AliMUONTrackerDataCompareDialog.cxx:163 AliMUONTrackerDataCompareDialog.cxx:164 AliMUONTrackerDataCompareDialog.cxx:165 AliMUONTrackerDataCompareDialog.cxx:166 AliMUONTrackerDataCompareDialog.cxx:167 AliMUONTrackerDataCompareDialog.cxx:168 AliMUONTrackerDataCompareDialog.cxx:169 AliMUONTrackerDataCompareDialog.cxx:170 AliMUONTrackerDataCompareDialog.cxx:171 AliMUONTrackerDataCompareDialog.cxx:172 AliMUONTrackerDataCompareDialog.cxx:173 AliMUONTrackerDataCompareDialog.cxx:174 AliMUONTrackerDataCompareDialog.cxx:175 AliMUONTrackerDataCompareDialog.cxx:176 AliMUONTrackerDataCompareDialog.cxx:177 AliMUONTrackerDataCompareDialog.cxx:178 AliMUONTrackerDataCompareDialog.cxx:179 AliMUONTrackerDataCompareDialog.cxx:180 AliMUONTrackerDataCompareDialog.cxx:181 AliMUONTrackerDataCompareDialog.cxx:182 AliMUONTrackerDataCompareDialog.cxx:183 AliMUONTrackerDataCompareDialog.cxx:184 AliMUONTrackerDataCompareDialog.cxx:185 AliMUONTrackerDataCompareDialog.cxx:186 AliMUONTrackerDataCompareDialog.cxx:187 AliMUONTrackerDataCompareDialog.cxx:188 AliMUONTrackerDataCompareDialog.cxx:189 AliMUONTrackerDataCompareDialog.cxx:190 AliMUONTrackerDataCompareDialog.cxx:191 AliMUONTrackerDataCompareDialog.cxx:192 AliMUONTrackerDataCompareDialog.cxx:193 AliMUONTrackerDataCompareDialog.cxx:194 AliMUONTrackerDataCompareDialog.cxx:195 AliMUONTrackerDataCompareDialog.cxx:196 AliMUONTrackerDataCompareDialog.cxx:197 AliMUONTrackerDataCompareDialog.cxx:198 AliMUONTrackerDataCompareDialog.cxx:199 AliMUONTrackerDataCompareDialog.cxx:200 AliMUONTrackerDataCompareDialog.cxx:201 AliMUONTrackerDataCompareDialog.cxx:202 AliMUONTrackerDataCompareDialog.cxx:203 AliMUONTrackerDataCompareDialog.cxx:204 AliMUONTrackerDataCompareDialog.cxx:205 AliMUONTrackerDataCompareDialog.cxx:206 AliMUONTrackerDataCompareDialog.cxx:207 AliMUONTrackerDataCompareDialog.cxx:208 AliMUONTrackerDataCompareDialog.cxx:209 AliMUONTrackerDataCompareDialog.cxx:210 AliMUONTrackerDataCompareDialog.cxx:211 AliMUONTrackerDataCompareDialog.cxx:212 AliMUONTrackerDataCompareDialog.cxx:213 AliMUONTrackerDataCompareDialog.cxx:214 AliMUONTrackerDataCompareDialog.cxx:215 AliMUONTrackerDataCompareDialog.cxx:216 AliMUONTrackerDataCompareDialog.cxx:217 AliMUONTrackerDataCompareDialog.cxx:218 AliMUONTrackerDataCompareDialog.cxx:219 AliMUONTrackerDataCompareDialog.cxx:220 AliMUONTrackerDataCompareDialog.cxx:221 AliMUONTrackerDataCompareDialog.cxx:222 AliMUONTrackerDataCompareDialog.cxx:223 AliMUONTrackerDataCompareDialog.cxx:224 AliMUONTrackerDataCompareDialog.cxx:225 AliMUONTrackerDataCompareDialog.cxx:226 AliMUONTrackerDataCompareDialog.cxx:227 AliMUONTrackerDataCompareDialog.cxx:228 AliMUONTrackerDataCompareDialog.cxx:229 AliMUONTrackerDataCompareDialog.cxx:230 AliMUONTrackerDataCompareDialog.cxx:231 AliMUONTrackerDataCompareDialog.cxx:232 AliMUONTrackerDataCompareDialog.cxx:233 AliMUONTrackerDataCompareDialog.cxx:234 AliMUONTrackerDataCompareDialog.cxx:235 AliMUONTrackerDataCompareDialog.cxx:236 AliMUONTrackerDataCompareDialog.cxx:237 AliMUONTrackerDataCompareDialog.cxx:238 AliMUONTrackerDataCompareDialog.cxx:239 AliMUONTrackerDataCompareDialog.cxx:240 AliMUONTrackerDataCompareDialog.cxx:241 AliMUONTrackerDataCompareDialog.cxx:242 AliMUONTrackerDataCompareDialog.cxx:243 AliMUONTrackerDataCompareDialog.cxx:244 AliMUONTrackerDataCompareDialog.cxx:245 AliMUONTrackerDataCompareDialog.cxx:246 AliMUONTrackerDataCompareDialog.cxx:247 AliMUONTrackerDataCompareDialog.cxx:248 AliMUONTrackerDataCompareDialog.cxx:249 AliMUONTrackerDataCompareDialog.cxx:250 AliMUONTrackerDataCompareDialog.cxx:251 AliMUONTrackerDataCompareDialog.cxx:252 AliMUONTrackerDataCompareDialog.cxx:253 AliMUONTrackerDataCompareDialog.cxx:254 AliMUONTrackerDataCompareDialog.cxx:255 AliMUONTrackerDataCompareDialog.cxx:256 AliMUONTrackerDataCompareDialog.cxx:257 AliMUONTrackerDataCompareDialog.cxx:258 AliMUONTrackerDataCompareDialog.cxx:259 AliMUONTrackerDataCompareDialog.cxx:260 AliMUONTrackerDataCompareDialog.cxx:261 AliMUONTrackerDataCompareDialog.cxx:262 AliMUONTrackerDataCompareDialog.cxx:263 AliMUONTrackerDataCompareDialog.cxx:264 AliMUONTrackerDataCompareDialog.cxx:265 AliMUONTrackerDataCompareDialog.cxx:266 AliMUONTrackerDataCompareDialog.cxx:267 AliMUONTrackerDataCompareDialog.cxx:268 AliMUONTrackerDataCompareDialog.cxx:269 AliMUONTrackerDataCompareDialog.cxx:270 AliMUONTrackerDataCompareDialog.cxx:271 AliMUONTrackerDataCompareDialog.cxx:272 AliMUONTrackerDataCompareDialog.cxx:273 AliMUONTrackerDataCompareDialog.cxx:274 AliMUONTrackerDataCompareDialog.cxx:275 AliMUONTrackerDataCompareDialog.cxx:276 AliMUONTrackerDataCompareDialog.cxx:277 AliMUONTrackerDataCompareDialog.cxx:278 AliMUONTrackerDataCompareDialog.cxx:279 AliMUONTrackerDataCompareDialog.cxx:280 AliMUONTrackerDataCompareDialog.cxx:281 AliMUONTrackerDataCompareDialog.cxx:282 AliMUONTrackerDataCompareDialog.cxx:283 AliMUONTrackerDataCompareDialog.cxx:284 AliMUONTrackerDataCompareDialog.cxx:285 AliMUONTrackerDataCompareDialog.cxx:286 AliMUONTrackerDataCompareDialog.cxx:287 AliMUONTrackerDataCompareDialog.cxx:288 AliMUONTrackerDataCompareDialog.cxx:289 AliMUONTrackerDataCompareDialog.cxx:290 AliMUONTrackerDataCompareDialog.cxx:291 AliMUONTrackerDataCompareDialog.cxx:292 AliMUONTrackerDataCompareDialog.cxx:293 AliMUONTrackerDataCompareDialog.cxx:294 AliMUONTrackerDataCompareDialog.cxx:295 AliMUONTrackerDataCompareDialog.cxx:296 AliMUONTrackerDataCompareDialog.cxx:297 AliMUONTrackerDataCompareDialog.cxx:298 AliMUONTrackerDataCompareDialog.cxx:299 AliMUONTrackerDataCompareDialog.cxx:300 AliMUONTrackerDataCompareDialog.cxx:301 AliMUONTrackerDataCompareDialog.cxx:302 AliMUONTrackerDataCompareDialog.cxx:303 AliMUONTrackerDataCompareDialog.cxx:304 AliMUONTrackerDataCompareDialog.cxx:305 AliMUONTrackerDataCompareDialog.cxx:306 AliMUONTrackerDataCompareDialog.cxx:307 AliMUONTrackerDataCompareDialog.cxx:308 AliMUONTrackerDataCompareDialog.cxx:309 AliMUONTrackerDataCompareDialog.cxx:310 AliMUONTrackerDataCompareDialog.cxx:311 AliMUONTrackerDataCompareDialog.cxx:312 AliMUONTrackerDataCompareDialog.cxx:313 AliMUONTrackerDataCompareDialog.cxx:314 AliMUONTrackerDataCompareDialog.cxx:315 AliMUONTrackerDataCompareDialog.cxx:316 AliMUONTrackerDataCompareDialog.cxx:317 AliMUONTrackerDataCompareDialog.cxx:318 AliMUONTrackerDataCompareDialog.cxx:319 AliMUONTrackerDataCompareDialog.cxx:320 AliMUONTrackerDataCompareDialog.cxx:321 AliMUONTrackerDataCompareDialog.cxx:322