#include "AliEveCosmicRayFitter.h"
#include "AliLog.h"
#include "AliEveTrack.h"
#include "TEveTrackPropagator.h"
#include "TEveVSDStructs.h"
#include "TEveManager.h"
#include "TCanvas.h"
#include "TPad.h"
#include "TGraph.h"
#include "TGraph2D.h"
#include "TGraphErrors.h"
#include "TLinearFitter.h"
#include <Math/Vector3D.h>
ClassImp(AliEveCosmicRayFitter)
AliEveCosmicRayFitter::AliEveCosmicRayFitter(const Text_t* name, Int_t n_points) :
TEvePointSet (name, n_points),
fLineFitter1 (0),
fLineFitter2 (0),
fConnected (kFALSE),
fSPMap (),
fTrackList (0),
fGraphPicked1 (0),
fGraphLinear1 (0),
fGraphPicked2 (0),
fGraphLinear2 (0)
{
SetMarkerColor(3);
SetOwnIds(kFALSE);
fTrackList = new TEveTrackList("Cosmic ray");
fTrackList->SetTitle("muons");
fTrackList->SetMainColor(8);
gEve->AddElement(fTrackList);
fGraphPicked1 = new TGraph();
fGraphPicked1->SetName("Selected points");
fGraphPicked1->SetMarkerColor(4);
fGraphPicked1->SetMarkerStyle(4);
fGraphPicked1->SetMarkerSize(2);
fGraphLinear1 = new TGraphErrors();
fGraphLinear1->SetName("Fitted points");
fGraphLinear1->SetMarkerColor(2);
fGraphPicked2 = new TGraph();
fGraphPicked2->SetName("Selected points");
fGraphPicked2->SetMarkerColor(4);
fGraphPicked2->SetMarkerStyle(4);
fGraphPicked2->SetMarkerSize(2);
fGraphLinear2 = new TGraphErrors();
fGraphLinear2->SetName("Fitted points");
fGraphLinear2->SetMarkerColor(2);
}
AliEveCosmicRayFitter::~AliEveCosmicRayFitter()
{
if(fLineFitter1) delete fLineFitter1;
if(fLineFitter2) delete fLineFitter2;
fTrackList->DecDenyDestroy();
delete fTrackList;
}
void AliEveCosmicRayFitter::Start()
{
Reset();
if(fConnected == kFALSE)
{
TQObject::Connect("TEvePointSet", "PointSelected(Int_t)",
"AliEveCosmicRayFitter", this, "AddFitPoint(Int_t)");
fConnected = kTRUE;
}
}
void AliEveCosmicRayFitter::Stop()
{
if(fConnected)
{
TQObject::Disconnect("TEvePointSet", "AddFitPoint(Int_t)");
fConnected = kFALSE;
}
}
void AliEveCosmicRayFitter::Reset(Int_t , Int_t )
{
TEvePointSet::Reset();
fSPMap.clear();
if(fLineFitter1) fLineFitter1->Clear();
if(fLineFitter2) fLineFitter2->Clear();
}
void AliEveCosmicRayFitter::AddFitPoint(Int_t n)
{
Float_t x, y, z;
TEvePointSet* ps = dynamic_cast<TEvePointSet*>((TQObject*) gTQSender);
if(!ps) AliFatal("ps == 0, dynamic cast failed\n");
std::map<Point_t, Int_t>::iterator g = fSPMap.find(Point_t(ps, n));
if(g != fSPMap.end())
{
Int_t idx = g->second;
if(idx != fLastPoint)
{
GetPoint(fLastPoint, x, y, z);
SetPoint(idx, x, y, z);
}
fSPMap.erase(g);
fLastPoint--;
}
else
{
fSPMap[Point_t(ps, n)] = Size();
ps->GetPoint(n, x, y, z);
SetNextPoint(x, y, z);
}
ComputeBBox();
ElementChanged(kTRUE, kTRUE);
}
void AliEveCosmicRayFitter::FitTrack()
{
static const TEveException eH("CosmicRayFitter::FitTrack ");
if(fLineFitter1) delete fLineFitter1;
if(fLineFitter2) delete fLineFitter2;
fLineFitter1 = new TLinearFitter(1, "hyp1");
fLineFitter2 = new TLinearFitter(1, "hyp1");
AliDebug(2, Form(" Selected %3d points:\n", fLastPoint+1));
Double_t *posXpoint = new Double_t[fLastPoint+1];
Double_t *posYpoint = new Double_t[fLastPoint+1];
Double_t *posZpoint = new Double_t[fLastPoint+1];
Double_t *errYpoint = new Double_t[fLastPoint+1];
Double_t *errZpoint = new Double_t[fLastPoint+1];
Double_t x, y, z;
for (Int_t i=0; i<=fLastPoint; i++) {
x=0., y=0., z=0.;
GetPoint(i, x, y, z);
posXpoint[i] = x;
posYpoint[i] = y;
posZpoint[i] = z;
errYpoint[i] = 10.;
errZpoint[i] = 10.;
AliDebug(2, Form("(%f, %f, %f) \n", posXpoint[i], posYpoint[i], posZpoint[i]));
}
fLineFitter1->AssignData(fLastPoint+1, 1, posXpoint, posYpoint, errYpoint);
fLineFitter2->AssignData(fLastPoint+1, 1, posXpoint, posZpoint, errZpoint);
Int_t fitResult1 = fLineFitter1->Eval();
Int_t fitResult2 = fLineFitter2->Eval();
if (fitResult1 || fitResult2)
throw(eH + Form(" linear fit result is not ok (%1i, %1i)", fitResult1, fitResult2));
delete [] posXpoint;
delete [] posYpoint;
delete [] posZpoint;
delete [] errYpoint;
delete [] errZpoint;
TVectorD params1;
TVectorD params2;
fLineFitter1->GetParameters(params1);
fLineFitter2->GetParameters(params2);
TEveRecTrack rc;
GetPoint(0, x, y, z);
y = params1(0) + x*params1(1);
z = params2(0) + x*params2(1);
rc.fV.Set(x, y, z);
rc.fP.Set(1, params1(1), params2(1));
AliEveTrack* track = new AliEveTrack(&rc, fTrackList->GetPropagator());
track->SetAttLineAttMarker(fTrackList);
TEveTrackPropagator* tp = fTrackList->GetPropagator();
tp->InitTrack(rc.fV, 0);
tp->GoToBounds(rc.fP);
rc.fP.Set(-1, -params1(1), -params2(1));
tp->InitTrack(rc.fV, 0);
tp->GoToBounds(rc.fP);
tp->FillPointSet(track);
tp->ResetTrack();
fTrackList->AddElement(track);
}
void AliEveCosmicRayFitter::DestroyElements()
{
TEveElement::DestroyElements();
gEve->AddElement(fTrackList, this);
fTrackList->DestroyElements();
}
void AliEveCosmicRayFitter::SumDistance3D(Int_t &, Double_t *, Double_t & sum, Double_t * par, Int_t )
{
TGraph2D * gr =
dynamic_cast<TGraph2D*>((TVirtualFitter::GetFitter())->GetObjectFit() );
assert(gr != 0);
Double_t * x = gr->GetX();
Double_t * y = gr->GetY();
Double_t * z = gr->GetZ();
Int_t npoints = gr->GetN();
sum = 0;
Double_t d = 0;
for (Int_t i = 0; i < npoints; ++i) {
d = Distance3D(x[i],y[i],z[i],par);
sum += d;
}
}
Double_t AliEveCosmicRayFitter::Distance3D(Double_t x, Double_t y, Double_t z, Double_t *p)
{
using namespace ROOT::Math;
XYZVector xp(x,y,z);
XYZVector x0(0., p[0], p[2]);
XYZVector x1(1., p[0] + p[1], p[2] + p[3]);
XYZVector u = (x1-x0).Unit();
Double_t d2 = ((xp-x0).Cross(u)) .Mag2();
return d2;
}
void AliEveCosmicRayFitter::DrawDebugGraph()
{
static const TEveException eH("CosmicRayFitter::DrawDebugGraph ");
if(fLineFitter1 == 0 || fLineFitter2 == 0)
throw(eH + "fitter not set.");
TVectorD params1;
TVectorD params2;
fLineFitter1->GetParameters(params1);
fLineFitter2->GetParameters(params2);
Int_t nR = fLastPoint+1;
Double_t *x = new Double_t[nR];
Double_t *y = new Double_t[nR];
Double_t *z = new Double_t[nR];
Float_t xx=0., yy=0., zz=0.;
for (Int_t i=0; i<nR; i++) {
GetPoint(i, xx, yy, zz);
x[i] = (Double_t)xx;
y[i] = (Double_t)yy;
z[i] = (Double_t)zz;
AliDebug(2, Form("%d (%f, %f, %f)\n", i, x[i], y[i], z[i]));
}
fGraphPicked1->Set(nR);
fGraphLinear1->Set(nR);
fGraphPicked2->Set(nR);
fGraphLinear2->Set(nR);
Double_t yCoor = 0.;
Double_t zCoor = 0.;
for (Int_t i=0; i<nR; i++)
{
yCoor = params1(0) + x[i]*params1(1);
zCoor = params2(0) + x[i]*params2(1);
fGraphPicked1->SetPoint(i, x[i], y[i]);
fGraphLinear1->SetPoint(i, x[i], yCoor);
fGraphLinear1->SetPointError(i, TMath::Abs(x[i])*0.001, TMath::Abs(yCoor)*0.05);
fGraphPicked2->SetPoint(i, x[i], z[i]);
fGraphLinear2->SetPoint(i, x[i], zCoor);
fGraphLinear2->SetPointError(i, TMath::Abs(x[i])*0.001, TMath::Abs(zCoor)*0.05);
}
delete [] x;
delete [] y;
delete [] z;
TCanvas * canvas = 0;
if (gPad) {
gPad->Clear();
canvas=gPad->GetCanvas();
}
if (gPad==0 || gPad->GetCanvas()->IsEditable() == kFALSE) {
canvas = new TCanvas("canvas", "CosmicRayFitter", 800, 400);
canvas->Clear();
}
canvas->SetHighLightColor(2);
canvas->Range(0,0,1,1);
canvas->SetFillColor(0);
canvas->SetBorderMode(0);
canvas->SetBorderSize(2);
TPad *canvas_1 = new TPad("canvas_1", "canvas_1",0.01,0.01,0.49,0.99);
canvas_1->Draw();
canvas_1->cd();
canvas_1->SetFillColor(0);
canvas_1->SetBorderSize(2);
canvas_1->SetFrameBorderMode(0);
fGraphPicked1->Draw("AP");
fGraphLinear1->Draw("SAME P");
canvas_1->Modified();
canvas->cd();
TPad *canvas_2 = new TPad("canvas_2", "canvas_2",0.51,0.01,0.99,0.99);
canvas_2->Draw();
canvas_2->cd();
canvas_2->SetFillColor(0);
canvas_2->SetBorderSize(2);
canvas_2->SetFrameBorderMode(0);
fGraphPicked2->Draw("AP");
fGraphLinear2->Draw("SAME P");
canvas_2->Modified();
canvas->cd();
}
AliEveCosmicRayFitter.cxx:1 AliEveCosmicRayFitter.cxx:2 AliEveCosmicRayFitter.cxx:3 AliEveCosmicRayFitter.cxx:4 AliEveCosmicRayFitter.cxx:5 AliEveCosmicRayFitter.cxx:6 AliEveCosmicRayFitter.cxx:7 AliEveCosmicRayFitter.cxx:8 AliEveCosmicRayFitter.cxx:9 AliEveCosmicRayFitter.cxx:10 AliEveCosmicRayFitter.cxx:11 AliEveCosmicRayFitter.cxx:12 AliEveCosmicRayFitter.cxx:13 AliEveCosmicRayFitter.cxx:14 AliEveCosmicRayFitter.cxx:15 AliEveCosmicRayFitter.cxx:16 AliEveCosmicRayFitter.cxx:17 AliEveCosmicRayFitter.cxx:18 AliEveCosmicRayFitter.cxx:19 AliEveCosmicRayFitter.cxx:20 AliEveCosmicRayFitter.cxx:21 AliEveCosmicRayFitter.cxx:22 AliEveCosmicRayFitter.cxx:23 AliEveCosmicRayFitter.cxx:24 AliEveCosmicRayFitter.cxx:25 AliEveCosmicRayFitter.cxx:26 AliEveCosmicRayFitter.cxx:27 AliEveCosmicRayFitter.cxx:28 AliEveCosmicRayFitter.cxx:29 AliEveCosmicRayFitter.cxx:30 AliEveCosmicRayFitter.cxx:31 AliEveCosmicRayFitter.cxx:32 AliEveCosmicRayFitter.cxx:33 AliEveCosmicRayFitter.cxx:34 AliEveCosmicRayFitter.cxx:35 AliEveCosmicRayFitter.cxx:36 AliEveCosmicRayFitter.cxx:37 AliEveCosmicRayFitter.cxx:38 AliEveCosmicRayFitter.cxx:39 AliEveCosmicRayFitter.cxx:40 AliEveCosmicRayFitter.cxx:41 AliEveCosmicRayFitter.cxx:42 AliEveCosmicRayFitter.cxx:43 AliEveCosmicRayFitter.cxx:44 AliEveCosmicRayFitter.cxx:45 AliEveCosmicRayFitter.cxx:46 AliEveCosmicRayFitter.cxx:47 AliEveCosmicRayFitter.cxx:48 AliEveCosmicRayFitter.cxx:49 AliEveCosmicRayFitter.cxx:50 AliEveCosmicRayFitter.cxx:51 AliEveCosmicRayFitter.cxx:52 AliEveCosmicRayFitter.cxx:53 AliEveCosmicRayFitter.cxx:54 AliEveCosmicRayFitter.cxx:55 AliEveCosmicRayFitter.cxx:56 AliEveCosmicRayFitter.cxx:57 AliEveCosmicRayFitter.cxx:58 AliEveCosmicRayFitter.cxx:59 AliEveCosmicRayFitter.cxx:60 AliEveCosmicRayFitter.cxx:61 AliEveCosmicRayFitter.cxx:62 AliEveCosmicRayFitter.cxx:63 AliEveCosmicRayFitter.cxx:64 AliEveCosmicRayFitter.cxx:65 AliEveCosmicRayFitter.cxx:66 AliEveCosmicRayFitter.cxx:67 AliEveCosmicRayFitter.cxx:68 AliEveCosmicRayFitter.cxx:69 AliEveCosmicRayFitter.cxx:70 AliEveCosmicRayFitter.cxx:71 AliEveCosmicRayFitter.cxx:72 AliEveCosmicRayFitter.cxx:73 AliEveCosmicRayFitter.cxx:74 AliEveCosmicRayFitter.cxx:75 AliEveCosmicRayFitter.cxx:76 AliEveCosmicRayFitter.cxx:77 AliEveCosmicRayFitter.cxx:78 AliEveCosmicRayFitter.cxx:79 AliEveCosmicRayFitter.cxx:80 AliEveCosmicRayFitter.cxx:81 AliEveCosmicRayFitter.cxx:82 AliEveCosmicRayFitter.cxx:83 AliEveCosmicRayFitter.cxx:84 AliEveCosmicRayFitter.cxx:85 AliEveCosmicRayFitter.cxx:86 AliEveCosmicRayFitter.cxx:87 AliEveCosmicRayFitter.cxx:88 AliEveCosmicRayFitter.cxx:89 AliEveCosmicRayFitter.cxx:90 AliEveCosmicRayFitter.cxx:91 AliEveCosmicRayFitter.cxx:92 AliEveCosmicRayFitter.cxx:93 AliEveCosmicRayFitter.cxx:94 AliEveCosmicRayFitter.cxx:95 AliEveCosmicRayFitter.cxx:96 AliEveCosmicRayFitter.cxx:97 AliEveCosmicRayFitter.cxx:98 AliEveCosmicRayFitter.cxx:99 AliEveCosmicRayFitter.cxx:100 AliEveCosmicRayFitter.cxx:101 AliEveCosmicRayFitter.cxx:102 AliEveCosmicRayFitter.cxx:103 AliEveCosmicRayFitter.cxx:104 AliEveCosmicRayFitter.cxx:105 AliEveCosmicRayFitter.cxx:106 AliEveCosmicRayFitter.cxx:107 AliEveCosmicRayFitter.cxx:108 AliEveCosmicRayFitter.cxx:109 AliEveCosmicRayFitter.cxx:110 AliEveCosmicRayFitter.cxx:111 AliEveCosmicRayFitter.cxx:112 AliEveCosmicRayFitter.cxx:113 AliEveCosmicRayFitter.cxx:114 AliEveCosmicRayFitter.cxx:115 AliEveCosmicRayFitter.cxx:116 AliEveCosmicRayFitter.cxx:117 AliEveCosmicRayFitter.cxx:118 AliEveCosmicRayFitter.cxx:119 AliEveCosmicRayFitter.cxx:120 AliEveCosmicRayFitter.cxx:121 AliEveCosmicRayFitter.cxx:122 AliEveCosmicRayFitter.cxx:123 AliEveCosmicRayFitter.cxx:124 AliEveCosmicRayFitter.cxx:125 AliEveCosmicRayFitter.cxx:126 AliEveCosmicRayFitter.cxx:127 AliEveCosmicRayFitter.cxx:128 AliEveCosmicRayFitter.cxx:129 AliEveCosmicRayFitter.cxx:130 AliEveCosmicRayFitter.cxx:131 AliEveCosmicRayFitter.cxx:132 AliEveCosmicRayFitter.cxx:133 AliEveCosmicRayFitter.cxx:134 AliEveCosmicRayFitter.cxx:135 AliEveCosmicRayFitter.cxx:136 AliEveCosmicRayFitter.cxx:137 AliEveCosmicRayFitter.cxx:138 AliEveCosmicRayFitter.cxx:139 AliEveCosmicRayFitter.cxx:140 AliEveCosmicRayFitter.cxx:141 AliEveCosmicRayFitter.cxx:142 AliEveCosmicRayFitter.cxx:143 AliEveCosmicRayFitter.cxx:144 AliEveCosmicRayFitter.cxx:145 AliEveCosmicRayFitter.cxx:146 AliEveCosmicRayFitter.cxx:147 AliEveCosmicRayFitter.cxx:148 AliEveCosmicRayFitter.cxx:149 AliEveCosmicRayFitter.cxx:150 AliEveCosmicRayFitter.cxx:151 AliEveCosmicRayFitter.cxx:152 AliEveCosmicRayFitter.cxx:153 AliEveCosmicRayFitter.cxx:154 AliEveCosmicRayFitter.cxx:155 AliEveCosmicRayFitter.cxx:156 AliEveCosmicRayFitter.cxx:157 AliEveCosmicRayFitter.cxx:158 AliEveCosmicRayFitter.cxx:159 AliEveCosmicRayFitter.cxx:160 AliEveCosmicRayFitter.cxx:161 AliEveCosmicRayFitter.cxx:162 AliEveCosmicRayFitter.cxx:163 AliEveCosmicRayFitter.cxx:164 AliEveCosmicRayFitter.cxx:165 AliEveCosmicRayFitter.cxx:166 AliEveCosmicRayFitter.cxx:167 AliEveCosmicRayFitter.cxx:168 AliEveCosmicRayFitter.cxx:169 AliEveCosmicRayFitter.cxx:170 AliEveCosmicRayFitter.cxx:171 AliEveCosmicRayFitter.cxx:172 AliEveCosmicRayFitter.cxx:173 AliEveCosmicRayFitter.cxx:174 AliEveCosmicRayFitter.cxx:175 AliEveCosmicRayFitter.cxx:176 AliEveCosmicRayFitter.cxx:177 AliEveCosmicRayFitter.cxx:178 AliEveCosmicRayFitter.cxx:179 AliEveCosmicRayFitter.cxx:180 AliEveCosmicRayFitter.cxx:181 AliEveCosmicRayFitter.cxx:182 AliEveCosmicRayFitter.cxx:183 AliEveCosmicRayFitter.cxx:184 AliEveCosmicRayFitter.cxx:185 AliEveCosmicRayFitter.cxx:186 AliEveCosmicRayFitter.cxx:187 AliEveCosmicRayFitter.cxx:188 AliEveCosmicRayFitter.cxx:189 AliEveCosmicRayFitter.cxx:190 AliEveCosmicRayFitter.cxx:191 AliEveCosmicRayFitter.cxx:192 AliEveCosmicRayFitter.cxx:193 AliEveCosmicRayFitter.cxx:194 AliEveCosmicRayFitter.cxx:195 AliEveCosmicRayFitter.cxx:196 AliEveCosmicRayFitter.cxx:197 AliEveCosmicRayFitter.cxx:198 AliEveCosmicRayFitter.cxx:199 AliEveCosmicRayFitter.cxx:200 AliEveCosmicRayFitter.cxx:201 AliEveCosmicRayFitter.cxx:202 AliEveCosmicRayFitter.cxx:203 AliEveCosmicRayFitter.cxx:204 AliEveCosmicRayFitter.cxx:205 AliEveCosmicRayFitter.cxx:206 AliEveCosmicRayFitter.cxx:207 AliEveCosmicRayFitter.cxx:208 AliEveCosmicRayFitter.cxx:209 AliEveCosmicRayFitter.cxx:210 AliEveCosmicRayFitter.cxx:211 AliEveCosmicRayFitter.cxx:212 AliEveCosmicRayFitter.cxx:213 AliEveCosmicRayFitter.cxx:214 AliEveCosmicRayFitter.cxx:215 AliEveCosmicRayFitter.cxx:216 AliEveCosmicRayFitter.cxx:217 AliEveCosmicRayFitter.cxx:218 AliEveCosmicRayFitter.cxx:219 AliEveCosmicRayFitter.cxx:220 AliEveCosmicRayFitter.cxx:221 AliEveCosmicRayFitter.cxx:222 AliEveCosmicRayFitter.cxx:223 AliEveCosmicRayFitter.cxx:224 AliEveCosmicRayFitter.cxx:225 AliEveCosmicRayFitter.cxx:226 AliEveCosmicRayFitter.cxx:227 AliEveCosmicRayFitter.cxx:228 AliEveCosmicRayFitter.cxx:229 AliEveCosmicRayFitter.cxx:230 AliEveCosmicRayFitter.cxx:231 AliEveCosmicRayFitter.cxx:232 AliEveCosmicRayFitter.cxx:233 AliEveCosmicRayFitter.cxx:234 AliEveCosmicRayFitter.cxx:235 AliEveCosmicRayFitter.cxx:236 AliEveCosmicRayFitter.cxx:237 AliEveCosmicRayFitter.cxx:238 AliEveCosmicRayFitter.cxx:239 AliEveCosmicRayFitter.cxx:240 AliEveCosmicRayFitter.cxx:241 AliEveCosmicRayFitter.cxx:242 AliEveCosmicRayFitter.cxx:243 AliEveCosmicRayFitter.cxx:244 AliEveCosmicRayFitter.cxx:245 AliEveCosmicRayFitter.cxx:246 AliEveCosmicRayFitter.cxx:247 AliEveCosmicRayFitter.cxx:248 AliEveCosmicRayFitter.cxx:249 AliEveCosmicRayFitter.cxx:250 AliEveCosmicRayFitter.cxx:251 AliEveCosmicRayFitter.cxx:252 AliEveCosmicRayFitter.cxx:253 AliEveCosmicRayFitter.cxx:254 AliEveCosmicRayFitter.cxx:255 AliEveCosmicRayFitter.cxx:256 AliEveCosmicRayFitter.cxx:257 AliEveCosmicRayFitter.cxx:258 AliEveCosmicRayFitter.cxx:259 AliEveCosmicRayFitter.cxx:260 AliEveCosmicRayFitter.cxx:261 AliEveCosmicRayFitter.cxx:262 AliEveCosmicRayFitter.cxx:263 AliEveCosmicRayFitter.cxx:264 AliEveCosmicRayFitter.cxx:265 AliEveCosmicRayFitter.cxx:266 AliEveCosmicRayFitter.cxx:267 AliEveCosmicRayFitter.cxx:268 AliEveCosmicRayFitter.cxx:269 AliEveCosmicRayFitter.cxx:270 AliEveCosmicRayFitter.cxx:271 AliEveCosmicRayFitter.cxx:272 AliEveCosmicRayFitter.cxx:273 AliEveCosmicRayFitter.cxx:274 AliEveCosmicRayFitter.cxx:275 AliEveCosmicRayFitter.cxx:276 AliEveCosmicRayFitter.cxx:277 AliEveCosmicRayFitter.cxx:278 AliEveCosmicRayFitter.cxx:279 AliEveCosmicRayFitter.cxx:280 AliEveCosmicRayFitter.cxx:281 AliEveCosmicRayFitter.cxx:282 AliEveCosmicRayFitter.cxx:283 AliEveCosmicRayFitter.cxx:284 AliEveCosmicRayFitter.cxx:285 AliEveCosmicRayFitter.cxx:286 AliEveCosmicRayFitter.cxx:287 AliEveCosmicRayFitter.cxx:288 AliEveCosmicRayFitter.cxx:289 AliEveCosmicRayFitter.cxx:290 AliEveCosmicRayFitter.cxx:291 AliEveCosmicRayFitter.cxx:292 AliEveCosmicRayFitter.cxx:293 AliEveCosmicRayFitter.cxx:294 AliEveCosmicRayFitter.cxx:295 AliEveCosmicRayFitter.cxx:296 AliEveCosmicRayFitter.cxx:297 AliEveCosmicRayFitter.cxx:298 AliEveCosmicRayFitter.cxx:299 AliEveCosmicRayFitter.cxx:300 AliEveCosmicRayFitter.cxx:301 AliEveCosmicRayFitter.cxx:302 AliEveCosmicRayFitter.cxx:303 AliEveCosmicRayFitter.cxx:304 AliEveCosmicRayFitter.cxx:305 AliEveCosmicRayFitter.cxx:306 AliEveCosmicRayFitter.cxx:307 AliEveCosmicRayFitter.cxx:308 AliEveCosmicRayFitter.cxx:309 AliEveCosmicRayFitter.cxx:310 AliEveCosmicRayFitter.cxx:311 AliEveCosmicRayFitter.cxx:312 AliEveCosmicRayFitter.cxx:313 AliEveCosmicRayFitter.cxx:314 AliEveCosmicRayFitter.cxx:315 AliEveCosmicRayFitter.cxx:316 AliEveCosmicRayFitter.cxx:317 AliEveCosmicRayFitter.cxx:318 AliEveCosmicRayFitter.cxx:319 AliEveCosmicRayFitter.cxx:320 AliEveCosmicRayFitter.cxx:321 AliEveCosmicRayFitter.cxx:322 AliEveCosmicRayFitter.cxx:323 AliEveCosmicRayFitter.cxx:324 AliEveCosmicRayFitter.cxx:325 AliEveCosmicRayFitter.cxx:326 AliEveCosmicRayFitter.cxx:327 AliEveCosmicRayFitter.cxx:328 AliEveCosmicRayFitter.cxx:329 AliEveCosmicRayFitter.cxx:330 AliEveCosmicRayFitter.cxx:331 AliEveCosmicRayFitter.cxx:332 AliEveCosmicRayFitter.cxx:333 AliEveCosmicRayFitter.cxx:334 AliEveCosmicRayFitter.cxx:335 AliEveCosmicRayFitter.cxx:336 AliEveCosmicRayFitter.cxx:337 AliEveCosmicRayFitter.cxx:338 AliEveCosmicRayFitter.cxx:339 AliEveCosmicRayFitter.cxx:340 AliEveCosmicRayFitter.cxx:341 AliEveCosmicRayFitter.cxx:342 AliEveCosmicRayFitter.cxx:343 AliEveCosmicRayFitter.cxx:344 AliEveCosmicRayFitter.cxx:345 AliEveCosmicRayFitter.cxx:346 AliEveCosmicRayFitter.cxx:347 AliEveCosmicRayFitter.cxx:348 AliEveCosmicRayFitter.cxx:349 AliEveCosmicRayFitter.cxx:350 AliEveCosmicRayFitter.cxx:351 AliEveCosmicRayFitter.cxx:352 AliEveCosmicRayFitter.cxx:353 AliEveCosmicRayFitter.cxx:354 AliEveCosmicRayFitter.cxx:355 AliEveCosmicRayFitter.cxx:356 AliEveCosmicRayFitter.cxx:357 AliEveCosmicRayFitter.cxx:358 AliEveCosmicRayFitter.cxx:359 AliEveCosmicRayFitter.cxx:360 AliEveCosmicRayFitter.cxx:361 AliEveCosmicRayFitter.cxx:362 AliEveCosmicRayFitter.cxx:363 AliEveCosmicRayFitter.cxx:364 AliEveCosmicRayFitter.cxx:365 AliEveCosmicRayFitter.cxx:366 AliEveCosmicRayFitter.cxx:367 AliEveCosmicRayFitter.cxx:368 AliEveCosmicRayFitter.cxx:369 AliEveCosmicRayFitter.cxx:370 AliEveCosmicRayFitter.cxx:371 AliEveCosmicRayFitter.cxx:372 AliEveCosmicRayFitter.cxx:373 AliEveCosmicRayFitter.cxx:374 AliEveCosmicRayFitter.cxx:375 AliEveCosmicRayFitter.cxx:376 AliEveCosmicRayFitter.cxx:377 AliEveCosmicRayFitter.cxx:378 AliEveCosmicRayFitter.cxx:379 AliEveCosmicRayFitter.cxx:380 AliEveCosmicRayFitter.cxx:381 AliEveCosmicRayFitter.cxx:382 AliEveCosmicRayFitter.cxx:383 AliEveCosmicRayFitter.cxx:384 AliEveCosmicRayFitter.cxx:385 AliEveCosmicRayFitter.cxx:386 AliEveCosmicRayFitter.cxx:387 AliEveCosmicRayFitter.cxx:388 AliEveCosmicRayFitter.cxx:389 AliEveCosmicRayFitter.cxx:390 AliEveCosmicRayFitter.cxx:391 AliEveCosmicRayFitter.cxx:392 AliEveCosmicRayFitter.cxx:393 AliEveCosmicRayFitter.cxx:394 AliEveCosmicRayFitter.cxx:395 AliEveCosmicRayFitter.cxx:396 AliEveCosmicRayFitter.cxx:397 AliEveCosmicRayFitter.cxx:398 AliEveCosmicRayFitter.cxx:399 AliEveCosmicRayFitter.cxx:400 AliEveCosmicRayFitter.cxx:401 AliEveCosmicRayFitter.cxx:402 AliEveCosmicRayFitter.cxx:403