#include <TBenchmark.h>
#include <TBrowser.h>
#include <TMath.h>
#include <TROOT.h>
#include "stdlib.h"
#include "AliLog.h"
#include "AliRunLoader.h"
#include "AliStack.h"
#include "AliEMCALDigit.h"
#include "AliEMCALLoader.h"
#include "AliEMCALHit.h"
#include "AliEMCALSDigitizer.h"
#include "AliEMCALGeometry.h"
#include "AliEMCALSimParam.h"
ClassImp(AliEMCALSDigitizer)
AliEMCALSDigitizer::AliEMCALSDigitizer()
: TNamed("",""),
fA(0.),fB(0.),fECPrimThreshold(0.),
fDefaultInit(kTRUE),
fEventFolderName(0),
fInit(0),
fSDigitsInRun(0),
fFirstEvent(0),
fLastEvent(0),
fSampling(0.),
fHits(0)
{
InitParameters();
}
AliEMCALSDigitizer::AliEMCALSDigitizer(const char * alirunFileName,
const char * eventFolderName)
: TNamed("EMCALSDigitizer", alirunFileName),
fA(0.),fB(0.),fECPrimThreshold(0.),
fDefaultInit(kFALSE),
fEventFolderName(eventFolderName),
fInit(0),
fSDigitsInRun(0),
fFirstEvent(0),
fLastEvent(0),
fSampling(0.),
fHits(0)
{
Init();
InitParameters() ;
}
AliEMCALSDigitizer::AliEMCALSDigitizer(const AliEMCALSDigitizer & sd)
: TNamed(sd.GetName(),sd.GetTitle()),
fA(sd.fA),
fB(sd.fB),
fECPrimThreshold(sd.fECPrimThreshold),
fDefaultInit(sd.fDefaultInit),
fEventFolderName(sd.fEventFolderName),
fInit(sd.fInit),
fSDigitsInRun(sd.fSDigitsInRun),
fFirstEvent(sd.fFirstEvent),
fLastEvent(sd.fLastEvent),
fSampling(sd.fSampling),
fHits(0)
{
}
AliEMCALSDigitizer& AliEMCALSDigitizer::operator = (const AliEMCALSDigitizer& source)
{
if (&source == this) return *this;
new (this) AliEMCALSDigitizer(source);
return *this;
}
AliEMCALSDigitizer::~AliEMCALSDigitizer() {
if(fHits){
fHits->Clear();
delete fHits;
}
}
void AliEMCALSDigitizer::Init(){
fInit = kTRUE;
AliEMCALLoader *emcalLoader = dynamic_cast<AliEMCALLoader*>(AliRunLoader::Instance()->GetDetectorLoader("EMCAL"));
if ( emcalLoader == 0 ) {
Fatal("Init", "Could not obtain the AliEMCALLoader");
return ;
}
}
void AliEMCALSDigitizer::InitParameters()
{
const AliEMCALGeometry * geom = AliEMCALGeometry::GetInstance();
if (geom->GetSampling() == 0.) {
Fatal("InitParameters", "Sampling factor not set !") ;
}
AliRunLoader *rl = AliRunLoader::Instance();
AliEMCALLoader *emcalLoader = dynamic_cast<AliEMCALLoader*>(rl->GetDetectorLoader("EMCAL"));
AliEMCALSimParam * simParam = 0x0;
if(emcalLoader) simParam = emcalLoader->SimulationParameters();
if(!simParam){
simParam = AliEMCALSimParam::GetInstance();
AliWarning("Simulation Parameters not available in OCDB?");
}
fA = simParam->GetA();
fB = simParam->GetB();
fSampling = geom->GetSampling();
fECPrimThreshold = simParam->GetECPrimaryThreshold();
AliDebug(2,Form("Print: \n------------------- %s -------------\n",GetName()));
AliDebug(2,Form(" fInit %i\n", int(fInit)));
AliDebug(2,Form(" fFirstEvent %i\n", fFirstEvent));
AliDebug(2,Form(" fLastEvent %i\n", fLastEvent));
AliDebug(2,Form(" Writing SDigits to branch with title %s\n", fEventFolderName.Data()));
AliDebug(2,Form(" with digitization parameters A = %f\n", fA));
AliDebug(2,Form(" B = %f\n", fB));
AliDebug(2,Form(" Threshold for EC Primary assignment = %f\n", fECPrimThreshold));
AliDebug(2,Form(" Sampling = %f\n", fSampling));
AliDebug(2,Form("---------------------------------------------------\n"));
}
void AliEMCALSDigitizer::Digitize(Option_t *option)
{
TString o(option); o.ToUpper();
if (strstr(option, "print") ) {
AliDebug(2,Form("Print: \n------------------- %s -------------\n",GetName()));
AliDebug(2,Form(" fInit %i\n", int(fInit)));
AliDebug(2,Form(" fFirstEvent %i\n", fFirstEvent));
AliDebug(2,Form(" fLastEvent %i\n", fLastEvent));
AliDebug(2,Form(" Writing SDigits to branch with title %s\n", fEventFolderName.Data()));
AliDebug(2,Form(" with digitization parameters A = %f\n", fA));
AliDebug(2,Form(" B = %f\n", fB));
AliDebug(2,Form(" Threshold for EC Primary assignment = %f\n", fECPrimThreshold));
AliDebug(2,Form(" Sampling = %f\n", fSampling));
AliDebug(2,Form("---------------------------------------------------\n"));
return ;
}
if(strstr(option,"tim"))
gBenchmark->Start("EMCALSDigitizer");
AliRunLoader *rl = AliRunLoader::Instance();
AliEMCALLoader *emcalLoader = dynamic_cast<AliEMCALLoader*>(rl->GetDetectorLoader("EMCAL"));
if (!fInit) {
AliError( Form("Give a version name different from %s", fEventFolderName.Data()) ) ;
return ;
}
if (fLastEvent == -1)
fLastEvent = rl->GetNumberOfEvents() - 1 ;
else {
fLastEvent = TMath::Min(fLastEvent, rl->GetNumberOfEvents()-1);
}
Int_t nEvents = fLastEvent - fFirstEvent + 1;
Float_t energy=0.;
rl->LoadKinematics();
rl->LoadHits("EMCAL");
Int_t ievent;
for (ievent = fFirstEvent; ievent <= fLastEvent; ievent++) {
rl->GetEvent(ievent);
TTree * treeS = emcalLoader->TreeS();
if ( !treeS ) {
emcalLoader->MakeSDigitsContainer();
treeS = emcalLoader->TreeS();
}
TClonesArray * sdigits = emcalLoader->SDigits() ;
sdigits->Clear("C");
Int_t nSdigits = 0 ;
Int_t iHit, iTrack, iSDigit;
AliEMCALGeometry *geom = AliEMCALGeometry::GetInstance();
TTree *treeH = emcalLoader->TreeH();
if (treeH) {
Int_t nTrack = treeH->GetEntries();
TBranch * branchH = treeH->GetBranch("EMCAL");
branchH->SetAddress(&fHits);
for (iTrack = 0; iTrack < nTrack; iTrack++) {
branchH->GetEntry(iTrack);
if(fHits){
Int_t nHit = fHits->GetEntriesFast();
for(iHit = 0; iHit< nHit;iHit++){
AliEMCALHit * hit = dynamic_cast<AliEMCALHit*>(fHits->At(iHit)) ;
AliEMCALDigit * curSDigit = 0 ;
AliEMCALDigit * sdigit = 0 ;
Bool_t newsdigit = kTRUE;
if(hit){
if(geom->CheckAbsCellId(hit->GetId())) {
energy = hit->GetEnergy() * fSampling;
if(energy > fECPrimThreshold )
curSDigit = new AliEMCALDigit(hit->GetPrimary(),
hit->GetIparent(), hit->GetId(),
Digitize(energy), hit->GetTime(),kFALSE,
-1, 0,0,energy ) ;
else
curSDigit = new AliEMCALDigit(-1,
-1,
hit->GetId(),
Digitize(energy), hit->GetTime(),kFALSE,
-1, 0,0,energy ) ;
} else {
Warning("Digitize"," abs id %i is bad \n", hit->GetId());
newsdigit = kFALSE;
curSDigit = 0;
}
if(curSDigit != 0){
for(Int_t check= 0; check < nSdigits ; check++) {
sdigit = dynamic_cast<AliEMCALDigit *>(sdigits->At(check)) ;
if(sdigit){
if( sdigit->GetId() == curSDigit->GetId()) {
*sdigit = *sdigit + *curSDigit;
newsdigit = kFALSE;
}
}
else {
AliWarning("Sdigit do not exist");
newsdigit = kFALSE;
}
}
}
if (newsdigit) {
new((*sdigits)[nSdigits]) AliEMCALDigit(*curSDigit);
nSdigits++ ;
}
delete curSDigit ;
}
else AliFatal("Hit is NULL!");
}
}
else AliFatal("fHit is NULL!");
sdigits->Sort() ;
nSdigits = sdigits->GetEntriesFast() ;
fSDigitsInRun += nSdigits ;
for (iSDigit = 0 ; iSDigit < sdigits->GetEntriesFast() ; iSDigit++) {
AliEMCALDigit * sdigit = dynamic_cast<AliEMCALDigit *>(sdigits->At(iSDigit)) ;
if(sdigit)sdigit->SetIndexInList(iSDigit) ;
else AliFatal("sdigit is NULL!");
}
if(fHits)fHits->Clear();
}
}
Int_t bufferSize = 32000 ;
TBranch * sdigitsBranch = treeS->GetBranch("EMCAL");
if (sdigitsBranch)
sdigitsBranch->SetAddress(&sdigits);
else
treeS->Branch("EMCAL",&sdigits,bufferSize);
treeS->Fill();
emcalLoader->WriteSDigits("OVERWRITE");
if(strstr(option,"deb"))
PrintSDigits(option) ;
}
Unload();
if(strstr(option,"tim")){
gBenchmark->Stop("EMCALSDigitizer");
printf("\n Digitize: took %f seconds for SDigitizing %f seconds per event\n",
gBenchmark->GetCpuTime("EMCALSDigitizer"), gBenchmark->GetCpuTime("EMCALSDigitizer")/nEvents ) ;
}
}
Float_t AliEMCALSDigitizer::Digitize(Float_t energy)const {
Double_t aSignal = fA + energy*fB;
if (TMath::Abs(aSignal)>2147483647.0) {
AliWarning(Form("Too big or too small energy %f",aSignal));
aSignal = TMath::Sign((Double_t)2147483647,aSignal);
}
return (Float_t ) aSignal;
}
Float_t AliEMCALSDigitizer::Calibrate(Float_t amp)const {
return (Float_t)(amp - fA)/fB;
}
void AliEMCALSDigitizer::Print1(Option_t * option)
{
Print();
PrintSDigits(option);
}
void AliEMCALSDigitizer::Print(Option_t *option) const
{
printf("Print: \n------------------- %s ------------- option %s\n", GetName() , option) ;
printf(" fInit %i\n", int(fInit));
printf(" fFirstEvent %i\n", fFirstEvent);
printf(" fLastEvent %i\n", fLastEvent);
printf(" Writing SDigits to branch with title %s\n", fEventFolderName.Data()) ;
printf(" with digitization parameters A = %f\n", fA) ;
printf(" B = %f\n", fB) ;
printf(" Threshold for EC Primary assignment = %f\n", fECPrimThreshold) ;
printf(" Sampling = %f\n", fSampling);
printf("---------------------------------------------------\n") ;
}
Bool_t AliEMCALSDigitizer::operator==( AliEMCALSDigitizer const &sd )const
{
if( (fA==sd.fA)&&(fB==sd.fB)&&
(fECPrimThreshold==sd.fECPrimThreshold))
return kTRUE ;
else
return kFALSE ;
}
void AliEMCALSDigitizer::PrintSDigits(Option_t * option)
{
AliEMCALLoader *rl = dynamic_cast<AliEMCALLoader*>(AliRunLoader::Instance()->GetDetectorLoader("EMCAL"));
if(rl){
const TClonesArray * sdigits = rl->SDigits() ;
printf("\n") ;
printf("event %i", rl->GetRunLoader()->GetEventNumber());
printf(" Number of entries in SDigits list %i", sdigits->GetEntriesFast());
if(strstr(option,"all")||strstr(option,"EMC")){
AliEMCALDigit * digit;
printf("\n Id Amplitude Time Index Nprim: Primaries list \n") ;
Int_t index = 0;
Float_t isum = 0.;
const Int_t bufferSize = 8192;
char * tempo = new char[bufferSize];
for (index = 0 ; index < sdigits->GetEntries() ; index++) {
digit = dynamic_cast<AliEMCALDigit *>( sdigits->At(index) ) ;
if(digit){
snprintf(tempo, bufferSize,"\n%6d %8f %6.5e %4d %2d :",
digit->GetId(), digit->GetAmplitude(), digit->GetTime(), digit->GetIndexInList(), digit->GetNprimary()) ;
printf("%s",tempo);
isum += digit->GetAmplitude();
Int_t iprimary;
for (iprimary=0; iprimary<digit->GetNprimary(); iprimary++) {
snprintf(tempo,bufferSize, "%d ",digit->GetPrimary(iprimary+1) ) ;
printf("%s",tempo);
}
}
else AliFatal("SDigit is NULL!");
}
delete [] tempo ;
printf("\n** Sum %2.3f : %10.3f GeV/c **\n ", isum, Calibrate(isum));
} else printf("\n");
}
else AliFatal("EMCALLoader is NULL!");
}
void AliEMCALSDigitizer::Unload() const
{
AliEMCALLoader *rl = dynamic_cast<AliEMCALLoader*>(AliRunLoader::Instance()->GetDetectorLoader("EMCAL"));
if(rl){
rl->UnloadHits() ;
rl->UnloadSDigits() ;
}
else AliFatal("EMCALLoader is NULL!");
}
void AliEMCALSDigitizer::Browse(TBrowser* b)
{
TNamed::Browse(b);
}
AliEMCALSDigitizer.cxx:10 AliEMCALSDigitizer.cxx:11 AliEMCALSDigitizer.cxx:12 AliEMCALSDigitizer.cxx:13 AliEMCALSDigitizer.cxx:14 AliEMCALSDigitizer.cxx:15 AliEMCALSDigitizer.cxx:16 AliEMCALSDigitizer.cxx:17 AliEMCALSDigitizer.cxx:18 AliEMCALSDigitizer.cxx:19 AliEMCALSDigitizer.cxx:20 AliEMCALSDigitizer.cxx:21 AliEMCALSDigitizer.cxx:22 AliEMCALSDigitizer.cxx:23 AliEMCALSDigitizer.cxx:24 AliEMCALSDigitizer.cxx:25 AliEMCALSDigitizer.cxx:26 AliEMCALSDigitizer.cxx:27 AliEMCALSDigitizer.cxx:28 AliEMCALSDigitizer.cxx:29 AliEMCALSDigitizer.cxx:30 AliEMCALSDigitizer.cxx:31 AliEMCALSDigitizer.cxx:32 AliEMCALSDigitizer.cxx:33 AliEMCALSDigitizer.cxx:34 AliEMCALSDigitizer.cxx:35 AliEMCALSDigitizer.cxx:36 AliEMCALSDigitizer.cxx:37 AliEMCALSDigitizer.cxx:38 AliEMCALSDigitizer.cxx:39 AliEMCALSDigitizer.cxx:40 AliEMCALSDigitizer.cxx:41 AliEMCALSDigitizer.cxx:42 AliEMCALSDigitizer.cxx:43 AliEMCALSDigitizer.cxx:44 AliEMCALSDigitizer.cxx:45 AliEMCALSDigitizer.cxx:46 AliEMCALSDigitizer.cxx:47 AliEMCALSDigitizer.cxx:48 AliEMCALSDigitizer.cxx:49 AliEMCALSDigitizer.cxx:50 AliEMCALSDigitizer.cxx:51 AliEMCALSDigitizer.cxx:52 AliEMCALSDigitizer.cxx:53 AliEMCALSDigitizer.cxx:54 AliEMCALSDigitizer.cxx:55 AliEMCALSDigitizer.cxx:56 AliEMCALSDigitizer.cxx:57 AliEMCALSDigitizer.cxx:58 AliEMCALSDigitizer.cxx:59 AliEMCALSDigitizer.cxx:60 AliEMCALSDigitizer.cxx:61 AliEMCALSDigitizer.cxx:62 AliEMCALSDigitizer.cxx:63 AliEMCALSDigitizer.cxx:64 AliEMCALSDigitizer.cxx:65 AliEMCALSDigitizer.cxx:66 AliEMCALSDigitizer.cxx:67 AliEMCALSDigitizer.cxx:68 AliEMCALSDigitizer.cxx:69 AliEMCALSDigitizer.cxx:70 AliEMCALSDigitizer.cxx:71 AliEMCALSDigitizer.cxx:72 AliEMCALSDigitizer.cxx:73 AliEMCALSDigitizer.cxx:74 AliEMCALSDigitizer.cxx:75 AliEMCALSDigitizer.cxx:76 AliEMCALSDigitizer.cxx:77 AliEMCALSDigitizer.cxx:78 AliEMCALSDigitizer.cxx:79 AliEMCALSDigitizer.cxx:80 AliEMCALSDigitizer.cxx:81 AliEMCALSDigitizer.cxx:82 AliEMCALSDigitizer.cxx:83 AliEMCALSDigitizer.cxx:84 AliEMCALSDigitizer.cxx:85 AliEMCALSDigitizer.cxx:86 AliEMCALSDigitizer.cxx:87 AliEMCALSDigitizer.cxx:88 AliEMCALSDigitizer.cxx:89 AliEMCALSDigitizer.cxx:90 AliEMCALSDigitizer.cxx:91 AliEMCALSDigitizer.cxx:92 AliEMCALSDigitizer.cxx:93 AliEMCALSDigitizer.cxx:94 AliEMCALSDigitizer.cxx:95 AliEMCALSDigitizer.cxx:96 AliEMCALSDigitizer.cxx:97 AliEMCALSDigitizer.cxx:98 AliEMCALSDigitizer.cxx:99 AliEMCALSDigitizer.cxx:100 AliEMCALSDigitizer.cxx:101 AliEMCALSDigitizer.cxx:102 AliEMCALSDigitizer.cxx:103 AliEMCALSDigitizer.cxx:104 AliEMCALSDigitizer.cxx:105 AliEMCALSDigitizer.cxx:106 AliEMCALSDigitizer.cxx:107 AliEMCALSDigitizer.cxx:108 AliEMCALSDigitizer.cxx:109 AliEMCALSDigitizer.cxx:110 AliEMCALSDigitizer.cxx:111 AliEMCALSDigitizer.cxx:112 AliEMCALSDigitizer.cxx:113 AliEMCALSDigitizer.cxx:114 AliEMCALSDigitizer.cxx:115 AliEMCALSDigitizer.cxx:116 AliEMCALSDigitizer.cxx:117 AliEMCALSDigitizer.cxx:118 AliEMCALSDigitizer.cxx:119 AliEMCALSDigitizer.cxx:120 AliEMCALSDigitizer.cxx:121 AliEMCALSDigitizer.cxx:122 AliEMCALSDigitizer.cxx:123 AliEMCALSDigitizer.cxx:124 AliEMCALSDigitizer.cxx:125 AliEMCALSDigitizer.cxx:126 AliEMCALSDigitizer.cxx:127 AliEMCALSDigitizer.cxx:128 AliEMCALSDigitizer.cxx:129 AliEMCALSDigitizer.cxx:130 AliEMCALSDigitizer.cxx:131 AliEMCALSDigitizer.cxx:132 AliEMCALSDigitizer.cxx:133 AliEMCALSDigitizer.cxx:134 AliEMCALSDigitizer.cxx:135 AliEMCALSDigitizer.cxx:136 AliEMCALSDigitizer.cxx:137 AliEMCALSDigitizer.cxx:138 AliEMCALSDigitizer.cxx:139 AliEMCALSDigitizer.cxx:140 AliEMCALSDigitizer.cxx:141 AliEMCALSDigitizer.cxx:142 AliEMCALSDigitizer.cxx:143 AliEMCALSDigitizer.cxx:144 AliEMCALSDigitizer.cxx:145 AliEMCALSDigitizer.cxx:146 AliEMCALSDigitizer.cxx:147 AliEMCALSDigitizer.cxx:148 AliEMCALSDigitizer.cxx:149 AliEMCALSDigitizer.cxx:150 AliEMCALSDigitizer.cxx:151 AliEMCALSDigitizer.cxx:152 AliEMCALSDigitizer.cxx:153 AliEMCALSDigitizer.cxx:154 AliEMCALSDigitizer.cxx:155 AliEMCALSDigitizer.cxx:156 AliEMCALSDigitizer.cxx:157 AliEMCALSDigitizer.cxx:158 AliEMCALSDigitizer.cxx:159 AliEMCALSDigitizer.cxx:160 AliEMCALSDigitizer.cxx:161 AliEMCALSDigitizer.cxx:162 AliEMCALSDigitizer.cxx:163 AliEMCALSDigitizer.cxx:164 AliEMCALSDigitizer.cxx:165 AliEMCALSDigitizer.cxx:166 AliEMCALSDigitizer.cxx:167 AliEMCALSDigitizer.cxx:168 AliEMCALSDigitizer.cxx:169 AliEMCALSDigitizer.cxx:170 AliEMCALSDigitizer.cxx:171 AliEMCALSDigitizer.cxx:172 AliEMCALSDigitizer.cxx:173 AliEMCALSDigitizer.cxx:174 AliEMCALSDigitizer.cxx:175 AliEMCALSDigitizer.cxx:176 AliEMCALSDigitizer.cxx:177 AliEMCALSDigitizer.cxx:178 AliEMCALSDigitizer.cxx:179 AliEMCALSDigitizer.cxx:180 AliEMCALSDigitizer.cxx:181 AliEMCALSDigitizer.cxx:182 AliEMCALSDigitizer.cxx:183 AliEMCALSDigitizer.cxx:184 AliEMCALSDigitizer.cxx:185 AliEMCALSDigitizer.cxx:186 AliEMCALSDigitizer.cxx:187 AliEMCALSDigitizer.cxx:188 AliEMCALSDigitizer.cxx:189 AliEMCALSDigitizer.cxx:190 AliEMCALSDigitizer.cxx:191 AliEMCALSDigitizer.cxx:192 AliEMCALSDigitizer.cxx:193 AliEMCALSDigitizer.cxx:194 AliEMCALSDigitizer.cxx:195 AliEMCALSDigitizer.cxx:196 AliEMCALSDigitizer.cxx:197 AliEMCALSDigitizer.cxx:198 AliEMCALSDigitizer.cxx:199 AliEMCALSDigitizer.cxx:200 AliEMCALSDigitizer.cxx:201 AliEMCALSDigitizer.cxx:202 AliEMCALSDigitizer.cxx:203 AliEMCALSDigitizer.cxx:204 AliEMCALSDigitizer.cxx:205 AliEMCALSDigitizer.cxx:206 AliEMCALSDigitizer.cxx:207 AliEMCALSDigitizer.cxx:208 AliEMCALSDigitizer.cxx:209 AliEMCALSDigitizer.cxx:210 AliEMCALSDigitizer.cxx:211 AliEMCALSDigitizer.cxx:212 AliEMCALSDigitizer.cxx:213 AliEMCALSDigitizer.cxx:214 AliEMCALSDigitizer.cxx:215 AliEMCALSDigitizer.cxx:216 AliEMCALSDigitizer.cxx:217 AliEMCALSDigitizer.cxx:218 AliEMCALSDigitizer.cxx:219 AliEMCALSDigitizer.cxx:220 AliEMCALSDigitizer.cxx:221 AliEMCALSDigitizer.cxx:222 AliEMCALSDigitizer.cxx:223 AliEMCALSDigitizer.cxx:224 AliEMCALSDigitizer.cxx:225 AliEMCALSDigitizer.cxx:226 AliEMCALSDigitizer.cxx:227 AliEMCALSDigitizer.cxx:228 AliEMCALSDigitizer.cxx:229 AliEMCALSDigitizer.cxx:230 AliEMCALSDigitizer.cxx:231 AliEMCALSDigitizer.cxx:232 AliEMCALSDigitizer.cxx:233 AliEMCALSDigitizer.cxx:234 AliEMCALSDigitizer.cxx:235 AliEMCALSDigitizer.cxx:236 AliEMCALSDigitizer.cxx:237 AliEMCALSDigitizer.cxx:238 AliEMCALSDigitizer.cxx:239 AliEMCALSDigitizer.cxx:240 AliEMCALSDigitizer.cxx:241 AliEMCALSDigitizer.cxx:242 AliEMCALSDigitizer.cxx:243 AliEMCALSDigitizer.cxx:244 AliEMCALSDigitizer.cxx:245 AliEMCALSDigitizer.cxx:246 AliEMCALSDigitizer.cxx:247 AliEMCALSDigitizer.cxx:248 AliEMCALSDigitizer.cxx:249 AliEMCALSDigitizer.cxx:250 AliEMCALSDigitizer.cxx:251 AliEMCALSDigitizer.cxx:252 AliEMCALSDigitizer.cxx:253 AliEMCALSDigitizer.cxx:254 AliEMCALSDigitizer.cxx:255 AliEMCALSDigitizer.cxx:256 AliEMCALSDigitizer.cxx:257 AliEMCALSDigitizer.cxx:258 AliEMCALSDigitizer.cxx:259 AliEMCALSDigitizer.cxx:260 AliEMCALSDigitizer.cxx:261 AliEMCALSDigitizer.cxx:262 AliEMCALSDigitizer.cxx:263 AliEMCALSDigitizer.cxx:264 AliEMCALSDigitizer.cxx:265 AliEMCALSDigitizer.cxx:266 AliEMCALSDigitizer.cxx:267 AliEMCALSDigitizer.cxx:268 AliEMCALSDigitizer.cxx:269 AliEMCALSDigitizer.cxx:270 AliEMCALSDigitizer.cxx:271 AliEMCALSDigitizer.cxx:272 AliEMCALSDigitizer.cxx:273 AliEMCALSDigitizer.cxx:274 AliEMCALSDigitizer.cxx:275 AliEMCALSDigitizer.cxx:276 AliEMCALSDigitizer.cxx:277 AliEMCALSDigitizer.cxx:278 AliEMCALSDigitizer.cxx:279 AliEMCALSDigitizer.cxx:280 AliEMCALSDigitizer.cxx:281 AliEMCALSDigitizer.cxx:282 AliEMCALSDigitizer.cxx:283 AliEMCALSDigitizer.cxx:284 AliEMCALSDigitizer.cxx:285 AliEMCALSDigitizer.cxx:286 AliEMCALSDigitizer.cxx:287 AliEMCALSDigitizer.cxx:288 AliEMCALSDigitizer.cxx:289 AliEMCALSDigitizer.cxx:290 AliEMCALSDigitizer.cxx:291 AliEMCALSDigitizer.cxx:292 AliEMCALSDigitizer.cxx:293 AliEMCALSDigitizer.cxx:294 AliEMCALSDigitizer.cxx:295 AliEMCALSDigitizer.cxx:296 AliEMCALSDigitizer.cxx:297 AliEMCALSDigitizer.cxx:298 AliEMCALSDigitizer.cxx:299 AliEMCALSDigitizer.cxx:300 AliEMCALSDigitizer.cxx:301 AliEMCALSDigitizer.cxx:302 AliEMCALSDigitizer.cxx:303 AliEMCALSDigitizer.cxx:304 AliEMCALSDigitizer.cxx:305 AliEMCALSDigitizer.cxx:306 AliEMCALSDigitizer.cxx:307 AliEMCALSDigitizer.cxx:308 AliEMCALSDigitizer.cxx:309 AliEMCALSDigitizer.cxx:310 AliEMCALSDigitizer.cxx:311 AliEMCALSDigitizer.cxx:312 AliEMCALSDigitizer.cxx:313 AliEMCALSDigitizer.cxx:314 AliEMCALSDigitizer.cxx:315 AliEMCALSDigitizer.cxx:316 AliEMCALSDigitizer.cxx:317 AliEMCALSDigitizer.cxx:318 AliEMCALSDigitizer.cxx:319 AliEMCALSDigitizer.cxx:320 AliEMCALSDigitizer.cxx:321 AliEMCALSDigitizer.cxx:322 AliEMCALSDigitizer.cxx:323 AliEMCALSDigitizer.cxx:324 AliEMCALSDigitizer.cxx:325 AliEMCALSDigitizer.cxx:326 AliEMCALSDigitizer.cxx:327 AliEMCALSDigitizer.cxx:328 AliEMCALSDigitizer.cxx:329 AliEMCALSDigitizer.cxx:330 AliEMCALSDigitizer.cxx:331 AliEMCALSDigitizer.cxx:332 AliEMCALSDigitizer.cxx:333 AliEMCALSDigitizer.cxx:334 AliEMCALSDigitizer.cxx:335 AliEMCALSDigitizer.cxx:336 AliEMCALSDigitizer.cxx:337 AliEMCALSDigitizer.cxx:338 AliEMCALSDigitizer.cxx:339 AliEMCALSDigitizer.cxx:340 AliEMCALSDigitizer.cxx:341 AliEMCALSDigitizer.cxx:342 AliEMCALSDigitizer.cxx:343 AliEMCALSDigitizer.cxx:344 AliEMCALSDigitizer.cxx:345 AliEMCALSDigitizer.cxx:346 AliEMCALSDigitizer.cxx:347 AliEMCALSDigitizer.cxx:348 AliEMCALSDigitizer.cxx:349 AliEMCALSDigitizer.cxx:350 AliEMCALSDigitizer.cxx:351 AliEMCALSDigitizer.cxx:352 AliEMCALSDigitizer.cxx:353 AliEMCALSDigitizer.cxx:354 AliEMCALSDigitizer.cxx:355 AliEMCALSDigitizer.cxx:356 AliEMCALSDigitizer.cxx:357 AliEMCALSDigitizer.cxx:358 AliEMCALSDigitizer.cxx:359 AliEMCALSDigitizer.cxx:360 AliEMCALSDigitizer.cxx:361 AliEMCALSDigitizer.cxx:362 AliEMCALSDigitizer.cxx:363 AliEMCALSDigitizer.cxx:364 AliEMCALSDigitizer.cxx:365 AliEMCALSDigitizer.cxx:366 AliEMCALSDigitizer.cxx:367 AliEMCALSDigitizer.cxx:368 AliEMCALSDigitizer.cxx:369 AliEMCALSDigitizer.cxx:370 AliEMCALSDigitizer.cxx:371 AliEMCALSDigitizer.cxx:372 AliEMCALSDigitizer.cxx:373 AliEMCALSDigitizer.cxx:374 AliEMCALSDigitizer.cxx:375 AliEMCALSDigitizer.cxx:376 AliEMCALSDigitizer.cxx:377 AliEMCALSDigitizer.cxx:378 AliEMCALSDigitizer.cxx:379 AliEMCALSDigitizer.cxx:380 AliEMCALSDigitizer.cxx:381 AliEMCALSDigitizer.cxx:382 AliEMCALSDigitizer.cxx:383 AliEMCALSDigitizer.cxx:384 AliEMCALSDigitizer.cxx:385 AliEMCALSDigitizer.cxx:386 AliEMCALSDigitizer.cxx:387 AliEMCALSDigitizer.cxx:388 AliEMCALSDigitizer.cxx:389 AliEMCALSDigitizer.cxx:390 AliEMCALSDigitizer.cxx:391 AliEMCALSDigitizer.cxx:392 AliEMCALSDigitizer.cxx:393 AliEMCALSDigitizer.cxx:394 AliEMCALSDigitizer.cxx:395 AliEMCALSDigitizer.cxx:396 AliEMCALSDigitizer.cxx:397 AliEMCALSDigitizer.cxx:398 AliEMCALSDigitizer.cxx:399 AliEMCALSDigitizer.cxx:400 AliEMCALSDigitizer.cxx:401 AliEMCALSDigitizer.cxx:402 AliEMCALSDigitizer.cxx:403 AliEMCALSDigitizer.cxx:404 AliEMCALSDigitizer.cxx:405 AliEMCALSDigitizer.cxx:406 AliEMCALSDigitizer.cxx:407 AliEMCALSDigitizer.cxx:408 AliEMCALSDigitizer.cxx:409 AliEMCALSDigitizer.cxx:410 AliEMCALSDigitizer.cxx:411 AliEMCALSDigitizer.cxx:412 AliEMCALSDigitizer.cxx:413 AliEMCALSDigitizer.cxx:414 AliEMCALSDigitizer.cxx:415 AliEMCALSDigitizer.cxx:416 AliEMCALSDigitizer.cxx:417 AliEMCALSDigitizer.cxx:418 AliEMCALSDigitizer.cxx:419 AliEMCALSDigitizer.cxx:420 AliEMCALSDigitizer.cxx:421 AliEMCALSDigitizer.cxx:422 AliEMCALSDigitizer.cxx:423 AliEMCALSDigitizer.cxx:424 AliEMCALSDigitizer.cxx:425 AliEMCALSDigitizer.cxx:426 AliEMCALSDigitizer.cxx:427 AliEMCALSDigitizer.cxx:428 AliEMCALSDigitizer.cxx:429 AliEMCALSDigitizer.cxx:430 AliEMCALSDigitizer.cxx:431 AliEMCALSDigitizer.cxx:432 AliEMCALSDigitizer.cxx:433 AliEMCALSDigitizer.cxx:434 AliEMCALSDigitizer.cxx:435 AliEMCALSDigitizer.cxx:436 AliEMCALSDigitizer.cxx:437 AliEMCALSDigitizer.cxx:438 AliEMCALSDigitizer.cxx:439 AliEMCALSDigitizer.cxx:440 AliEMCALSDigitizer.cxx:441 AliEMCALSDigitizer.cxx:442 AliEMCALSDigitizer.cxx:443 AliEMCALSDigitizer.cxx:444 AliEMCALSDigitizer.cxx:445 AliEMCALSDigitizer.cxx:446 AliEMCALSDigitizer.cxx:447 AliEMCALSDigitizer.cxx:448 AliEMCALSDigitizer.cxx:449 AliEMCALSDigitizer.cxx:450 AliEMCALSDigitizer.cxx:451 AliEMCALSDigitizer.cxx:452 AliEMCALSDigitizer.cxx:453 AliEMCALSDigitizer.cxx:454 AliEMCALSDigitizer.cxx:455 AliEMCALSDigitizer.cxx:456 AliEMCALSDigitizer.cxx:457 AliEMCALSDigitizer.cxx:458 AliEMCALSDigitizer.cxx:459 AliEMCALSDigitizer.cxx:460 AliEMCALSDigitizer.cxx:461 AliEMCALSDigitizer.cxx:462 AliEMCALSDigitizer.cxx:463 AliEMCALSDigitizer.cxx:464 AliEMCALSDigitizer.cxx:465 AliEMCALSDigitizer.cxx:466 AliEMCALSDigitizer.cxx:467 AliEMCALSDigitizer.cxx:468 AliEMCALSDigitizer.cxx:469 AliEMCALSDigitizer.cxx:470 AliEMCALSDigitizer.cxx:471 AliEMCALSDigitizer.cxx:472 AliEMCALSDigitizer.cxx:473 AliEMCALSDigitizer.cxx:474 AliEMCALSDigitizer.cxx:475 AliEMCALSDigitizer.cxx:476 AliEMCALSDigitizer.cxx:477 AliEMCALSDigitizer.cxx:478 AliEMCALSDigitizer.cxx:479 AliEMCALSDigitizer.cxx:480 AliEMCALSDigitizer.cxx:481 AliEMCALSDigitizer.cxx:482 AliEMCALSDigitizer.cxx:483 AliEMCALSDigitizer.cxx:484 AliEMCALSDigitizer.cxx:485 AliEMCALSDigitizer.cxx:486 AliEMCALSDigitizer.cxx:487 AliEMCALSDigitizer.cxx:488 AliEMCALSDigitizer.cxx:489 AliEMCALSDigitizer.cxx:490 AliEMCALSDigitizer.cxx:491 AliEMCALSDigitizer.cxx:492 AliEMCALSDigitizer.cxx:493 AliEMCALSDigitizer.cxx:494 AliEMCALSDigitizer.cxx:495 AliEMCALSDigitizer.cxx:496 AliEMCALSDigitizer.cxx:497 AliEMCALSDigitizer.cxx:498 AliEMCALSDigitizer.cxx:499 AliEMCALSDigitizer.cxx:500 AliEMCALSDigitizer.cxx:501 AliEMCALSDigitizer.cxx:502 AliEMCALSDigitizer.cxx:503 AliEMCALSDigitizer.cxx:504 AliEMCALSDigitizer.cxx:505 AliEMCALSDigitizer.cxx:506 AliEMCALSDigitizer.cxx:507 AliEMCALSDigitizer.cxx:508 AliEMCALSDigitizer.cxx:509 AliEMCALSDigitizer.cxx:510 AliEMCALSDigitizer.cxx:511 AliEMCALSDigitizer.cxx:512 AliEMCALSDigitizer.cxx:513 AliEMCALSDigitizer.cxx:514 AliEMCALSDigitizer.cxx:515 AliEMCALSDigitizer.cxx:516 AliEMCALSDigitizer.cxx:517 AliEMCALSDigitizer.cxx:518 AliEMCALSDigitizer.cxx:519 AliEMCALSDigitizer.cxx:520 AliEMCALSDigitizer.cxx:521 AliEMCALSDigitizer.cxx:522 AliEMCALSDigitizer.cxx:523 AliEMCALSDigitizer.cxx:524 AliEMCALSDigitizer.cxx:525 AliEMCALSDigitizer.cxx:526 AliEMCALSDigitizer.cxx:527 AliEMCALSDigitizer.cxx:528 AliEMCALSDigitizer.cxx:529 AliEMCALSDigitizer.cxx:530 AliEMCALSDigitizer.cxx:531 AliEMCALSDigitizer.cxx:532 AliEMCALSDigitizer.cxx:533 AliEMCALSDigitizer.cxx:534