#include "AliFMDMCTrackDensity.h"
#include "AliESDFMD.h"
#include "AliTrackReference.h"
#include <TMath.h>
#include "AliFMDStripIndex.h"
#include "AliLog.h"
#include <TH2D.h>
#include <TH1D.h>
#include <TList.h>
#include <TROOT.h>
#include <iostream>
void
AliFMDMCTrackDensity::State::Clear(Bool_t alsoCount)
{
angle = 0;
oldDetector = 0;
oldRing = '\0';
oldSector = 1024;
oldStrip = 1024;
startStrip = 1024;
nRefs = 0;
nStrips = 0;
longest = 0x0;
if (alsoCount) count = 0;
}
AliFMDMCTrackDensity::State&
AliFMDMCTrackDensity::State::operator=(const State& o)
{
if (&o == this) return *this;
angle = o.angle;
oldDetector = o.oldDetector;
oldRing = o.oldRing;
oldSector = o.oldSector;
oldStrip = o.oldStrip;
startStrip = o.startStrip;
nRefs = o.nRefs;
nStrips = o.nStrips;
count = o.count;
longest = o.longest;
return *this;
}
AliFMDMCTrackDensity::AliFMDMCTrackDensity()
: AliBaseMCTrackDensity(),
fState(),
fMaxConsequtiveStrips(3),
fNr(0),
fNt(0),
fNc(0),
fNcr(0),
fOutput(0)
{
}
AliFMDMCTrackDensity::AliFMDMCTrackDensity(const char*)
: AliBaseMCTrackDensity("fmdMCTrackDensity"),
fState(),
fMaxConsequtiveStrips(3),
fNr(0),
fNt(0),
fNc(0),
fNcr(0),
fOutput(0)
{
}
AliFMDMCTrackDensity::AliFMDMCTrackDensity(const AliFMDMCTrackDensity& o)
: AliBaseMCTrackDensity(o),
fState(o.fState),
fMaxConsequtiveStrips(o.fMaxConsequtiveStrips),
fNr(o.fNr),
fNt(o.fNt),
fNc(o.fNc),
fNcr(o.fNcr),
fOutput(o.fOutput)
{
}
AliFMDMCTrackDensity&
AliFMDMCTrackDensity::operator=(const AliFMDMCTrackDensity& o)
{
if (&o == this) return *this;
AliBaseMCTrackDensity::operator=(o);
fMaxConsequtiveStrips = o.fMaxConsequtiveStrips;
fNr = o.fNr;
fNt = o.fNt;
fNc = o.fNc;
fNcr = o.fNcr;
fState = o.fState;
fOutput = o.fOutput;
return *this;
}
void
AliFMDMCTrackDensity::CreateOutputObjects(TList* l)
{
AliBaseMCTrackDensity::CreateOutputObjects(l);
TList* ll = static_cast<TList*>(l->FindObject(GetTitle()));
if (!ll) ll = l;
fNr = new TH1D("clusterRefs", "# track references per cluster",
21, -.5, 20.5);
fNr->SetXTitle("# of track references/cluster");
fNr->SetFillColor(kRed+1);
fNr->SetFillStyle(3001);
fNr->SetDirectory(0);
ll->Add(fNr);
fNt = new TH1D("clusterSize", "cluster length in strips", 21, -.5, 20.5);
fNt->SetXTitle("Cluster size [strips]");
fNt->SetFillColor(kBlue+1);
fNt->SetFillStyle(3001);
fNt->SetDirectory(0);
ll->Add(fNt);
fNc = new TH1D("nClusters", "# clusters per track", 21, -.5, 20.5);
fNc->SetXTitle("# clusters");
fNc->SetFillColor(kGreen+1);
fNc->SetFillStyle(3001);
fNc->SetDirectory(0);
ll->Add(fNc);
fNcr = new TH2D("clusterVsRefs", "# clusters vs. # refs",
21, -.5, 20.5, 21, -.5, 20.5);
fNcr->SetXTitle("# References");
fNcr->SetYTitle("# Clusters");
fNcr->SetOption("COLZ");
fNcr->SetDirectory(0);
ll->Add(fNcr);
}
Int_t
AliFMDMCTrackDensity::GetDetectorId() const
{
return AliTrackReference::kFMD;
}
void
AliFMDMCTrackDensity::BeginTrackRefs()
{
fState.Clear(true);
}
void
AliFMDMCTrackDensity::EndTrackRefs(Int_t nRefs)
{
fNc->Fill(fState.count);
fNcr->Fill(nRefs, fState.count);
fState.Clear(true);
}
AliTrackReference*
AliFMDMCTrackDensity::ProcessRef(AliMCParticle* particle,
const AliMCParticle* mother,
AliTrackReference* ref)
{
UShort_t d, s, t;
Char_t r;
AliFMDStripIndex::Unpack(ref->UserId(), d, r, s, t);
UShort_t nT = TMath::Abs(t - fState.startStrip) + 1;
Bool_t used = false;
if (fState.oldDetector > 0 &&
fState.oldRing != '\0' &&
fState.oldSector != 1024) {
if (d != fState.oldDetector ||
r != fState.oldRing ||
s != fState.oldSector) {
if (fDebug) Info("Process", "New because new sector");
used = true;
}
else if (nT > fMaxConsequtiveStrips) {
if (fDebug) Info("Process", "New because too long: %d (%d,%d,%d)",
fState.nStrips, t, fState.oldStrip, fState.startStrip);
used = true;
}
}
if (used) {
if (fDebug)
Info("Process", "I=%p L=%p D=%d (was %d), R=%c (was %c), "
"S=%2d (was %2d) t=%3d (was %3d) nT=%3d/%4d",
ref, fState.longest,
d, fState.oldDetector,
r, fState.oldRing,
s, fState.oldSector,
t, fState.oldStrip,
fState.nStrips, fMaxConsequtiveStrips);
StoreParticle(particle, mother, fState.longest);
fState.Clear(false);
}
if (fState.startStrip == 1024) fState.startStrip = t;
fState.nStrips = TMath::Abs(t - fState.startStrip) + 1;
fState.nRefs++;
fState.oldDetector = d;
fState.oldRing = r;
fState.oldSector = s;
fState.oldStrip = t;
if (fDebug) {
if (t == fState.startStrip)
Info("Process", "New cluster starting at FMD%d%c[%2d,%3d]",
d, r, s, t);
else
Info("Process", "Adding to cluster starting at FMD%d%c[%2d,%3d], "
"length=%3d (now in %3d, previous %3d)",
d, r, s, fState.startStrip, fState.nStrips, t, fState.oldStrip);
}
Double_t ang = GetTrackRefTheta(ref);
if (ang > fState.angle) {
fState.longest = ref;
fState.angle = ang;
}
return fState.longest;
}
Double_t
AliFMDMCTrackDensity::StoreParticle(AliMCParticle* particle,
const AliMCParticle* mother,
AliTrackReference* ref) const
{
Double_t w =
AliBaseMCTrackDensity::StoreParticle(particle, mother, ref);
if (w <= 0) return w;
UShort_t d, s, t;
Char_t r;
AliFMDStripIndex::Unpack(ref->UserId(), d, r, s, t);
Double_t old = fOutput->Multiplicity(d,r,s,t);
if (old == AliESDFMD::kInvalidMult) old = 0;
fOutput->SetMultiplicity(d,r,s,t,old+w);
fNr->Fill(fState.nRefs);
fNt->Fill(fState.nStrips);
fState.count++;
return w;
}
Bool_t
AliFMDMCTrackDensity::Calculate(const AliESDFMD& input,
const AliMCEvent& event,
Double_t vz,
AliESDFMD& output,
TH2D* primary)
{
output.Clear();
fOutput = &output;
for (UShort_t ed = 1; ed <= 3; ed++) {
UShort_t nq = (ed == 1 ? 1 : 2);
for (UShort_t eq = 0; eq < nq; eq++) {
Char_t er = (eq == 0 ? 'I' : 'O');
UShort_t ns = (eq == 0 ? 20 : 40);
UShort_t nt = (eq == 0 ? 512 : 256);
for (UShort_t es = 0; es < ns; es++)
for (UShort_t et = 0; et < nt; et++)
output.SetEta(ed, er, es, et, input.Eta(ed, er, es, et));
}
}
return ProcessTracks(event, vz, primary);
}
#define PFV(N,VALUE) \
do { \
AliForwardUtil::PrintName(N); \
std::cout << (VALUE) << std::endl; } while(false)
void
AliFMDMCTrackDensity::Print(Option_t* option) const
{
AliBaseMCTrackDensity::Print(option);
gROOT->IncreaseDirLevel();
PFV("Max cluster size", fMaxConsequtiveStrips);
gROOT->DecreaseDirLevel();
}
AliFMDMCTrackDensity.cxx:1 AliFMDMCTrackDensity.cxx:2 AliFMDMCTrackDensity.cxx:3 AliFMDMCTrackDensity.cxx:4 AliFMDMCTrackDensity.cxx:5 AliFMDMCTrackDensity.cxx:6 AliFMDMCTrackDensity.cxx:7 AliFMDMCTrackDensity.cxx:8 AliFMDMCTrackDensity.cxx:9 AliFMDMCTrackDensity.cxx:10 AliFMDMCTrackDensity.cxx:11 AliFMDMCTrackDensity.cxx:12 AliFMDMCTrackDensity.cxx:13 AliFMDMCTrackDensity.cxx:14 AliFMDMCTrackDensity.cxx:15 AliFMDMCTrackDensity.cxx:16 AliFMDMCTrackDensity.cxx:17 AliFMDMCTrackDensity.cxx:18 AliFMDMCTrackDensity.cxx:19 AliFMDMCTrackDensity.cxx:20 AliFMDMCTrackDensity.cxx:21 AliFMDMCTrackDensity.cxx:22 AliFMDMCTrackDensity.cxx:23 AliFMDMCTrackDensity.cxx:24 AliFMDMCTrackDensity.cxx:25 AliFMDMCTrackDensity.cxx:26 AliFMDMCTrackDensity.cxx:27 AliFMDMCTrackDensity.cxx:28 AliFMDMCTrackDensity.cxx:29 AliFMDMCTrackDensity.cxx:30 AliFMDMCTrackDensity.cxx:31 AliFMDMCTrackDensity.cxx:32 AliFMDMCTrackDensity.cxx:33 AliFMDMCTrackDensity.cxx:34 AliFMDMCTrackDensity.cxx:35 AliFMDMCTrackDensity.cxx:36 AliFMDMCTrackDensity.cxx:37 AliFMDMCTrackDensity.cxx:38 AliFMDMCTrackDensity.cxx:39 AliFMDMCTrackDensity.cxx:40 AliFMDMCTrackDensity.cxx:41 AliFMDMCTrackDensity.cxx:42 AliFMDMCTrackDensity.cxx:43 AliFMDMCTrackDensity.cxx:44 AliFMDMCTrackDensity.cxx:45 AliFMDMCTrackDensity.cxx:46 AliFMDMCTrackDensity.cxx:47 AliFMDMCTrackDensity.cxx:48 AliFMDMCTrackDensity.cxx:49 AliFMDMCTrackDensity.cxx:50 AliFMDMCTrackDensity.cxx:51 AliFMDMCTrackDensity.cxx:52 AliFMDMCTrackDensity.cxx:53 AliFMDMCTrackDensity.cxx:54 AliFMDMCTrackDensity.cxx:55 AliFMDMCTrackDensity.cxx:56 AliFMDMCTrackDensity.cxx:57 AliFMDMCTrackDensity.cxx:58 AliFMDMCTrackDensity.cxx:59 AliFMDMCTrackDensity.cxx:60 AliFMDMCTrackDensity.cxx:61 AliFMDMCTrackDensity.cxx:62 AliFMDMCTrackDensity.cxx:63 AliFMDMCTrackDensity.cxx:64 AliFMDMCTrackDensity.cxx:65 AliFMDMCTrackDensity.cxx:66 AliFMDMCTrackDensity.cxx:67 AliFMDMCTrackDensity.cxx:68 AliFMDMCTrackDensity.cxx:69 AliFMDMCTrackDensity.cxx:70 AliFMDMCTrackDensity.cxx:71 AliFMDMCTrackDensity.cxx:72 AliFMDMCTrackDensity.cxx:73 AliFMDMCTrackDensity.cxx:74 AliFMDMCTrackDensity.cxx:75 AliFMDMCTrackDensity.cxx:76 AliFMDMCTrackDensity.cxx:77 AliFMDMCTrackDensity.cxx:78 AliFMDMCTrackDensity.cxx:79 AliFMDMCTrackDensity.cxx:80 AliFMDMCTrackDensity.cxx:81 AliFMDMCTrackDensity.cxx:82 AliFMDMCTrackDensity.cxx:83 AliFMDMCTrackDensity.cxx:84 AliFMDMCTrackDensity.cxx:85 AliFMDMCTrackDensity.cxx:86 AliFMDMCTrackDensity.cxx:87 AliFMDMCTrackDensity.cxx:88 AliFMDMCTrackDensity.cxx:89 AliFMDMCTrackDensity.cxx:90 AliFMDMCTrackDensity.cxx:91 AliFMDMCTrackDensity.cxx:92 AliFMDMCTrackDensity.cxx:93 AliFMDMCTrackDensity.cxx:94 AliFMDMCTrackDensity.cxx:95 AliFMDMCTrackDensity.cxx:96 AliFMDMCTrackDensity.cxx:97 AliFMDMCTrackDensity.cxx:98 AliFMDMCTrackDensity.cxx:99 AliFMDMCTrackDensity.cxx:100 AliFMDMCTrackDensity.cxx:101 AliFMDMCTrackDensity.cxx:102 AliFMDMCTrackDensity.cxx:103 AliFMDMCTrackDensity.cxx:104 AliFMDMCTrackDensity.cxx:105 AliFMDMCTrackDensity.cxx:106 AliFMDMCTrackDensity.cxx:107 AliFMDMCTrackDensity.cxx:108 AliFMDMCTrackDensity.cxx:109 AliFMDMCTrackDensity.cxx:110 AliFMDMCTrackDensity.cxx:111 AliFMDMCTrackDensity.cxx:112 AliFMDMCTrackDensity.cxx:113 AliFMDMCTrackDensity.cxx:114 AliFMDMCTrackDensity.cxx:115 AliFMDMCTrackDensity.cxx:116 AliFMDMCTrackDensity.cxx:117 AliFMDMCTrackDensity.cxx:118 AliFMDMCTrackDensity.cxx:119 AliFMDMCTrackDensity.cxx:120 AliFMDMCTrackDensity.cxx:121 AliFMDMCTrackDensity.cxx:122 AliFMDMCTrackDensity.cxx:123 AliFMDMCTrackDensity.cxx:124 AliFMDMCTrackDensity.cxx:125 AliFMDMCTrackDensity.cxx:126 AliFMDMCTrackDensity.cxx:127 AliFMDMCTrackDensity.cxx:128 AliFMDMCTrackDensity.cxx:129 AliFMDMCTrackDensity.cxx:130 AliFMDMCTrackDensity.cxx:131 AliFMDMCTrackDensity.cxx:132 AliFMDMCTrackDensity.cxx:133 AliFMDMCTrackDensity.cxx:134 AliFMDMCTrackDensity.cxx:135 AliFMDMCTrackDensity.cxx:136 AliFMDMCTrackDensity.cxx:137 AliFMDMCTrackDensity.cxx:138 AliFMDMCTrackDensity.cxx:139 AliFMDMCTrackDensity.cxx:140 AliFMDMCTrackDensity.cxx:141 AliFMDMCTrackDensity.cxx:142 AliFMDMCTrackDensity.cxx:143 AliFMDMCTrackDensity.cxx:144 AliFMDMCTrackDensity.cxx:145 AliFMDMCTrackDensity.cxx:146 AliFMDMCTrackDensity.cxx:147 AliFMDMCTrackDensity.cxx:148 AliFMDMCTrackDensity.cxx:149 AliFMDMCTrackDensity.cxx:150 AliFMDMCTrackDensity.cxx:151 AliFMDMCTrackDensity.cxx:152 AliFMDMCTrackDensity.cxx:153 AliFMDMCTrackDensity.cxx:154 AliFMDMCTrackDensity.cxx:155 AliFMDMCTrackDensity.cxx:156 AliFMDMCTrackDensity.cxx:157 AliFMDMCTrackDensity.cxx:158 AliFMDMCTrackDensity.cxx:159 AliFMDMCTrackDensity.cxx:160 AliFMDMCTrackDensity.cxx:161 AliFMDMCTrackDensity.cxx:162 AliFMDMCTrackDensity.cxx:163 AliFMDMCTrackDensity.cxx:164 AliFMDMCTrackDensity.cxx:165 AliFMDMCTrackDensity.cxx:166 AliFMDMCTrackDensity.cxx:167 AliFMDMCTrackDensity.cxx:168 AliFMDMCTrackDensity.cxx:169 AliFMDMCTrackDensity.cxx:170 AliFMDMCTrackDensity.cxx:171 AliFMDMCTrackDensity.cxx:172 AliFMDMCTrackDensity.cxx:173 AliFMDMCTrackDensity.cxx:174 AliFMDMCTrackDensity.cxx:175 AliFMDMCTrackDensity.cxx:176 AliFMDMCTrackDensity.cxx:177 AliFMDMCTrackDensity.cxx:178 AliFMDMCTrackDensity.cxx:179 AliFMDMCTrackDensity.cxx:180 AliFMDMCTrackDensity.cxx:181 AliFMDMCTrackDensity.cxx:182 AliFMDMCTrackDensity.cxx:183 AliFMDMCTrackDensity.cxx:184 AliFMDMCTrackDensity.cxx:185 AliFMDMCTrackDensity.cxx:186 AliFMDMCTrackDensity.cxx:187 AliFMDMCTrackDensity.cxx:188 AliFMDMCTrackDensity.cxx:189 AliFMDMCTrackDensity.cxx:190 AliFMDMCTrackDensity.cxx:191 AliFMDMCTrackDensity.cxx:192 AliFMDMCTrackDensity.cxx:193 AliFMDMCTrackDensity.cxx:194 AliFMDMCTrackDensity.cxx:195 AliFMDMCTrackDensity.cxx:196 AliFMDMCTrackDensity.cxx:197 AliFMDMCTrackDensity.cxx:198 AliFMDMCTrackDensity.cxx:199 AliFMDMCTrackDensity.cxx:200 AliFMDMCTrackDensity.cxx:201 AliFMDMCTrackDensity.cxx:202 AliFMDMCTrackDensity.cxx:203 AliFMDMCTrackDensity.cxx:204 AliFMDMCTrackDensity.cxx:205 AliFMDMCTrackDensity.cxx:206 AliFMDMCTrackDensity.cxx:207 AliFMDMCTrackDensity.cxx:208 AliFMDMCTrackDensity.cxx:209 AliFMDMCTrackDensity.cxx:210 AliFMDMCTrackDensity.cxx:211 AliFMDMCTrackDensity.cxx:212 AliFMDMCTrackDensity.cxx:213 AliFMDMCTrackDensity.cxx:214 AliFMDMCTrackDensity.cxx:215 AliFMDMCTrackDensity.cxx:216 AliFMDMCTrackDensity.cxx:217 AliFMDMCTrackDensity.cxx:218 AliFMDMCTrackDensity.cxx:219 AliFMDMCTrackDensity.cxx:220 AliFMDMCTrackDensity.cxx:221 AliFMDMCTrackDensity.cxx:222 AliFMDMCTrackDensity.cxx:223 AliFMDMCTrackDensity.cxx:224 AliFMDMCTrackDensity.cxx:225 AliFMDMCTrackDensity.cxx:226 AliFMDMCTrackDensity.cxx:227 AliFMDMCTrackDensity.cxx:228 AliFMDMCTrackDensity.cxx:229 AliFMDMCTrackDensity.cxx:230 AliFMDMCTrackDensity.cxx:231 AliFMDMCTrackDensity.cxx:232 AliFMDMCTrackDensity.cxx:233 AliFMDMCTrackDensity.cxx:234 AliFMDMCTrackDensity.cxx:235 AliFMDMCTrackDensity.cxx:236 AliFMDMCTrackDensity.cxx:237 AliFMDMCTrackDensity.cxx:238 AliFMDMCTrackDensity.cxx:239 AliFMDMCTrackDensity.cxx:240 AliFMDMCTrackDensity.cxx:241 AliFMDMCTrackDensity.cxx:242 AliFMDMCTrackDensity.cxx:243 AliFMDMCTrackDensity.cxx:244 AliFMDMCTrackDensity.cxx:245 AliFMDMCTrackDensity.cxx:246 AliFMDMCTrackDensity.cxx:247 AliFMDMCTrackDensity.cxx:248 AliFMDMCTrackDensity.cxx:249 AliFMDMCTrackDensity.cxx:250 AliFMDMCTrackDensity.cxx:251 AliFMDMCTrackDensity.cxx:252 AliFMDMCTrackDensity.cxx:253 AliFMDMCTrackDensity.cxx:254 AliFMDMCTrackDensity.cxx:255 AliFMDMCTrackDensity.cxx:256 AliFMDMCTrackDensity.cxx:257 AliFMDMCTrackDensity.cxx:258 AliFMDMCTrackDensity.cxx:259 AliFMDMCTrackDensity.cxx:260 AliFMDMCTrackDensity.cxx:261 AliFMDMCTrackDensity.cxx:262 AliFMDMCTrackDensity.cxx:263 AliFMDMCTrackDensity.cxx:264 AliFMDMCTrackDensity.cxx:265 AliFMDMCTrackDensity.cxx:266 AliFMDMCTrackDensity.cxx:267 AliFMDMCTrackDensity.cxx:268 AliFMDMCTrackDensity.cxx:269 AliFMDMCTrackDensity.cxx:270 AliFMDMCTrackDensity.cxx:271 AliFMDMCTrackDensity.cxx:272 AliFMDMCTrackDensity.cxx:273 AliFMDMCTrackDensity.cxx:274 AliFMDMCTrackDensity.cxx:275 AliFMDMCTrackDensity.cxx:276 AliFMDMCTrackDensity.cxx:277 AliFMDMCTrackDensity.cxx:278 AliFMDMCTrackDensity.cxx:279 AliFMDMCTrackDensity.cxx:280 AliFMDMCTrackDensity.cxx:281 AliFMDMCTrackDensity.cxx:282 AliFMDMCTrackDensity.cxx:283 AliFMDMCTrackDensity.cxx:284 AliFMDMCTrackDensity.cxx:285 AliFMDMCTrackDensity.cxx:286 AliFMDMCTrackDensity.cxx:287 AliFMDMCTrackDensity.cxx:288 AliFMDMCTrackDensity.cxx:289 AliFMDMCTrackDensity.cxx:290 AliFMDMCTrackDensity.cxx:291 AliFMDMCTrackDensity.cxx:292 AliFMDMCTrackDensity.cxx:293 AliFMDMCTrackDensity.cxx:294 AliFMDMCTrackDensity.cxx:295 AliFMDMCTrackDensity.cxx:296 AliFMDMCTrackDensity.cxx:297 AliFMDMCTrackDensity.cxx:298 AliFMDMCTrackDensity.cxx:299 AliFMDMCTrackDensity.cxx:300 AliFMDMCTrackDensity.cxx:301 AliFMDMCTrackDensity.cxx:302 AliFMDMCTrackDensity.cxx:303 AliFMDMCTrackDensity.cxx:304 AliFMDMCTrackDensity.cxx:305 AliFMDMCTrackDensity.cxx:306 AliFMDMCTrackDensity.cxx:307 AliFMDMCTrackDensity.cxx:308 AliFMDMCTrackDensity.cxx:309 AliFMDMCTrackDensity.cxx:310 AliFMDMCTrackDensity.cxx:311 AliFMDMCTrackDensity.cxx:312 AliFMDMCTrackDensity.cxx:313 AliFMDMCTrackDensity.cxx:314 AliFMDMCTrackDensity.cxx:315 AliFMDMCTrackDensity.cxx:316 AliFMDMCTrackDensity.cxx:317 AliFMDMCTrackDensity.cxx:318 AliFMDMCTrackDensity.cxx:319 AliFMDMCTrackDensity.cxx:320 AliFMDMCTrackDensity.cxx:321 AliFMDMCTrackDensity.cxx:322 AliFMDMCTrackDensity.cxx:323 AliFMDMCTrackDensity.cxx:324 AliFMDMCTrackDensity.cxx:325 AliFMDMCTrackDensity.cxx:326 AliFMDMCTrackDensity.cxx:327 AliFMDMCTrackDensity.cxx:328 AliFMDMCTrackDensity.cxx:329 AliFMDMCTrackDensity.cxx:330 AliFMDMCTrackDensity.cxx:331 AliFMDMCTrackDensity.cxx:332 AliFMDMCTrackDensity.cxx:333 AliFMDMCTrackDensity.cxx:334 AliFMDMCTrackDensity.cxx:335 AliFMDMCTrackDensity.cxx:336 AliFMDMCTrackDensity.cxx:337 AliFMDMCTrackDensity.cxx:338 AliFMDMCTrackDensity.cxx:339 AliFMDMCTrackDensity.cxx:340 AliFMDMCTrackDensity.cxx:341 AliFMDMCTrackDensity.cxx:342 AliFMDMCTrackDensity.cxx:343 AliFMDMCTrackDensity.cxx:344 AliFMDMCTrackDensity.cxx:345 AliFMDMCTrackDensity.cxx:346