#include "AliEveTrackCounter.h"
#include "TEveManager.h"
#include "AliEveEventManager.h"
#include "AliEveTrack.h"
#include "AliEveTracklet.h"
#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliMultiplicity.h"
#include <TEveGedEditor.h>
#include <TFile.h>
ClassImp(AliEveTrackCounter)
AliEveTrackCounter* AliEveTrackCounter::fgInstance = 0;
Bool_t AliEveTrackCounter::IsActive()
{
return fgInstance && fgInstance->fActive;
}
AliEveTrackCounter::AliEveTrackCounter(const Text_t* name, const Text_t* title) :
TEveElement(),
TNamed(name, title),
fBadLineStyle (6),
fClickAction (kCA_ToggleTrack),
fEventId (-1),
fAllTracks (0), fGoodTracks (0),
fAllTracklets (0), fGoodTracklets(0),
fTrackLists (), fTrackletLists(),
fActive (kFALSE)
{
if (fgInstance == 0) fgInstance = this;
TQObject::Connect("AliEveTrack", "SecSelectedTrack(AliEveTrack*)",
"AliEveTrackCounter", this, "DoTrackAction(AliEveTrack*)");
TQObject::Connect("AliEveTracklet", "SecSelectedTracklet(AliEveTracklet*)",
"AliEveTrackCounter", this, "DoTrackletAction(AliEveTracklet*)");
AliEveEventManager::GetMaster()->Connect("NewEventDataLoaded()", "AliEveTrackCounter", this, "Reset()");
}
AliEveTrackCounter::~AliEveTrackCounter()
{
AliEveEventManager::GetMaster()->Disconnect("NewEventDataLoaded()", this);
TQObject::Disconnect("AliEveTrack", "DoTrackAction(AliEveTrack*)");
TQObject::Disconnect("AliEveTracklet", "DoTrackletAction(AliEveTracklet*)");
if (fgInstance == this) fgInstance = 0;
}
void AliEveTrackCounter::Reset()
{
fAllTracks = fGoodTracks = 0;
fAllTracklets = fGoodTracklets = 0;
{
TIter next(&fTrackLists);
TEveTrackList* tlist;
while ((tlist = dynamic_cast<TEveTrackList*>(next())))
tlist->DecDenyDestroy();
fTrackLists.Clear();
}
{
TIter next(&fTrackletLists);
TEveTrackList* tlist;
while ((tlist = dynamic_cast<TEveTrackList*>(next())))
tlist->DecDenyDestroy();
fTrackletLists.Clear();
}
fEventId = AliEveEventManager::GetMaster()->GetEventId();
}
void AliEveTrackCounter::RegisterTracks(TEveTrackList* tlist, Bool_t goodTracks)
{
tlist->IncDenyDestroy();
fTrackLists.Add(tlist);
List_i i = tlist->BeginChildren();
while (i != tlist->EndChildren())
{
AliEveTrack* t = dynamic_cast<AliEveTrack*>(*i);
if (t != 0)
{
if (goodTracks)
{
++fGoodTracks;
t->GetESDTrack()->SetLabel(3);
} else {
t->SetLineStyle(fBadLineStyle);
t->GetESDTrack()->SetLabel(0);
}
++fAllTracks;
}
++i;
}
}
void AliEveTrackCounter::RegisterTracklets(TEveTrackList* tlist, Bool_t goodTracks)
{
AliESDEvent *esd = AliEveEventManager::AssertESD();
AliMultiplicity *mul = const_cast<AliMultiplicity*>(esd->GetMultiplicity());
tlist->IncDenyDestroy();
fTrackletLists.Add(tlist);
List_i i = tlist->BeginChildren();
while (i != tlist->EndChildren())
{
AliEveTracklet* t = dynamic_cast<AliEveTracklet*>(*i);
if (t != 0)
{
if (goodTracks)
{
mul->SetLabel(t->GetIndex(), 0, 3);
++fGoodTracklets;
} else {
mul->SetLabel(t->GetIndex(), 0, 0);
t->SetLineStyle(fBadLineStyle);
}
++fAllTracklets;
}
++i;
}
}
void AliEveTrackCounter::DoTrackAction(AliEveTrack* track)
{
static const TEveException eh("AliEveTrackCounter::DoTrackAction ");
if (!fActive)
return;
switch (fClickAction)
{
case kCA_PrintTrackInfo:
{
printf("AliEveTrack '%s'\n", track->GetObject(eh)->GetName());
const TEveVector &v = track->GetVertex();
const TEveVector &p = track->GetMomentum();;
printf(" Vx=%f, Vy=%f, Vz=%f; Pt=%f, Pz=%f, phi=%f)\n",
v.fX, v.fY, v.fZ, p.Perp(), p.fZ, TMath::RadToDeg()*p.Phi());
break;
}
case kCA_ToggleTrack:
{
AliESDtrack *esdt = track->GetESDTrack();
if (track->GetLineStyle() == 1)
{
track->SetLineStyle(fBadLineStyle);
esdt->SetLabel(esdt->GetLabel() & ~1);
--fGoodTracks;
} else {
track->SetLineStyle(1);
esdt->SetLabel(esdt->GetLabel() | 1);
++fGoodTracks;
}
track->ElementChanged();
gEve->Redraw3D();
if (gEve->GetEditor()->GetModel() == GetObject(eh))
gEve->EditElement(this);
break;
}
}
}
void AliEveTrackCounter::DoTrackletAction(AliEveTracklet* track)
{
static const TEveException eh("AliEveTrackCounter::DoTrackletAction ");
if (!fActive)
return;
switch (fClickAction)
{
case kCA_PrintTrackInfo:
{
printf("AliEveTracklet '%s'\n", track->GetObject(eh)->GetName());
const TEveVector &v = track->GetVertex();
const TEveVector &p = track->GetMomentum();;
printf(" Vx=%f, Vy=%f, Vz=%f; Pt=%f, Pz=%f, phi=%f)\n",
v.fX, v.fY, v.fZ, p.Perp(), p.fZ, TMath::RadToDeg()*p.Phi());
break;
}
case kCA_ToggleTrack:
{
AliESDEvent *esd = AliEveEventManager::AssertESD();
AliMultiplicity *mul = const_cast<AliMultiplicity*>(esd->GetMultiplicity());
if (track->GetLineStyle() == 1)
{
track->SetLineStyle(fBadLineStyle);
mul->SetLabel(track->GetIndex(), 0, mul->GetLabel(track->GetIndex(), 0) & ~1);
--fGoodTracklets;
} else {
track->SetLineStyle(1);
mul->SetLabel(track->GetIndex(), 0, mul->GetLabel(track->GetIndex(), 0) | 1);
++fGoodTracklets;
}
track->ElementChanged();
gEve->Redraw3D();
if (gEve->GetEditor()->GetModel() == GetObject(eh))
gEve->EditElement(this);
break;
}
}
}
void AliEveTrackCounter::OutputEventTracks()
{
{
TFile *f = TFile::Open("scan_results.root", "UPDATE");
AliESDEvent *esd = AliEveEventManager::AssertESD();
TClonesArray *trk = static_cast<TClonesArray*> (esd->GetList()->FindObject("Tracks"));
AliMultiplicity *mul = const_cast <AliMultiplicity*>(esd->GetMultiplicity());
trk->Write(TString::Format("Tracks_%04d", fEventId), kWriteDelete | kSingleKey);
mul->Write(TString::Format("Tracklets_%04d", fEventId), kWriteDelete);
esd->GetPrimaryVertexTracks()->Write(TString::Format("PrimVertTracks_%04d", fEventId), kWriteDelete);
esd->GetPrimaryVertexTPC() ->Write(TString::Format("PrimVertTPC_%04d", fEventId), kWriteDelete);
esd->GetPrimaryVertexSPD() ->Write(TString::Format("PrimVertSPD_%04d", fEventId), kWriteDelete);
f->Close();
}
}
void AliEveTrackCounter::PrintEventTracks()
{
FILE* out = stdout;
fprintf(out, "AliEveTrackCounter::PrintEventTracks()\n");
fprintf(out, "Event=%d\n", fEventId);
fprintf(out, "GoodTracks=%d AllTracks=%d\n", fGoodTracks, fAllTracks);
{
TIter tlists(&fTrackLists);
TEveTrackList* tlist;
Int_t cnt = 0;
while ((tlist = (TEveTrackList*) tlists()) != 0)
{
List_i i = tlist->BeginChildren();
while (i != tlist->EndChildren())
{
AliEveTrack* t = dynamic_cast<AliEveTrack*>(*i);
if (t != 0 && t->GetLineStyle() == 1)
{
++cnt;
fprintf(out, " %2d: chg=%+2d pt=%8.5f eta=%+8.5f phi=%+8.5f\n",
cnt, t->GetCharge(), t->GetMomentum().Perp(),
t->GetMomentum().Eta(), t->GetMomentum().Phi());
}
++i;
}
}
}
fprintf(out, "GoodTracklets=%d AllTracklets=%d\n", fGoodTracklets, fAllTracklets);
{
TIter tlists(&fTrackletLists);
TEveTrackList* tlist;
Int_t cnt = 0;
while ((tlist = (TEveTrackList*) tlists()) != 0)
{
List_i i = tlist->BeginChildren();
while (i != tlist->EndChildren())
{
AliEveTracklet* t = dynamic_cast<AliEveTracklet*>(*i);
if (t != 0 && t->GetLineStyle() == 1)
{
++cnt;
fprintf(out, " %2d: theta=%+8.5f eta=%+8.5f phi=%+8.5f\n",
cnt, t->GetMomentum().Theta(), t->GetMomentum().Eta(), t->GetMomentum().Phi());
}
++i;
}
}
}
}
AliEveTrackCounter.cxx:10 AliEveTrackCounter.cxx:11 AliEveTrackCounter.cxx:12 AliEveTrackCounter.cxx:13 AliEveTrackCounter.cxx:14 AliEveTrackCounter.cxx:15 AliEveTrackCounter.cxx:16 AliEveTrackCounter.cxx:17 AliEveTrackCounter.cxx:18 AliEveTrackCounter.cxx:19 AliEveTrackCounter.cxx:20 AliEveTrackCounter.cxx:21 AliEveTrackCounter.cxx:22 AliEveTrackCounter.cxx:23 AliEveTrackCounter.cxx:24 AliEveTrackCounter.cxx:25 AliEveTrackCounter.cxx:26 AliEveTrackCounter.cxx:27 AliEveTrackCounter.cxx:28 AliEveTrackCounter.cxx:29 AliEveTrackCounter.cxx:30 AliEveTrackCounter.cxx:31 AliEveTrackCounter.cxx:32 AliEveTrackCounter.cxx:33 AliEveTrackCounter.cxx:34 AliEveTrackCounter.cxx:35 AliEveTrackCounter.cxx:36 AliEveTrackCounter.cxx:37 AliEveTrackCounter.cxx:38 AliEveTrackCounter.cxx:39 AliEveTrackCounter.cxx:40 AliEveTrackCounter.cxx:41 AliEveTrackCounter.cxx:42 AliEveTrackCounter.cxx:43 AliEveTrackCounter.cxx:44 AliEveTrackCounter.cxx:45 AliEveTrackCounter.cxx:46 AliEveTrackCounter.cxx:47 AliEveTrackCounter.cxx:48 AliEveTrackCounter.cxx:49 AliEveTrackCounter.cxx:50 AliEveTrackCounter.cxx:51 AliEveTrackCounter.cxx:52 AliEveTrackCounter.cxx:53 AliEveTrackCounter.cxx:54 AliEveTrackCounter.cxx:55 AliEveTrackCounter.cxx:56 AliEveTrackCounter.cxx:57 AliEveTrackCounter.cxx:58 AliEveTrackCounter.cxx:59 AliEveTrackCounter.cxx:60 AliEveTrackCounter.cxx:61 AliEveTrackCounter.cxx:62 AliEveTrackCounter.cxx:63 AliEveTrackCounter.cxx:64 AliEveTrackCounter.cxx:65 AliEveTrackCounter.cxx:66 AliEveTrackCounter.cxx:67 AliEveTrackCounter.cxx:68 AliEveTrackCounter.cxx:69 AliEveTrackCounter.cxx:70 AliEveTrackCounter.cxx:71 AliEveTrackCounter.cxx:72 AliEveTrackCounter.cxx:73 AliEveTrackCounter.cxx:74 AliEveTrackCounter.cxx:75 AliEveTrackCounter.cxx:76 AliEveTrackCounter.cxx:77 AliEveTrackCounter.cxx:78 AliEveTrackCounter.cxx:79 AliEveTrackCounter.cxx:80 AliEveTrackCounter.cxx:81 AliEveTrackCounter.cxx:82 AliEveTrackCounter.cxx:83 AliEveTrackCounter.cxx:84 AliEveTrackCounter.cxx:85 AliEveTrackCounter.cxx:86 AliEveTrackCounter.cxx:87 AliEveTrackCounter.cxx:88 AliEveTrackCounter.cxx:89 AliEveTrackCounter.cxx:90 AliEveTrackCounter.cxx:91 AliEveTrackCounter.cxx:92 AliEveTrackCounter.cxx:93 AliEveTrackCounter.cxx:94 AliEveTrackCounter.cxx:95 AliEveTrackCounter.cxx:96 AliEveTrackCounter.cxx:97 AliEveTrackCounter.cxx:98 AliEveTrackCounter.cxx:99 AliEveTrackCounter.cxx:100 AliEveTrackCounter.cxx:101 AliEveTrackCounter.cxx:102 AliEveTrackCounter.cxx:103 AliEveTrackCounter.cxx:104 AliEveTrackCounter.cxx:105 AliEveTrackCounter.cxx:106 AliEveTrackCounter.cxx:107 AliEveTrackCounter.cxx:108 AliEveTrackCounter.cxx:109 AliEveTrackCounter.cxx:110 AliEveTrackCounter.cxx:111 AliEveTrackCounter.cxx:112 AliEveTrackCounter.cxx:113 AliEveTrackCounter.cxx:114 AliEveTrackCounter.cxx:115 AliEveTrackCounter.cxx:116 AliEveTrackCounter.cxx:117 AliEveTrackCounter.cxx:118 AliEveTrackCounter.cxx:119 AliEveTrackCounter.cxx:120 AliEveTrackCounter.cxx:121 AliEveTrackCounter.cxx:122 AliEveTrackCounter.cxx:123 AliEveTrackCounter.cxx:124 AliEveTrackCounter.cxx:125 AliEveTrackCounter.cxx:126 AliEveTrackCounter.cxx:127 AliEveTrackCounter.cxx:128 AliEveTrackCounter.cxx:129 AliEveTrackCounter.cxx:130 AliEveTrackCounter.cxx:131 AliEveTrackCounter.cxx:132 AliEveTrackCounter.cxx:133 AliEveTrackCounter.cxx:134 AliEveTrackCounter.cxx:135 AliEveTrackCounter.cxx:136 AliEveTrackCounter.cxx:137 AliEveTrackCounter.cxx:138 AliEveTrackCounter.cxx:139 AliEveTrackCounter.cxx:140 AliEveTrackCounter.cxx:141 AliEveTrackCounter.cxx:142 AliEveTrackCounter.cxx:143 AliEveTrackCounter.cxx:144 AliEveTrackCounter.cxx:145 AliEveTrackCounter.cxx:146 AliEveTrackCounter.cxx:147 AliEveTrackCounter.cxx:148 AliEveTrackCounter.cxx:149 AliEveTrackCounter.cxx:150 AliEveTrackCounter.cxx:151 AliEveTrackCounter.cxx:152 AliEveTrackCounter.cxx:153 AliEveTrackCounter.cxx:154 AliEveTrackCounter.cxx:155 AliEveTrackCounter.cxx:156 AliEveTrackCounter.cxx:157 AliEveTrackCounter.cxx:158 AliEveTrackCounter.cxx:159 AliEveTrackCounter.cxx:160 AliEveTrackCounter.cxx:161 AliEveTrackCounter.cxx:162 AliEveTrackCounter.cxx:163 AliEveTrackCounter.cxx:164 AliEveTrackCounter.cxx:165 AliEveTrackCounter.cxx:166 AliEveTrackCounter.cxx:167 AliEveTrackCounter.cxx:168 AliEveTrackCounter.cxx:169 AliEveTrackCounter.cxx:170 AliEveTrackCounter.cxx:171 AliEveTrackCounter.cxx:172 AliEveTrackCounter.cxx:173 AliEveTrackCounter.cxx:174 AliEveTrackCounter.cxx:175 AliEveTrackCounter.cxx:176 AliEveTrackCounter.cxx:177 AliEveTrackCounter.cxx:178 AliEveTrackCounter.cxx:179 AliEveTrackCounter.cxx:180 AliEveTrackCounter.cxx:181 AliEveTrackCounter.cxx:182 AliEveTrackCounter.cxx:183 AliEveTrackCounter.cxx:184 AliEveTrackCounter.cxx:185 AliEveTrackCounter.cxx:186 AliEveTrackCounter.cxx:187 AliEveTrackCounter.cxx:188 AliEveTrackCounter.cxx:189 AliEveTrackCounter.cxx:190 AliEveTrackCounter.cxx:191 AliEveTrackCounter.cxx:192 AliEveTrackCounter.cxx:193 AliEveTrackCounter.cxx:194 AliEveTrackCounter.cxx:195 AliEveTrackCounter.cxx:196 AliEveTrackCounter.cxx:197 AliEveTrackCounter.cxx:198 AliEveTrackCounter.cxx:199 AliEveTrackCounter.cxx:200 AliEveTrackCounter.cxx:201 AliEveTrackCounter.cxx:202 AliEveTrackCounter.cxx:203 AliEveTrackCounter.cxx:204 AliEveTrackCounter.cxx:205 AliEveTrackCounter.cxx:206 AliEveTrackCounter.cxx:207 AliEveTrackCounter.cxx:208 AliEveTrackCounter.cxx:209 AliEveTrackCounter.cxx:210 AliEveTrackCounter.cxx:211 AliEveTrackCounter.cxx:212 AliEveTrackCounter.cxx:213 AliEveTrackCounter.cxx:214 AliEveTrackCounter.cxx:215 AliEveTrackCounter.cxx:216 AliEveTrackCounter.cxx:217 AliEveTrackCounter.cxx:218 AliEveTrackCounter.cxx:219 AliEveTrackCounter.cxx:220 AliEveTrackCounter.cxx:221 AliEveTrackCounter.cxx:222 AliEveTrackCounter.cxx:223 AliEveTrackCounter.cxx:224 AliEveTrackCounter.cxx:225 AliEveTrackCounter.cxx:226 AliEveTrackCounter.cxx:227 AliEveTrackCounter.cxx:228 AliEveTrackCounter.cxx:229 AliEveTrackCounter.cxx:230 AliEveTrackCounter.cxx:231 AliEveTrackCounter.cxx:232 AliEveTrackCounter.cxx:233 AliEveTrackCounter.cxx:234 AliEveTrackCounter.cxx:235 AliEveTrackCounter.cxx:236 AliEveTrackCounter.cxx:237 AliEveTrackCounter.cxx:238 AliEveTrackCounter.cxx:239 AliEveTrackCounter.cxx:240 AliEveTrackCounter.cxx:241 AliEveTrackCounter.cxx:242 AliEveTrackCounter.cxx:243 AliEveTrackCounter.cxx:244 AliEveTrackCounter.cxx:245 AliEveTrackCounter.cxx:246 AliEveTrackCounter.cxx:247 AliEveTrackCounter.cxx:248 AliEveTrackCounter.cxx:249 AliEveTrackCounter.cxx:250 AliEveTrackCounter.cxx:251 AliEveTrackCounter.cxx:252 AliEveTrackCounter.cxx:253 AliEveTrackCounter.cxx:254 AliEveTrackCounter.cxx:255 AliEveTrackCounter.cxx:256 AliEveTrackCounter.cxx:257 AliEveTrackCounter.cxx:258 AliEveTrackCounter.cxx:259 AliEveTrackCounter.cxx:260 AliEveTrackCounter.cxx:261 AliEveTrackCounter.cxx:262 AliEveTrackCounter.cxx:263 AliEveTrackCounter.cxx:264 AliEveTrackCounter.cxx:265 AliEveTrackCounter.cxx:266 AliEveTrackCounter.cxx:267 AliEveTrackCounter.cxx:268 AliEveTrackCounter.cxx:269 AliEveTrackCounter.cxx:270 AliEveTrackCounter.cxx:271 AliEveTrackCounter.cxx:272 AliEveTrackCounter.cxx:273 AliEveTrackCounter.cxx:274 AliEveTrackCounter.cxx:275 AliEveTrackCounter.cxx:276 AliEveTrackCounter.cxx:277 AliEveTrackCounter.cxx:278 AliEveTrackCounter.cxx:279 AliEveTrackCounter.cxx:280 AliEveTrackCounter.cxx:281 AliEveTrackCounter.cxx:282 AliEveTrackCounter.cxx:283 AliEveTrackCounter.cxx:284 AliEveTrackCounter.cxx:285 AliEveTrackCounter.cxx:286 AliEveTrackCounter.cxx:287 AliEveTrackCounter.cxx:288 AliEveTrackCounter.cxx:289 AliEveTrackCounter.cxx:290 AliEveTrackCounter.cxx:291 AliEveTrackCounter.cxx:292 AliEveTrackCounter.cxx:293 AliEveTrackCounter.cxx:294 AliEveTrackCounter.cxx:295 AliEveTrackCounter.cxx:296 AliEveTrackCounter.cxx:297 AliEveTrackCounter.cxx:298 AliEveTrackCounter.cxx:299 AliEveTrackCounter.cxx:300 AliEveTrackCounter.cxx:301 AliEveTrackCounter.cxx:302 AliEveTrackCounter.cxx:303 AliEveTrackCounter.cxx:304 AliEveTrackCounter.cxx:305 AliEveTrackCounter.cxx:306 AliEveTrackCounter.cxx:307 AliEveTrackCounter.cxx:308 AliEveTrackCounter.cxx:309 AliEveTrackCounter.cxx:310 AliEveTrackCounter.cxx:311 AliEveTrackCounter.cxx:312 AliEveTrackCounter.cxx:313 AliEveTrackCounter.cxx:314 AliEveTrackCounter.cxx:315 AliEveTrackCounter.cxx:316 AliEveTrackCounter.cxx:317 AliEveTrackCounter.cxx:318 AliEveTrackCounter.cxx:319 AliEveTrackCounter.cxx:320 AliEveTrackCounter.cxx:321 AliEveTrackCounter.cxx:322 AliEveTrackCounter.cxx:323 AliEveTrackCounter.cxx:324 AliEveTrackCounter.cxx:325 AliEveTrackCounter.cxx:326 AliEveTrackCounter.cxx:327 AliEveTrackCounter.cxx:328 AliEveTrackCounter.cxx:329 AliEveTrackCounter.cxx:330 AliEveTrackCounter.cxx:331 AliEveTrackCounter.cxx:332 AliEveTrackCounter.cxx:333 AliEveTrackCounter.cxx:334 AliEveTrackCounter.cxx:335 AliEveTrackCounter.cxx:336 AliEveTrackCounter.cxx:337 AliEveTrackCounter.cxx:338 AliEveTrackCounter.cxx:339 AliEveTrackCounter.cxx:340 AliEveTrackCounter.cxx:341 AliEveTrackCounter.cxx:342 AliEveTrackCounter.cxx:343 AliEveTrackCounter.cxx:344 AliEveTrackCounter.cxx:345 AliEveTrackCounter.cxx:346 AliEveTrackCounter.cxx:347 AliEveTrackCounter.cxx:348 AliEveTrackCounter.cxx:349 AliEveTrackCounter.cxx:350 AliEveTrackCounter.cxx:351 AliEveTrackCounter.cxx:352 AliEveTrackCounter.cxx:353 AliEveTrackCounter.cxx:354 AliEveTrackCounter.cxx:355 AliEveTrackCounter.cxx:356 AliEveTrackCounter.cxx:357 AliEveTrackCounter.cxx:358 AliEveTrackCounter.cxx:359 AliEveTrackCounter.cxx:360 AliEveTrackCounter.cxx:361 AliEveTrackCounter.cxx:362 AliEveTrackCounter.cxx:363 AliEveTrackCounter.cxx:364 AliEveTrackCounter.cxx:365 AliEveTrackCounter.cxx:366 AliEveTrackCounter.cxx:367 AliEveTrackCounter.cxx:368 AliEveTrackCounter.cxx:369 AliEveTrackCounter.cxx:370 AliEveTrackCounter.cxx:371 AliEveTrackCounter.cxx:372 AliEveTrackCounter.cxx:373 AliEveTrackCounter.cxx:374 AliEveTrackCounter.cxx:375 AliEveTrackCounter.cxx:376 AliEveTrackCounter.cxx:377 AliEveTrackCounter.cxx:378 AliEveTrackCounter.cxx:379 AliEveTrackCounter.cxx:380 AliEveTrackCounter.cxx:381 AliEveTrackCounter.cxx:382 AliEveTrackCounter.cxx:383 AliEveTrackCounter.cxx:384 AliEveTrackCounter.cxx:385 AliEveTrackCounter.cxx:386 AliEveTrackCounter.cxx:387