#include <TTree.h> // ROOT_TTree
#include "AliFMDDebug.h"
#include "AliFMDHitDigitizer.h"
#include "AliFMD.h"
#include "AliFMDDigit.h"
#include "AliFMDParameters.h"
#include <AliRun.h>
#include <AliLoader.h>
#include <AliRunLoader.h>
#include <AliFMDHit.h>
#include <AliStack.h>
#include <TFile.h>
#include <TParticle.h>
ClassImp(AliFMDHitDigitizer)
#if 0
;
#endif
AliFMDHitDigitizer::AliFMDHitDigitizer(AliFMD* fmd, Output_t output)
: AliFMDBaseDigitizer("FMD", (output == kDigits ?
"FMD Hit->Digit digitizer" :
"FMD Hit->SDigit digitizer")),
fOutput(output),
fHoldTime(2e-6),
fStack(0)
{
fFMD = fmd;
}
AliFMDHitDigitizer&
AliFMDHitDigitizer::operator=(const AliFMDHitDigitizer& o)
{
if (&o == this) return *this;
AliFMDBaseDigitizer::operator=(o);
fHoldTime = o.fHoldTime;
fOutput = o.fOutput;
fStack = o.fStack;
return *this;
}
void
AliFMDHitDigitizer::Digitize(Option_t* )
{
AliFMDParameters::Instance()->Init();
if (AliLog::GetDebugLevel("FMD","") >= 10)
AliFMDParameters::Instance()->Print("ALL");
AliLoader* loader = fFMD->GetLoader();
if (!loader) {
AliError("Failed to get loader from detector object");
return;
}
loader->LoadHits("READ");
AliRunLoader* runLoader = loader->GetRunLoader();
if (!runLoader) {
AliError("Failed to get run loader from loader");
return;
}
Int_t nEvents = runLoader->GetNumberOfEvents();
for (Int_t event = 0; event < nEvents; event++) {
TFolder* folder = loader->GetEventFolder();
if (!folder) {
AliError("Failed to get event folder from loader");
return;
}
const char* loaderName = AliRunLoader::GetRunLoaderName();
AliRunLoader* thisLoader =
static_cast<AliRunLoader*>(folder->FindObject(loaderName));
if (!thisLoader) {
AliError(Form("Failed to get loader '%s' from event folder", loaderName));
return;
}
AliFMDDebug(1, ("Now digitizing (Hits->%s) event # %d",
(fOutput == kDigits ? "digits" : "sdigits"), event));
thisLoader->GetEvent(event);
fStack = 0;
if (fOutput == kSDigits) {
if (thisLoader->LoadKinematics("READ")) {
AliError("Failed to get kinematics from event loader");
return;
}
AliFMDDebug(5, ("Loading stack of kinematics"));
fStack = thisLoader->Stack();
}
if (!loader->TreeH() && loader->LoadHits()) {
AliError("Failed to load hits");
return;
}
TTree* hitsTree = loader->TreeH();
TBranch* hitsBranch = hitsTree->GetBranch(fFMD->GetName());
if (!hitsBranch) {
AliError("Failed to get hits branch in tree");
return;
}
TTree* outTree = MakeOutputTree(loader);
if (!outTree) {
AliError("Failed to get output tree");
return;
}
AliFMDDebug(5, ("Output tree name for %s is '%s'",
(fOutput == kDigits ? "digits" : "sdigits"),
outTree->GetName()));
if (AliLog::GetDebugLevel("FMD","") >= 5) {
TFile* file = outTree->GetCurrentFile();
if (!file) {
AliWarning("Output tree has no file!");
}
else {
AliFMDDebug(5, ("Output tree file %s content:", file->GetName()));
file->ls();
}
}
fFMD->SetTreeAddress();
SumContributions(hitsBranch);
loader->UnloadHits();
DigitizeHits();
Int_t write = outTree->Fill();
AliFMDDebug(5, ("Wrote %d bytes to digit tree", write));
StoreDigits(loader);
}
}
TTree*
AliFMDHitDigitizer::MakeOutputTree(AliLoader* loader)
{
if (fOutput == kDigits)
return AliFMDBaseDigitizer::MakeOutputTree(loader);
AliFMDDebug(5, ("Making sdigits tree"));
loader->LoadSDigits("UPDATE");
TTree* out = loader->TreeS();
if (!out) loader->MakeTree("S");
out = loader->TreeS();
if (out) {
out->Reset();
fFMD->MakeBranch("S");
}
return out;
}
void
AliFMDHitDigitizer::SumContributions(TBranch* hitsBranch)
{
fEdep.Reset();
AliFMDDebug(5, ("Get array of FMD hits"));
TClonesArray *fmdHits = fFMD->Hits();
AliFMDDebug(5, ("Get # of tracks"));
Int_t ntracks = Int_t(hitsBranch->GetEntries());
AliFMDDebug(5, ("We got %d tracks", ntracks));
Int_t read = 0;
for (Int_t track = 0; track < ntracks; track++) {
read += hitsBranch->GetEntry(track);
Int_t nhits = fmdHits->GetEntries ();
for (Int_t hit = 0; hit < nhits; hit++) {
AliFMDHit* fmdHit =
static_cast<AliFMDHit*>(fmdHits->UncheckedAt(hit));
if (fmdHit->Time() > fHoldTime) continue;
Bool_t isPrimary = kTRUE;
Int_t trackno = -1;
if (fStack) {
trackno = fmdHit->Track();
AliFMDDebug(10, ("Will get track # %d/%d from entry # %d",
trackno, fStack->GetNtrack(), track));
if (fStack->GetNtrack() < trackno) {
AliError(Form("Track number %d/%d out of bounds",
trackno, fStack->GetNtrack()));
continue;
}
#if 1
isPrimary = fStack->IsPhysicalPrimary(trackno);
#else // This is our hand-crafted code. We use the ALICE definition
TParticle* part = fStack->Particle(trackno);
isPrimary = part->IsPrimary();
if (!isPrimary) {
Int_t mother1 = part->GetFirstMother();
TParticle* mother = fStack->Particle(mother1);
if (!mother || mother->GetStatusCode() > 1)
isPrimary = kTRUE;
AliFMDDebug(15,
("Track %d secondary, mother: %d - %s - status %d: %s",
trackno, mother1,
(mother ? "found" : "not found"),
(mother ? mother->GetStatusCode() : -1),
(isPrimary ? "primary" : "secondary")));
}
#endif
}
AliFMDDebug(15,("Adding contribution %7.5f for FMD%d%c[%2d,%3d] "
" for trackno %6d (%s)",
fmdHit->Edep(),
fmdHit->Detector(),
fmdHit->Ring(),
fmdHit->Sector(),
fmdHit->Strip(),
trackno,
(isPrimary ? "primary" : "secondary")));
AddContribution(fmdHit->Detector(),
fmdHit->Ring(),
fmdHit->Sector(),
fmdHit->Strip(),
fmdHit->Edep(),
isPrimary,
1,
&trackno);
}
}
AliFMDDebug(5, ("Size of cache: %d bytes, read %d bytes",
int(sizeof(fEdep)), read));
}
UShort_t
AliFMDHitDigitizer::MakePedestal(UShort_t detector,
Char_t ring,
UShort_t sector,
UShort_t strip) const
{
if (fOutput == kSDigits) return 0;
return AliFMDBaseDigitizer::MakePedestal(detector, ring, sector, strip);
}
void
AliFMDHitDigitizer::AddDigit(UShort_t detector,
Char_t ring,
UShort_t sector,
UShort_t strip,
Float_t edep,
UShort_t count1,
Short_t count2,
Short_t count3,
Short_t count4,
UShort_t ntotal,
UShort_t nprim,
const TArrayI& refs) const
{
if (fOutput == kDigits) {
AliFMDDebug(15,("Adding digit for FMD%d%c[%2d,%3d] = (%x,%x,%x,%x)",
detector, ring, sector, strip,
count1, count2, count3, count4));
AliFMDBaseDigitizer::AddDigit(detector, ring, sector, strip, 0,
count1, count2, count3, count4,
ntotal, nprim, refs);
return;
}
if (edep <= 0) {
AliFMDDebug(15, ("Digit edep = %f <= 0 for FMD%d%c[%2d,%3d]",
edep, detector, ring, sector, strip));
return;
}
if (count1 == 0 && count2 <= 0 && count3 <= 0 && count4 <= 0) {
AliFMDDebug(15, ("Digit counts = (%x,%x,%x,%x) <= 0 for FMD%d%c[%2d,%3d]",
count1, count2, count3, count4,
detector, ring, sector, strip));
return;
}
AliFMDDebug(15, ("Adding sdigit for FMD%d%c[%2d,%3d] = "
"(%x,%x,%x,%x) [%d/%d] %d",
detector, ring, sector, strip,
count1, count2, count3, count4, nprim, ntotal, refs.fN));
fFMD->AddSDigitByFields(detector, ring, sector, strip, edep,
count1, count2, count3, count4,
ntotal, nprim, fStoreTrackRefs ? refs.fArray : 0);
if (fStoreTrackRefs && nprim > 3) fIgnoredLabels += nprim - 3;
}
void
AliFMDHitDigitizer::CheckDigit(AliFMDDigit* digit,
UShort_t nhits,
const TArrayI& counts)
{
AliFMDParameters* param = AliFMDParameters::Instance();
UShort_t det = digit->Detector();
Char_t ring = digit->Ring();
UShort_t sec = digit->Sector();
UShort_t str = digit->Strip();
Float_t mean = param->GetPedestal(det,ring,sec,str);
Float_t width = param->GetPedestalWidth(det,ring,sec,str);
UShort_t range = param->GetVA1MipRange();
UShort_t size = param->GetAltroChannelSize();
Int_t integral = counts[0];
if (counts[1] >= 0) integral += counts[1];
if (counts[2] >= 0) integral += counts[2];
if (counts[3] >= 0) integral += counts[3];
integral -= Int_t(mean + 2 * width);
if (integral < 0) integral = 0;
Float_t convF = Float_t(range) / size;
Float_t mips = integral * convF;
if (mips > Float_t(nhits) + .5 || mips < Float_t(nhits) - .5)
Warning("CheckDigit", "Digit -> %4.2f MIPS != %d +/- .5 hits",
mips, nhits);
}
void
AliFMDHitDigitizer::StoreDigits(const AliLoader* loader)
{
if (fOutput == kDigits) {
AliFMDBaseDigitizer::StoreDigits(loader);
return;
}
AliFMDDebug(5, ("Storing %d sdigits", fFMD->SDigits()->GetEntries()));
loader->WriteSDigits("OVERWRITE");
loader->UnloadSDigits();
fFMD->ResetSDigits();
}
AliFMDHitDigitizer.cxx:10 AliFMDHitDigitizer.cxx:11 AliFMDHitDigitizer.cxx:12 AliFMDHitDigitizer.cxx:13 AliFMDHitDigitizer.cxx:14 AliFMDHitDigitizer.cxx:15 AliFMDHitDigitizer.cxx:16 AliFMDHitDigitizer.cxx:17 AliFMDHitDigitizer.cxx:18 AliFMDHitDigitizer.cxx:19 AliFMDHitDigitizer.cxx:20 AliFMDHitDigitizer.cxx:21 AliFMDHitDigitizer.cxx:22 AliFMDHitDigitizer.cxx:23 AliFMDHitDigitizer.cxx:24 AliFMDHitDigitizer.cxx:25 AliFMDHitDigitizer.cxx:26 AliFMDHitDigitizer.cxx:27 AliFMDHitDigitizer.cxx:28 AliFMDHitDigitizer.cxx:29 AliFMDHitDigitizer.cxx:30 AliFMDHitDigitizer.cxx:31 AliFMDHitDigitizer.cxx:32 AliFMDHitDigitizer.cxx:33 AliFMDHitDigitizer.cxx:34 AliFMDHitDigitizer.cxx:35 AliFMDHitDigitizer.cxx:36 AliFMDHitDigitizer.cxx:37 AliFMDHitDigitizer.cxx:38 AliFMDHitDigitizer.cxx:39 AliFMDHitDigitizer.cxx:40 AliFMDHitDigitizer.cxx:41 AliFMDHitDigitizer.cxx:42 AliFMDHitDigitizer.cxx:43 AliFMDHitDigitizer.cxx:44 AliFMDHitDigitizer.cxx:45 AliFMDHitDigitizer.cxx:46 AliFMDHitDigitizer.cxx:47 AliFMDHitDigitizer.cxx:48 AliFMDHitDigitizer.cxx:49 AliFMDHitDigitizer.cxx:50 AliFMDHitDigitizer.cxx:51 AliFMDHitDigitizer.cxx:52 AliFMDHitDigitizer.cxx:53 AliFMDHitDigitizer.cxx:54 AliFMDHitDigitizer.cxx:55 AliFMDHitDigitizer.cxx:56 AliFMDHitDigitizer.cxx:57 AliFMDHitDigitizer.cxx:58 AliFMDHitDigitizer.cxx:59 AliFMDHitDigitizer.cxx:60 AliFMDHitDigitizer.cxx:61 AliFMDHitDigitizer.cxx:62 AliFMDHitDigitizer.cxx:63 AliFMDHitDigitizer.cxx:64 AliFMDHitDigitizer.cxx:65 AliFMDHitDigitizer.cxx:66 AliFMDHitDigitizer.cxx:67 AliFMDHitDigitizer.cxx:68 AliFMDHitDigitizer.cxx:69 AliFMDHitDigitizer.cxx:70 AliFMDHitDigitizer.cxx:71 AliFMDHitDigitizer.cxx:72 AliFMDHitDigitizer.cxx:73 AliFMDHitDigitizer.cxx:74 AliFMDHitDigitizer.cxx:75 AliFMDHitDigitizer.cxx:76 AliFMDHitDigitizer.cxx:77 AliFMDHitDigitizer.cxx:78 AliFMDHitDigitizer.cxx:79 AliFMDHitDigitizer.cxx:80 AliFMDHitDigitizer.cxx:81 AliFMDHitDigitizer.cxx:82 AliFMDHitDigitizer.cxx:83 AliFMDHitDigitizer.cxx:84 AliFMDHitDigitizer.cxx:85 AliFMDHitDigitizer.cxx:86 AliFMDHitDigitizer.cxx:87 AliFMDHitDigitizer.cxx:88 AliFMDHitDigitizer.cxx:89 AliFMDHitDigitizer.cxx:90 AliFMDHitDigitizer.cxx:91 AliFMDHitDigitizer.cxx:92 AliFMDHitDigitizer.cxx:93 AliFMDHitDigitizer.cxx:94 AliFMDHitDigitizer.cxx:95 AliFMDHitDigitizer.cxx:96 AliFMDHitDigitizer.cxx:97 AliFMDHitDigitizer.cxx:98 AliFMDHitDigitizer.cxx:99 AliFMDHitDigitizer.cxx:100 AliFMDHitDigitizer.cxx:101 AliFMDHitDigitizer.cxx:102 AliFMDHitDigitizer.cxx:103 AliFMDHitDigitizer.cxx:104 AliFMDHitDigitizer.cxx:105 AliFMDHitDigitizer.cxx:106 AliFMDHitDigitizer.cxx:107 AliFMDHitDigitizer.cxx:108 AliFMDHitDigitizer.cxx:109 AliFMDHitDigitizer.cxx:110 AliFMDHitDigitizer.cxx:111 AliFMDHitDigitizer.cxx:112 AliFMDHitDigitizer.cxx:113 AliFMDHitDigitizer.cxx:114 AliFMDHitDigitizer.cxx:115 AliFMDHitDigitizer.cxx:116 AliFMDHitDigitizer.cxx:117 AliFMDHitDigitizer.cxx:118 AliFMDHitDigitizer.cxx:119 AliFMDHitDigitizer.cxx:120 AliFMDHitDigitizer.cxx:121 AliFMDHitDigitizer.cxx:122 AliFMDHitDigitizer.cxx:123 AliFMDHitDigitizer.cxx:124 AliFMDHitDigitizer.cxx:125 AliFMDHitDigitizer.cxx:126 AliFMDHitDigitizer.cxx:127 AliFMDHitDigitizer.cxx:128 AliFMDHitDigitizer.cxx:129 AliFMDHitDigitizer.cxx:130 AliFMDHitDigitizer.cxx:131 AliFMDHitDigitizer.cxx:132 AliFMDHitDigitizer.cxx:133 AliFMDHitDigitizer.cxx:134 AliFMDHitDigitizer.cxx:135 AliFMDHitDigitizer.cxx:136 AliFMDHitDigitizer.cxx:137 AliFMDHitDigitizer.cxx:138 AliFMDHitDigitizer.cxx:139 AliFMDHitDigitizer.cxx:140 AliFMDHitDigitizer.cxx:141 AliFMDHitDigitizer.cxx:142 AliFMDHitDigitizer.cxx:143 AliFMDHitDigitizer.cxx:144 AliFMDHitDigitizer.cxx:145 AliFMDHitDigitizer.cxx:146 AliFMDHitDigitizer.cxx:147 AliFMDHitDigitizer.cxx:148 AliFMDHitDigitizer.cxx:149 AliFMDHitDigitizer.cxx:150 AliFMDHitDigitizer.cxx:151 AliFMDHitDigitizer.cxx:152 AliFMDHitDigitizer.cxx:153 AliFMDHitDigitizer.cxx:154 AliFMDHitDigitizer.cxx:155 AliFMDHitDigitizer.cxx:156 AliFMDHitDigitizer.cxx:157 AliFMDHitDigitizer.cxx:158 AliFMDHitDigitizer.cxx:159 AliFMDHitDigitizer.cxx:160 AliFMDHitDigitizer.cxx:161 AliFMDHitDigitizer.cxx:162 AliFMDHitDigitizer.cxx:163 AliFMDHitDigitizer.cxx:164 AliFMDHitDigitizer.cxx:165 AliFMDHitDigitizer.cxx:166 AliFMDHitDigitizer.cxx:167 AliFMDHitDigitizer.cxx:168 AliFMDHitDigitizer.cxx:169 AliFMDHitDigitizer.cxx:170 AliFMDHitDigitizer.cxx:171 AliFMDHitDigitizer.cxx:172 AliFMDHitDigitizer.cxx:173 AliFMDHitDigitizer.cxx:174 AliFMDHitDigitizer.cxx:175 AliFMDHitDigitizer.cxx:176 AliFMDHitDigitizer.cxx:177 AliFMDHitDigitizer.cxx:178 AliFMDHitDigitizer.cxx:179 AliFMDHitDigitizer.cxx:180 AliFMDHitDigitizer.cxx:181 AliFMDHitDigitizer.cxx:182 AliFMDHitDigitizer.cxx:183 AliFMDHitDigitizer.cxx:184 AliFMDHitDigitizer.cxx:185 AliFMDHitDigitizer.cxx:186 AliFMDHitDigitizer.cxx:187 AliFMDHitDigitizer.cxx:188 AliFMDHitDigitizer.cxx:189 AliFMDHitDigitizer.cxx:190 AliFMDHitDigitizer.cxx:191 AliFMDHitDigitizer.cxx:192 AliFMDHitDigitizer.cxx:193 AliFMDHitDigitizer.cxx:194 AliFMDHitDigitizer.cxx:195 AliFMDHitDigitizer.cxx:196 AliFMDHitDigitizer.cxx:197 AliFMDHitDigitizer.cxx:198 AliFMDHitDigitizer.cxx:199 AliFMDHitDigitizer.cxx:200 AliFMDHitDigitizer.cxx:201 AliFMDHitDigitizer.cxx:202 AliFMDHitDigitizer.cxx:203 AliFMDHitDigitizer.cxx:204 AliFMDHitDigitizer.cxx:205 AliFMDHitDigitizer.cxx:206 AliFMDHitDigitizer.cxx:207 AliFMDHitDigitizer.cxx:208 AliFMDHitDigitizer.cxx:209 AliFMDHitDigitizer.cxx:210 AliFMDHitDigitizer.cxx:211 AliFMDHitDigitizer.cxx:212 AliFMDHitDigitizer.cxx:213 AliFMDHitDigitizer.cxx:214 AliFMDHitDigitizer.cxx:215 AliFMDHitDigitizer.cxx:216 AliFMDHitDigitizer.cxx:217 AliFMDHitDigitizer.cxx:218 AliFMDHitDigitizer.cxx:219 AliFMDHitDigitizer.cxx:220 AliFMDHitDigitizer.cxx:221 AliFMDHitDigitizer.cxx:222 AliFMDHitDigitizer.cxx:223 AliFMDHitDigitizer.cxx:224 AliFMDHitDigitizer.cxx:225 AliFMDHitDigitizer.cxx:226 AliFMDHitDigitizer.cxx:227 AliFMDHitDigitizer.cxx:228 AliFMDHitDigitizer.cxx:229 AliFMDHitDigitizer.cxx:230 AliFMDHitDigitizer.cxx:231 AliFMDHitDigitizer.cxx:232 AliFMDHitDigitizer.cxx:233 AliFMDHitDigitizer.cxx:234 AliFMDHitDigitizer.cxx:235 AliFMDHitDigitizer.cxx:236 AliFMDHitDigitizer.cxx:237 AliFMDHitDigitizer.cxx:238 AliFMDHitDigitizer.cxx:239 AliFMDHitDigitizer.cxx:240 AliFMDHitDigitizer.cxx:241 AliFMDHitDigitizer.cxx:242 AliFMDHitDigitizer.cxx:243 AliFMDHitDigitizer.cxx:244 AliFMDHitDigitizer.cxx:245 AliFMDHitDigitizer.cxx:246 AliFMDHitDigitizer.cxx:247 AliFMDHitDigitizer.cxx:248 AliFMDHitDigitizer.cxx:249 AliFMDHitDigitizer.cxx:250 AliFMDHitDigitizer.cxx:251 AliFMDHitDigitizer.cxx:252 AliFMDHitDigitizer.cxx:253 AliFMDHitDigitizer.cxx:254 AliFMDHitDigitizer.cxx:255 AliFMDHitDigitizer.cxx:256 AliFMDHitDigitizer.cxx:257 AliFMDHitDigitizer.cxx:258 AliFMDHitDigitizer.cxx:259 AliFMDHitDigitizer.cxx:260 AliFMDHitDigitizer.cxx:261 AliFMDHitDigitizer.cxx:262 AliFMDHitDigitizer.cxx:263 AliFMDHitDigitizer.cxx:264 AliFMDHitDigitizer.cxx:265 AliFMDHitDigitizer.cxx:266 AliFMDHitDigitizer.cxx:267 AliFMDHitDigitizer.cxx:268 AliFMDHitDigitizer.cxx:269 AliFMDHitDigitizer.cxx:270 AliFMDHitDigitizer.cxx:271 AliFMDHitDigitizer.cxx:272 AliFMDHitDigitizer.cxx:273 AliFMDHitDigitizer.cxx:274 AliFMDHitDigitizer.cxx:275 AliFMDHitDigitizer.cxx:276 AliFMDHitDigitizer.cxx:277 AliFMDHitDigitizer.cxx:278 AliFMDHitDigitizer.cxx:279 AliFMDHitDigitizer.cxx:280 AliFMDHitDigitizer.cxx:281 AliFMDHitDigitizer.cxx:282 AliFMDHitDigitizer.cxx:283 AliFMDHitDigitizer.cxx:284 AliFMDHitDigitizer.cxx:285 AliFMDHitDigitizer.cxx:286 AliFMDHitDigitizer.cxx:287 AliFMDHitDigitizer.cxx:288 AliFMDHitDigitizer.cxx:289 AliFMDHitDigitizer.cxx:290 AliFMDHitDigitizer.cxx:291 AliFMDHitDigitizer.cxx:292 AliFMDHitDigitizer.cxx:293 AliFMDHitDigitizer.cxx:294 AliFMDHitDigitizer.cxx:295 AliFMDHitDigitizer.cxx:296 AliFMDHitDigitizer.cxx:297 AliFMDHitDigitizer.cxx:298 AliFMDHitDigitizer.cxx:299 AliFMDHitDigitizer.cxx:300 AliFMDHitDigitizer.cxx:301 AliFMDHitDigitizer.cxx:302 AliFMDHitDigitizer.cxx:303 AliFMDHitDigitizer.cxx:304 AliFMDHitDigitizer.cxx:305 AliFMDHitDigitizer.cxx:306 AliFMDHitDigitizer.cxx:307 AliFMDHitDigitizer.cxx:308 AliFMDHitDigitizer.cxx:309 AliFMDHitDigitizer.cxx:310 AliFMDHitDigitizer.cxx:311 AliFMDHitDigitizer.cxx:312 AliFMDHitDigitizer.cxx:313 AliFMDHitDigitizer.cxx:314 AliFMDHitDigitizer.cxx:315 AliFMDHitDigitizer.cxx:316 AliFMDHitDigitizer.cxx:317 AliFMDHitDigitizer.cxx:318 AliFMDHitDigitizer.cxx:319 AliFMDHitDigitizer.cxx:320 AliFMDHitDigitizer.cxx:321 AliFMDHitDigitizer.cxx:322 AliFMDHitDigitizer.cxx:323 AliFMDHitDigitizer.cxx:324 AliFMDHitDigitizer.cxx:325 AliFMDHitDigitizer.cxx:326 AliFMDHitDigitizer.cxx:327 AliFMDHitDigitizer.cxx:328 AliFMDHitDigitizer.cxx:329 AliFMDHitDigitizer.cxx:330 AliFMDHitDigitizer.cxx:331 AliFMDHitDigitizer.cxx:332 AliFMDHitDigitizer.cxx:333 AliFMDHitDigitizer.cxx:334 AliFMDHitDigitizer.cxx:335 AliFMDHitDigitizer.cxx:336 AliFMDHitDigitizer.cxx:337 AliFMDHitDigitizer.cxx:338 AliFMDHitDigitizer.cxx:339 AliFMDHitDigitizer.cxx:340 AliFMDHitDigitizer.cxx:341 AliFMDHitDigitizer.cxx:342 AliFMDHitDigitizer.cxx:343 AliFMDHitDigitizer.cxx:344 AliFMDHitDigitizer.cxx:345 AliFMDHitDigitizer.cxx:346 AliFMDHitDigitizer.cxx:347 AliFMDHitDigitizer.cxx:348 AliFMDHitDigitizer.cxx:349 AliFMDHitDigitizer.cxx:350 AliFMDHitDigitizer.cxx:351 AliFMDHitDigitizer.cxx:352 AliFMDHitDigitizer.cxx:353 AliFMDHitDigitizer.cxx:354 AliFMDHitDigitizer.cxx:355 AliFMDHitDigitizer.cxx:356 AliFMDHitDigitizer.cxx:357 AliFMDHitDigitizer.cxx:358 AliFMDHitDigitizer.cxx:359 AliFMDHitDigitizer.cxx:360 AliFMDHitDigitizer.cxx:361 AliFMDHitDigitizer.cxx:362 AliFMDHitDigitizer.cxx:363 AliFMDHitDigitizer.cxx:364 AliFMDHitDigitizer.cxx:365 AliFMDHitDigitizer.cxx:366 AliFMDHitDigitizer.cxx:367 AliFMDHitDigitizer.cxx:368 AliFMDHitDigitizer.cxx:369 AliFMDHitDigitizer.cxx:370 AliFMDHitDigitizer.cxx:371 AliFMDHitDigitizer.cxx:372 AliFMDHitDigitizer.cxx:373 AliFMDHitDigitizer.cxx:374 AliFMDHitDigitizer.cxx:375 AliFMDHitDigitizer.cxx:376 AliFMDHitDigitizer.cxx:377 AliFMDHitDigitizer.cxx:378 AliFMDHitDigitizer.cxx:379 AliFMDHitDigitizer.cxx:380 AliFMDHitDigitizer.cxx:381 AliFMDHitDigitizer.cxx:382 AliFMDHitDigitizer.cxx:383 AliFMDHitDigitizer.cxx:384 AliFMDHitDigitizer.cxx:385 AliFMDHitDigitizer.cxx:386 AliFMDHitDigitizer.cxx:387 AliFMDHitDigitizer.cxx:388 AliFMDHitDigitizer.cxx:389 AliFMDHitDigitizer.cxx:390 AliFMDHitDigitizer.cxx:391 AliFMDHitDigitizer.cxx:392 AliFMDHitDigitizer.cxx:393 AliFMDHitDigitizer.cxx:394 AliFMDHitDigitizer.cxx:395 AliFMDHitDigitizer.cxx:396 AliFMDHitDigitizer.cxx:397 AliFMDHitDigitizer.cxx:398 AliFMDHitDigitizer.cxx:399 AliFMDHitDigitizer.cxx:400 AliFMDHitDigitizer.cxx:401 AliFMDHitDigitizer.cxx:402 AliFMDHitDigitizer.cxx:403 AliFMDHitDigitizer.cxx:404 AliFMDHitDigitizer.cxx:405 AliFMDHitDigitizer.cxx:406 AliFMDHitDigitizer.cxx:407 AliFMDHitDigitizer.cxx:408 AliFMDHitDigitizer.cxx:409 AliFMDHitDigitizer.cxx:410 AliFMDHitDigitizer.cxx:411 AliFMDHitDigitizer.cxx:412 AliFMDHitDigitizer.cxx:413 AliFMDHitDigitizer.cxx:414 AliFMDHitDigitizer.cxx:415 AliFMDHitDigitizer.cxx:416 AliFMDHitDigitizer.cxx:417 AliFMDHitDigitizer.cxx:418 AliFMDHitDigitizer.cxx:419 AliFMDHitDigitizer.cxx:420 AliFMDHitDigitizer.cxx:421 AliFMDHitDigitizer.cxx:422 AliFMDHitDigitizer.cxx:423 AliFMDHitDigitizer.cxx:424 AliFMDHitDigitizer.cxx:425 AliFMDHitDigitizer.cxx:426 AliFMDHitDigitizer.cxx:427 AliFMDHitDigitizer.cxx:428 AliFMDHitDigitizer.cxx:429 AliFMDHitDigitizer.cxx:430 AliFMDHitDigitizer.cxx:431 AliFMDHitDigitizer.cxx:432 AliFMDHitDigitizer.cxx:433 AliFMDHitDigitizer.cxx:434 AliFMDHitDigitizer.cxx:435 AliFMDHitDigitizer.cxx:436 AliFMDHitDigitizer.cxx:437 AliFMDHitDigitizer.cxx:438 AliFMDHitDigitizer.cxx:439 AliFMDHitDigitizer.cxx:440 AliFMDHitDigitizer.cxx:441 AliFMDHitDigitizer.cxx:442 AliFMDHitDigitizer.cxx:443 AliFMDHitDigitizer.cxx:444 AliFMDHitDigitizer.cxx:445 AliFMDHitDigitizer.cxx:446 AliFMDHitDigitizer.cxx:447 AliFMDHitDigitizer.cxx:448 AliFMDHitDigitizer.cxx:449 AliFMDHitDigitizer.cxx:450 AliFMDHitDigitizer.cxx:451 AliFMDHitDigitizer.cxx:452 AliFMDHitDigitizer.cxx:453 AliFMDHitDigitizer.cxx:454 AliFMDHitDigitizer.cxx:455 AliFMDHitDigitizer.cxx:456 AliFMDHitDigitizer.cxx:457 AliFMDHitDigitizer.cxx:458 AliFMDHitDigitizer.cxx:459 AliFMDHitDigitizer.cxx:460 AliFMDHitDigitizer.cxx:461 AliFMDHitDigitizer.cxx:462 AliFMDHitDigitizer.cxx:463 AliFMDHitDigitizer.cxx:464 AliFMDHitDigitizer.cxx:465 AliFMDHitDigitizer.cxx:466 AliFMDHitDigitizer.cxx:467 AliFMDHitDigitizer.cxx:468 AliFMDHitDigitizer.cxx:469 AliFMDHitDigitizer.cxx:470 AliFMDHitDigitizer.cxx:471 AliFMDHitDigitizer.cxx:472 AliFMDHitDigitizer.cxx:473 AliFMDHitDigitizer.cxx:474 AliFMDHitDigitizer.cxx:475 AliFMDHitDigitizer.cxx:476 AliFMDHitDigitizer.cxx:477 AliFMDHitDigitizer.cxx:478 AliFMDHitDigitizer.cxx:479 AliFMDHitDigitizer.cxx:480 AliFMDHitDigitizer.cxx:481 AliFMDHitDigitizer.cxx:482 AliFMDHitDigitizer.cxx:483 AliFMDHitDigitizer.cxx:484 AliFMDHitDigitizer.cxx:485 AliFMDHitDigitizer.cxx:486 AliFMDHitDigitizer.cxx:487 AliFMDHitDigitizer.cxx:488 AliFMDHitDigitizer.cxx:489 AliFMDHitDigitizer.cxx:490 AliFMDHitDigitizer.cxx:491 AliFMDHitDigitizer.cxx:492 AliFMDHitDigitizer.cxx:493 AliFMDHitDigitizer.cxx:494 AliFMDHitDigitizer.cxx:495 AliFMDHitDigitizer.cxx:496 AliFMDHitDigitizer.cxx:497 AliFMDHitDigitizer.cxx:498 AliFMDHitDigitizer.cxx:499 AliFMDHitDigitizer.cxx:500 AliFMDHitDigitizer.cxx:501 AliFMDHitDigitizer.cxx:502 AliFMDHitDigitizer.cxx:503 AliFMDHitDigitizer.cxx:504 AliFMDHitDigitizer.cxx:505 AliFMDHitDigitizer.cxx:506 AliFMDHitDigitizer.cxx:507 AliFMDHitDigitizer.cxx:508 AliFMDHitDigitizer.cxx:509 AliFMDHitDigitizer.cxx:510 AliFMDHitDigitizer.cxx:511 AliFMDHitDigitizer.cxx:512 AliFMDHitDigitizer.cxx:513 AliFMDHitDigitizer.cxx:514 AliFMDHitDigitizer.cxx:515 AliFMDHitDigitizer.cxx:516 AliFMDHitDigitizer.cxx:517 AliFMDHitDigitizer.cxx:518 AliFMDHitDigitizer.cxx:519 AliFMDHitDigitizer.cxx:520 AliFMDHitDigitizer.cxx:521 AliFMDHitDigitizer.cxx:522 AliFMDHitDigitizer.cxx:523 AliFMDHitDigitizer.cxx:524 AliFMDHitDigitizer.cxx:525 AliFMDHitDigitizer.cxx:526 AliFMDHitDigitizer.cxx:527 AliFMDHitDigitizer.cxx:528 AliFMDHitDigitizer.cxx:529 AliFMDHitDigitizer.cxx:530 AliFMDHitDigitizer.cxx:531 AliFMDHitDigitizer.cxx:532 AliFMDHitDigitizer.cxx:533 AliFMDHitDigitizer.cxx:534 AliFMDHitDigitizer.cxx:535 AliFMDHitDigitizer.cxx:536 AliFMDHitDigitizer.cxx:537 AliFMDHitDigitizer.cxx:538 AliFMDHitDigitizer.cxx:539 AliFMDHitDigitizer.cxx:540 AliFMDHitDigitizer.cxx:541 AliFMDHitDigitizer.cxx:542 AliFMDHitDigitizer.cxx:543 AliFMDHitDigitizer.cxx:544 AliFMDHitDigitizer.cxx:545 AliFMDHitDigitizer.cxx:546 AliFMDHitDigitizer.cxx:547 AliFMDHitDigitizer.cxx:548 AliFMDHitDigitizer.cxx:549 AliFMDHitDigitizer.cxx:550 AliFMDHitDigitizer.cxx:551 AliFMDHitDigitizer.cxx:552 AliFMDHitDigitizer.cxx:553 AliFMDHitDigitizer.cxx:554 AliFMDHitDigitizer.cxx:555 AliFMDHitDigitizer.cxx:556 AliFMDHitDigitizer.cxx:557 AliFMDHitDigitizer.cxx:558 AliFMDHitDigitizer.cxx:559 AliFMDHitDigitizer.cxx:560 AliFMDHitDigitizer.cxx:561 AliFMDHitDigitizer.cxx:562 AliFMDHitDigitizer.cxx:563 AliFMDHitDigitizer.cxx:564 AliFMDHitDigitizer.cxx:565 AliFMDHitDigitizer.cxx:566 AliFMDHitDigitizer.cxx:567 AliFMDHitDigitizer.cxx:568 AliFMDHitDigitizer.cxx:569 AliFMDHitDigitizer.cxx:570 AliFMDHitDigitizer.cxx:571 AliFMDHitDigitizer.cxx:572 AliFMDHitDigitizer.cxx:573 AliFMDHitDigitizer.cxx:574 AliFMDHitDigitizer.cxx:575 AliFMDHitDigitizer.cxx:576 AliFMDHitDigitizer.cxx:577 AliFMDHitDigitizer.cxx:578 AliFMDHitDigitizer.cxx:579 AliFMDHitDigitizer.cxx:580 AliFMDHitDigitizer.cxx:581 AliFMDHitDigitizer.cxx:582 AliFMDHitDigitizer.cxx:583 AliFMDHitDigitizer.cxx:584 AliFMDHitDigitizer.cxx:585 AliFMDHitDigitizer.cxx:586 AliFMDHitDigitizer.cxx:587 AliFMDHitDigitizer.cxx:588 AliFMDHitDigitizer.cxx:589 AliFMDHitDigitizer.cxx:590 AliFMDHitDigitizer.cxx:591 AliFMDHitDigitizer.cxx:592 AliFMDHitDigitizer.cxx:593 AliFMDHitDigitizer.cxx:594