#include "AliMUONDigitizerV3.h"
#include "AliMUON.h"
#include "AliMUONCalibrationData.h"
#include "AliMUONConstants.h"
#include "AliMUONDigit.h"
#include "AliMUONLogger.h"
#include "AliMUONTriggerElectronics.h"
#include "AliMUONTriggerStoreV1.h"
#include "AliMUONVCalibParam.h"
#include "AliMUONVDigitStore.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONRecoParam.h"
#include "AliMUONTriggerChamberEfficiency.h"
#include "AliMUONTriggerUtilities.h"
#include "AliMpCDB.h"
#include "AliMpSegmentation.h"
#include "AliMpCathodType.h"
#include "AliMpConstants.h"
#include "AliMpDEIterator.h"
#include "AliMpDEManager.h"
#include "AliMpPad.h"
#include "AliMpStationType.h"
#include "AliMpVSegmentation.h"
#include "AliMpDDLStore.h"
#include "AliCDBManager.h"
#include "AliCodeTimer.h"
#include "AliLog.h"
#include "AliRun.h"
#include "AliDigitizationInput.h"
#include "AliLoader.h"
#include "AliRunLoader.h"
#include <Riostream.h>
#include <TF1.h>
#include <TFile.h>
#include <TMath.h>
#include <TRandom.h>
#include <TString.h>
#include <TSystem.h>
#include <TTree.h>
namespace
{
AliMUON* muon()
{
return static_cast<AliMUON*>(gAlice->GetModule("MUON"));
}
const AliMUONGeometryTransformer* GetTransformer()
{
return muon()->GetGeometryTransformer();
}
}
Double_t AliMUONDigitizerV3::fgNSigmas = 4.0;
ClassImp(AliMUONDigitizerV3)
AliMUONDigitizerV3::AliMUONDigitizerV3(AliDigitizationInput* digInput,
Int_t generateNoisyDigits)
: AliDigitizer(digInput),
fIsInitialized(kFALSE),
fCalibrationData(0x0),
fTriggerProcessor(0x0),
fNoiseFunctionTrig(0x0),
fGenerateNoisyDigits(generateNoisyDigits),
fLogger(new AliMUONLogger(4207)),
fTriggerStore(new AliMUONTriggerStoreV1),
fDigitStore(0x0),
fOutputDigitStore(0x0),
fInputDigitStores(0x0),
fRecoParam(0x0),
fTriggerEfficiency(0x0),
fTriggerUtilities(0x0),
fEfficiencyResponse(2*AliMUONConstants::NTriggerCh()*AliMUONConstants::NTriggerCircuit())
{
AliDebug(1,Form("AliDigitizationInput=%p",fDigInput));
}
AliMUONDigitizerV3::~AliMUONDigitizerV3()
{
AliDebug(1,"dtor");
delete fTriggerProcessor;
delete fNoiseFunctionTrig;
delete fTriggerStore;
delete fDigitStore;
delete fOutputDigitStore;
delete fInputDigitStores;
delete fTriggerUtilities;
AliInfo("Summary of messages");
fLogger->Print();
delete fLogger;
}
void
AliMUONDigitizerV3::ApplyResponseToTrackerDigit(AliMUONVDigit& digit, Bool_t addNoise)
{
Float_t charge = digit.Charge();
if (!digit.IsChargeInFC())
{
charge *= AliMUONConstants::DefaultADC2MV()*AliMUONConstants::DefaultA0()*AliMUONConstants::DefaultCapa();
fLogger->Log("CHECK ME ! WAS NOT SUPPOSED TO BE HERE !!! ARE YOU RECONSTRUCTING OLD SIMULATIONS ? ");
AliError("CHECK ME ! WAS NOT SUPPOSED TO BE HERE !!! ARE YOU RECONSTRUCTING OLD SIMULATIONS ? ");
}
digit.SetCharge(0);
Int_t detElemId = digit.DetElemId();
Int_t manuId = digit.ManuId();
AliMUONVCalibParam* pedestal = fCalibrationData->Pedestals(detElemId,manuId);
if (!pedestal)
{
fLogger->Log(Form("%s:%d:Could not get pedestal for DE=%4d manuId=%4d. Disabling.",
__FILE__,__LINE__,
detElemId,manuId));
digit.SetADC(0);
return;
}
Int_t manuChannel = digit.ManuChannel();
if ( pedestal->ValueAsFloat(manuChannel,0) == AliMUONVCalibParam::InvalidFloatValue() ||
pedestal->ValueAsFloat(manuChannel,1) == AliMUONVCalibParam::InvalidFloatValue() )
{
digit.SetADC(0);
return;
}
TString calibrationMode(fRecoParam->GetCalibrationMode());
calibrationMode.ToUpper();
AliMUONVCalibParam* gain = fCalibrationData->Gains(detElemId,manuId);
if (!gain)
{
if (!calibrationMode.Contains("NOGAIN") )
{
fLogger->Log(Form("%s:%d:Could not get gain for DE=%4d manuId=%4d. Disabling.",
__FILE__,__LINE__,
detElemId,manuId));
digit.SetADC(0);
return;
}
}
Int_t adc = DecalibrateTrackerDigit(*pedestal,gain,manuChannel,charge,addNoise,
digit.IsNoiseOnly(),
calibrationMode);
digit.SetADC(adc);
}
void
AliMUONDigitizerV3::ApplyResponseToTriggerDigit(AliMUONVDigit& digit)
{
Int_t detElemId = digit.DetElemId();
Int_t localCircuit = digit.ManuId();
Int_t strip = digit.ManuChannel();
Int_t cathode = digit.Cathode();
Int_t trigCh = detElemId/100 - 11;
Bool_t isMasked = fTriggerUtilities->IsMasked(digit);
AliDebug(1,Form("detElemId %i cath %i board %i strip %i is masked %i\n", detElemId, cathode, localCircuit, strip, isMasked));
if ( isMasked ) {
digit.SetCharge(0);
digit.SetADC(0);
return;
}
Int_t arrayIndex = GetArrayIndex(cathode, trigCh, localCircuit);
if ( fTriggerEfficiency ) {
if ( fEfficiencyResponse[arrayIndex] < 0 ) {
Bool_t isTrig[2] = {kTRUE, kTRUE};
fTriggerEfficiency->IsTriggered(detElemId, localCircuit, isTrig[0], isTrig[1]);
Int_t arrayIndexBend = GetArrayIndex(0, trigCh, localCircuit);
Int_t arrayIndexNonBend = GetArrayIndex(1, trigCh, localCircuit);
fEfficiencyResponse[arrayIndexBend] = isTrig[0];
fEfficiencyResponse[arrayIndexNonBend] = isTrig[1];
}
AliDebug(1,Form("detElemId %i cath %i board %i strip %i efficiency %i\n", detElemId, cathode, localCircuit, strip, fEfficiencyResponse[arrayIndex]));
if ( fEfficiencyResponse[arrayIndex] == 0 ) {
digit.SetCharge(0);
digit.SetADC(0);
return;
}
}
}
void
AliMUONDigitizerV3::ApplyResponse(const AliMUONVDigitStore& store,
AliMUONVDigitStore& filteredStore)
{
filteredStore.Clear();
const Bool_t kAddNoise = kTRUE;
TIter next(store.CreateIterator());
AliMUONVDigit* digit;
if ( fTriggerEfficiency ) fEfficiencyResponse.Reset(-1);
while ( ( digit = static_cast<AliMUONVDigit*>(next()) ) )
{
AliMp::StationType stationType = AliMpDEManager::GetStationType(digit->DetElemId());
if ( stationType != AliMp::kStationTrigger )
{
Bool_t addNoise = kAddNoise;
if (digit->IsConverted()) addNoise = kFALSE;
ApplyResponseToTrackerDigit(*digit,addNoise);
}
else {
ApplyResponseToTriggerDigit(*digit);
}
if ( digit->ADC() > 0 || digit->Charge() > 0 )
{
filteredStore.Add(*digit,AliMUONVDigitStore::kIgnore);
}
}
}
Int_t
AliMUONDigitizerV3::DecalibrateTrackerDigit(const AliMUONVCalibParam& pedestals,
const AliMUONVCalibParam* gains,
Int_t channel,
Float_t charge,
Bool_t addNoise,
Bool_t noiseOnly,
const TString& calibrationMode)
{
static const Int_t kMaxADC = (1<<12)-1;
Bool_t nogain = calibrationMode.Contains("NOGAIN");
Float_t a1(0.0);
Int_t thres(4095);
Int_t qual(0xF);
Float_t capa(AliMUONConstants::DefaultCapa());
Float_t a0(AliMUONConstants::DefaultA0());
Float_t adc2mv(AliMUONConstants::DefaultADC2MV());
if ( ! nogain )
{
if (!gains)
{
AliFatalClass("Cannot make gain decalibration without gain values !");
}
a0 = gains->ValueAsFloat(channel,0);
a1 = gains->ValueAsFloat(channel,1);
thres = gains->ValueAsInt(channel,2);
qual = gains->ValueAsInt(channel,3);
}
Float_t pedestalMean = pedestals.ValueAsFloat(channel,0);
Float_t pedestalSigma = pedestals.ValueAsFloat(channel,1);
AliDebugClass(2,Form("DE %04d MANU %04d CH %02d PEDMEAN %7.2f PEDSIGMA %7.2f",
pedestals.ID0(),pedestals.ID1(),channel,pedestalMean,pedestalSigma));
if ( qual <= 0 ) return 0;
Float_t chargeThres = a0*thres;
Float_t padc(0);
if ( nogain || charge <= chargeThres || TMath::Abs(a1) < 1E-12 )
{
if ( TMath::Abs(a0) > 1E-12 )
{
padc = charge/a0;
}
}
else
{
AliWarningClass("YOU PROBABLY NEED TO REVISE THIS PART OF CODE !!!");
Double_t qt = chargeThres - charge;
Double_t delta = a0*a0-4*a1*qt;
if ( delta < 0 )
{
AliErrorClass(Form("delta=%e DE %d Manu %d Channel %d "
" charge %e a0 %e a1 %e thres %d ped %e pedsig %e",
delta,pedestals.ID0(),pedestals.ID1(),
channel, charge, a0, a1, thres, pedestalMean,
pedestalSigma));
}
else
{
delta = TMath::Sqrt(delta);
padc = ( ( -a0 + delta ) > 0 ? ( -a0 + delta ) : ( -a0 - delta ) );
padc /= 2*a1;
if ( padc < 0 )
{
if ( TMath::Abs(padc) > 1E-3)
{
AliErrorClass(Form("padc=%e DE %d Manu %d Channel %d "
" charge %e a0 %e a1 %e thres %d ped %e pedsig %e delta %e",
padc,pedestals.ID0(),pedestals.ID1(),
channel, charge, a0, a1, thres, pedestalMean,
pedestalSigma,delta));
}
padc = 0;
}
padc += thres;
}
}
padc /= capa*adc2mv;
Int_t adc(0);
Float_t adcNoise = 0.0;
if ( addNoise )
{
if ( noiseOnly )
{
adcNoise = NoiseFunction()->GetRandom()*pedestalSigma;
}
else
{
adcNoise = gRandom->Gaus(0.0,pedestalSigma);
}
}
adc = TMath::Nint(padc + pedestalMean + adcNoise + 0.5);
if ( adc < TMath::Nint(pedestalMean + fgNSigmas*pedestalSigma + 0.5) )
{
if ( !addNoise || (addNoise && noiseOnly) )
{
AliDebugClass(1,Form(" DE %04d Manu %04d Channel %02d "
" a0 %7.2f a1 %7.2f thres %04d ped %7.2f pedsig %7.2f adcNoise %7.2f "
" charge=%7.2f padc=%7.2f adc=%04d ZS=%04d fgNSigmas=%e addNoise %d noiseOnly %d ",
pedestals.ID0(),pedestals.ID1(),channel,
a0, a1, thres, pedestalMean, pedestalSigma, adcNoise,
charge, padc, adc,
TMath::Nint(pedestalMean + fgNSigmas*pedestalSigma + 0.5),
fgNSigmas,addNoise,noiseOnly));
}
adc = 0;
}
if ( adc > kMaxADC )
{
adc = kMaxADC;
}
return adc;
}
void
AliMUONDigitizerV3::CreateInputDigitStores()
{
if (fInputDigitStores)
{
AliFatal("Should be called only once !");
}
fInputDigitStores = new TObjArray;
fInputDigitStores->SetOwner(kTRUE);
for ( Int_t iFile = 0; iFile < fDigInput->GetNinputs(); ++iFile )
{
AliLoader* inputLoader = GetLoader(fDigInput->GetInputFolderName(iFile));
inputLoader->LoadSDigits("READ");
TTree* iTreeS = inputLoader->TreeS();
if (!iTreeS)
{
AliFatal(Form("Could not get access to input file #%d",iFile));
}
fInputDigitStores->AddAt(AliMUONVDigitStore::Create(*iTreeS),iFile);
}
}
void
AliMUONDigitizerV3::Digitize(Option_t*)
{
AliCodeTimerAuto("",0)
if ( fDigInput->GetNinputs() == 0 )
{
AliWarning("No input set. Nothing to do.");
return;
}
if ( !fIsInitialized )
{
AliError("Not initialized. Cannot perform the work. Sorry");
return;
}
Int_t nInputFiles = fDigInput->GetNinputs();
AliLoader* outputLoader = GetLoader(fDigInput->GetOutputFolderName());
outputLoader->MakeDigitsContainer();
TTree* oTreeD = outputLoader->TreeD();
if (!oTreeD)
{
AliFatal("Cannot create output TreeD");
}
for ( Int_t iFile = 0; iFile < nInputFiles; ++iFile )
{
AliLoader* inputLoader = GetLoader(fDigInput->GetInputFolderName(iFile));
inputLoader->LoadSDigits("READ");
TTree* iTreeS = inputLoader->TreeS();
if (!iTreeS)
{
AliFatal(Form("Could not get access to input file #%d",iFile));
}
if (!fInputDigitStores)
{
CreateInputDigitStores();
}
AliMUONVDigitStore* dstore = static_cast<AliMUONVDigitStore*>(fInputDigitStores->At(iFile));
dstore->Connect(*iTreeS);
iTreeS->GetEvent(0);
MergeWithSDigits(fDigitStore,*dstore,fDigInput->GetMask(iFile));
inputLoader->UnloadSDigits();
dstore->Clear();
}
if (!fOutputDigitStore)
{
fOutputDigitStore = fDigitStore->Create();
}
if ( fGenerateNoisyDigits>=2 )
{
GenerateNoisyDigitsForTrigger(*fDigitStore);
}
ApplyResponse(*fDigitStore,*fOutputDigitStore);
if ( fGenerateNoisyDigits )
{
GenerateNoisyDigits(*fOutputDigitStore);
}
fTriggerProcessor->Digits2Trigger(*fOutputDigitStore,*fTriggerStore);
Bool_t okD = fOutputDigitStore->Connect(*oTreeD,kFALSE);
Bool_t okT = fTriggerStore->Connect(*oTreeD,kFALSE);
if (!okD || !okT)
{
AliError(Form("Could not make branch : Digit %d Trigger %d",okD,okT));
return;
}
oTreeD->Fill();
outputLoader->WriteDigits("OVERWRITE");
outputLoader->UnloadDigits();
fTriggerStore->Clear();
fDigitStore->Clear();
fOutputDigitStore->Clear();
}
void
AliMUONDigitizerV3::GenerateNoisyDigits(AliMUONVDigitStore& digitStore)
{
AliCodeTimerAuto("",0)
for ( Int_t i = 0; i < AliMUONConstants::NTrackingCh(); ++i )
{
AliMpDEIterator it;
it.First(i);
while ( !it.IsDone() )
{
for ( Int_t cathode = 0; cathode < 2; ++cathode )
{
GenerateNoisyDigitsForOneCathode(digitStore,it.CurrentDEId(),cathode);
}
it.Next();
}
}
}
void
AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(AliMUONVDigitStore& digitStore,
Int_t detElemId, Int_t cathode)
{
const AliMpVSegmentation* seg
= AliMpSegmentation::Instance()->GetMpSegmentation(detElemId,AliMp::GetCathodType(cathode));
Int_t nofPads = seg->NofPads();
Int_t maxIx = seg->MaxPadIndexX();
Int_t maxIy = seg->MaxPadIndexY();
static const Double_t kProbToBeOutsideNsigmas = TMath::Erfc(fgNSigmas/TMath::Sqrt(2.0)) / 2. ;
Int_t nofNoisyPads = TMath::Nint(kProbToBeOutsideNsigmas*nofPads);
if ( !nofNoisyPads ) return;
nofNoisyPads =
TMath::Nint(gRandom->Gaus(nofNoisyPads,
nofNoisyPads/TMath::Sqrt(nofNoisyPads)));
AliDebug(3,Form("DE %d cath %d nofNoisyPads %d",detElemId,cathode,nofNoisyPads));
for ( Int_t i = 0; i < nofNoisyPads; ++i )
{
Int_t ix(-1);
Int_t iy(-1);
AliMpPad pad;
do {
ix = gRandom->Integer(maxIx+1);
iy = gRandom->Integer(maxIy+1);
pad = seg->PadByIndices(ix,iy,kFALSE);
} while ( !pad.IsValid() );
Int_t manuId = pad.GetManuId();
Int_t manuChannel = pad.GetManuChannel();
AliMUONVCalibParam* pedestals = fCalibrationData->Pedestals(detElemId,manuId);
if (!pedestals)
{
continue;
}
AliMUONVDigit* d = digitStore.CreateDigit(detElemId,manuId,manuChannel,cathode);
d->SetPadXY(ix,iy);
d->SetCharge(0.0);
d->NoiseOnly(kTRUE);
ApplyResponseToTrackerDigit(*d,kTRUE);
if ( d->ADC() > 0 )
{
Bool_t ok = digitStore.Add(*d,AliMUONVDigitStore::kDeny);
if (!ok)
{
fLogger->Log("Collision while adding noiseOnly digit");
}
else
{
fLogger->Log("Added noiseOnly digit");
}
}
delete d;
}
}
void
AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger(AliMUONVDigitStore& digitStore)
{
if ( !fNoiseFunctionTrig )
{
fNoiseFunctionTrig = new TF1("AliMUONDigitizerV3::fNoiseFunctionTrig","landau",
50.,270.);
fNoiseFunctionTrig->SetParameters(3.91070e+02, 9.85026, 9.35881e-02);
}
AliMpPad pad[2];
AliMUONVDigit *d[2]={0x0};
for ( Int_t chamberId = AliMUONConstants::NTrackingCh(); chamberId < AliMUONConstants::NCh(); ++chamberId )
{
Int_t nofNoisyPads = 50;
Float_t r=-1, fi = 0., gx, gy, x, y, z, xg01, yg01, zg, xg02, yg02;
AliMpDEIterator it;
AliDebug(3,Form("Chamber %d nofNoisyPads %d",chamberId,nofNoisyPads));
for ( Int_t i = 0; i < nofNoisyPads; ++i )
{
Int_t ix(-1);
Int_t iy(-1);
Bool_t isOk = kFALSE;
Int_t detElemId = -1;
do {
r = fNoiseFunctionTrig->GetRandom();
fi = 2. * TMath::Pi() * gRandom->Rndm();
gx = r * TMath::Cos(fi);
gy = r * TMath::Sin(fi);
for ( it.First(chamberId); ! it.IsDone(); it.Next() ){
Int_t currDetElemId = it.CurrentDEId();
const AliMpVSegmentation* seg
= AliMpSegmentation::Instance()->GetMpSegmentation(currDetElemId,AliMp::GetCathodType(0));
if (!seg) continue;
Float_t deltax = seg->GetDimensionX();
Float_t deltay = seg->GetDimensionY();
GetTransformer()->Local2Global(currDetElemId, -deltax, -deltay, 0, xg01, yg01, zg);
GetTransformer()->Local2Global(currDetElemId, deltax, deltay, 0, xg02, yg02, zg);
Float_t xg1 = xg01, xg2 = xg02, yg1 = yg01, yg2 = yg02;
if(xg01>xg02){
xg1 = xg02;
xg2 = xg01;
}
if(yg01>yg02){
yg1 = yg02;
yg2 = yg01;
}
if(gx>=xg1 && gx<=xg2 && gy>=yg1 && gy<=yg2){
detElemId = currDetElemId;
GetTransformer()->Global2Local(detElemId, gx, gy, 0, x, y, z);
pad[0] = seg->PadByPosition(x,y,kFALSE);
if(!pad[0].IsValid()) continue;
isOk = kTRUE;
break;
}
}
} while ( !isOk );
const AliMpVSegmentation* seg1
= AliMpSegmentation::Instance()->GetMpSegmentation(detElemId,AliMp::GetCathodType(1));
pad[1] = seg1->PadByPosition(x,y,kFALSE);
for ( Int_t cathode = 0; cathode < 2; ++cathode ){
Int_t manuId = pad[cathode].GetLocalBoardId(0);
Int_t manuChannel = pad[cathode].GetLocalBoardChannel(0);
d[cathode] = digitStore.CreateDigit(detElemId,manuId,manuChannel,cathode);
ix = pad[cathode].GetIx();
iy = pad[cathode].GetIy();
d[cathode]->SetPadXY(ix,iy);
d[cathode]->SetCharge(1);
d[cathode]->NoiseOnly(kTRUE);
AliDebug(3,Form("Adding a pure noise digit :"));
Bool_t ok = digitStore.Add(*d[cathode],AliMUONVDigitStore::kDeny);
if (!ok)
{
fLogger->Log("Collision while adding TriggerNoise digit");
}
else
{
fLogger->Log("Added triggerNoise digit");
}
}
}
}
}
AliLoader*
AliMUONDigitizerV3::GetLoader(const TString& folderName)
{
AliDebug(2,Form("Getting access to folder %s",folderName.Data()));
AliLoader* loader = AliRunLoader::GetDetectorLoader("MUON",folderName.Data());
if (!loader)
{
AliError(Form("Could not get MuonLoader from folder %s",folderName.Data()));
return 0x0;
}
return loader;
}
Bool_t
AliMUONDigitizerV3::Init()
{
AliDebug(2,"");
if ( fIsInitialized )
{
AliError("Object already initialized.");
return kFALSE;
}
if (!fDigInput)
{
AliError("fDigInput is null !");
return kFALSE;
}
if ( ! AliMpCDB::LoadDDLStore() ) {
AliFatal("Could not access mapping from OCDB !");
}
if (!fCalibrationData)
AliFatal("Calibration data object not defined");
if ( !fCalibrationData->Pedestals() )
{
AliFatal("Could not access pedestals from OCDB !");
}
if ( !fCalibrationData->Gains() )
{
AliFatal("Could not access gains from OCDB !");
}
AliInfo("Using trigger configuration from CDB");
fTriggerProcessor = new AliMUONTriggerElectronics(fCalibrationData);
AliDebug(1, Form("Will %s generate noise-only digits for tracker",
(fGenerateNoisyDigits ? "":"NOT")));
fTriggerUtilities = new AliMUONTriggerUtilities(fCalibrationData);
if ( muon()->GetTriggerEffCells() ) {
AliDebug(1, "Will apply trigger efficiency");
fTriggerEfficiency = new AliMUONTriggerChamberEfficiency(fCalibrationData->TriggerEfficiency());
}
fIsInitialized = kTRUE;
return kTRUE;
}
Int_t AliMUONDigitizerV3::GetArrayIndex(Int_t cathode, Int_t trigCh, Int_t localCircuit)
{
return
AliMUONConstants::NTriggerCircuit() * AliMUONConstants::NTriggerCh() * cathode +
AliMUONConstants::NTriggerCircuit() * trigCh + localCircuit-1;
}
void
AliMUONDigitizerV3::MergeWithSDigits(AliMUONVDigitStore*& outputStore,
const AliMUONVDigitStore& input,
Int_t mask)
{
if ( !outputStore ) outputStore = input.Create();
TIter next(input.CreateIterator());
AliMUONVDigit* sdigit;
while ( ( sdigit = static_cast<AliMUONVDigit*>(next()) ) )
{
if ( mask ) sdigit->PatchTracks(mask);
AliMUONVDigit* added = outputStore->Add(*sdigit,AliMUONVDigitStore::kMerge);
if (!added)
{
AliError("Could not add digit in merge mode");
}
}
}
TF1*
AliMUONDigitizerV3::NoiseFunction()
{
static TF1* f = 0x0;
if (!f)
{
f = new TF1("AliMUONDigitizerV3::NoiseFunction","gaus",fgNSigmas,fgNSigmas*10);
f->SetParameters(1,0,1);
}
return f;
}
void AliMUONDigitizerV3::SetCalibrationData(AliMUONCalibrationData* calibrationData,
AliMUONRecoParam* recoParam)
{
fCalibrationData = calibrationData;
fRecoParam = recoParam;
if (!fRecoParam)
{
AliError("Cannot work (e.g. decalibrate) without recoparams !");
}
}
AliMUONDigitizerV3.cxx:10 AliMUONDigitizerV3.cxx:11 AliMUONDigitizerV3.cxx:12 AliMUONDigitizerV3.cxx:13 AliMUONDigitizerV3.cxx:14 AliMUONDigitizerV3.cxx:15 AliMUONDigitizerV3.cxx:16 AliMUONDigitizerV3.cxx:17 AliMUONDigitizerV3.cxx:18 AliMUONDigitizerV3.cxx:19 AliMUONDigitizerV3.cxx:20 AliMUONDigitizerV3.cxx:21 AliMUONDigitizerV3.cxx:22 AliMUONDigitizerV3.cxx:23 AliMUONDigitizerV3.cxx:24 AliMUONDigitizerV3.cxx:25 AliMUONDigitizerV3.cxx:26 AliMUONDigitizerV3.cxx:27 AliMUONDigitizerV3.cxx:28 AliMUONDigitizerV3.cxx:29 AliMUONDigitizerV3.cxx:30 AliMUONDigitizerV3.cxx:31 AliMUONDigitizerV3.cxx:32 AliMUONDigitizerV3.cxx:33 AliMUONDigitizerV3.cxx:34 AliMUONDigitizerV3.cxx:35 AliMUONDigitizerV3.cxx:36 AliMUONDigitizerV3.cxx:37 AliMUONDigitizerV3.cxx:38 AliMUONDigitizerV3.cxx:39 AliMUONDigitizerV3.cxx:40 AliMUONDigitizerV3.cxx:41 AliMUONDigitizerV3.cxx:42 AliMUONDigitizerV3.cxx:43 AliMUONDigitizerV3.cxx:44 AliMUONDigitizerV3.cxx:45 AliMUONDigitizerV3.cxx:46 AliMUONDigitizerV3.cxx:47 AliMUONDigitizerV3.cxx:48 AliMUONDigitizerV3.cxx:49 AliMUONDigitizerV3.cxx:50 AliMUONDigitizerV3.cxx:51 AliMUONDigitizerV3.cxx:52 AliMUONDigitizerV3.cxx:53 AliMUONDigitizerV3.cxx:54 AliMUONDigitizerV3.cxx:55 AliMUONDigitizerV3.cxx:56 AliMUONDigitizerV3.cxx:57 AliMUONDigitizerV3.cxx:58 AliMUONDigitizerV3.cxx:59 AliMUONDigitizerV3.cxx:60 AliMUONDigitizerV3.cxx:61 AliMUONDigitizerV3.cxx:62 AliMUONDigitizerV3.cxx:63 AliMUONDigitizerV3.cxx:64 AliMUONDigitizerV3.cxx:65 AliMUONDigitizerV3.cxx:66 AliMUONDigitizerV3.cxx:67 AliMUONDigitizerV3.cxx:68 AliMUONDigitizerV3.cxx:69 AliMUONDigitizerV3.cxx:70 AliMUONDigitizerV3.cxx:71 AliMUONDigitizerV3.cxx:72 AliMUONDigitizerV3.cxx:73 AliMUONDigitizerV3.cxx:74 AliMUONDigitizerV3.cxx:75 AliMUONDigitizerV3.cxx:76 AliMUONDigitizerV3.cxx:77 AliMUONDigitizerV3.cxx:78 AliMUONDigitizerV3.cxx:79 AliMUONDigitizerV3.cxx:80 AliMUONDigitizerV3.cxx:81 AliMUONDigitizerV3.cxx:82 AliMUONDigitizerV3.cxx:83 AliMUONDigitizerV3.cxx:84 AliMUONDigitizerV3.cxx:85 AliMUONDigitizerV3.cxx:86 AliMUONDigitizerV3.cxx:87 AliMUONDigitizerV3.cxx:88 AliMUONDigitizerV3.cxx:89 AliMUONDigitizerV3.cxx:90 AliMUONDigitizerV3.cxx:91 AliMUONDigitizerV3.cxx:92 AliMUONDigitizerV3.cxx:93 AliMUONDigitizerV3.cxx:94 AliMUONDigitizerV3.cxx:95 AliMUONDigitizerV3.cxx:96 AliMUONDigitizerV3.cxx:97 AliMUONDigitizerV3.cxx:98 AliMUONDigitizerV3.cxx:99 AliMUONDigitizerV3.cxx:100 AliMUONDigitizerV3.cxx:101 AliMUONDigitizerV3.cxx:102 AliMUONDigitizerV3.cxx:103 AliMUONDigitizerV3.cxx:104 AliMUONDigitizerV3.cxx:105 AliMUONDigitizerV3.cxx:106 AliMUONDigitizerV3.cxx:107 AliMUONDigitizerV3.cxx:108 AliMUONDigitizerV3.cxx:109 AliMUONDigitizerV3.cxx:110 AliMUONDigitizerV3.cxx:111 AliMUONDigitizerV3.cxx:112 AliMUONDigitizerV3.cxx:113 AliMUONDigitizerV3.cxx:114 AliMUONDigitizerV3.cxx:115 AliMUONDigitizerV3.cxx:116 AliMUONDigitizerV3.cxx:117 AliMUONDigitizerV3.cxx:118 AliMUONDigitizerV3.cxx:119 AliMUONDigitizerV3.cxx:120 AliMUONDigitizerV3.cxx:121 AliMUONDigitizerV3.cxx:122 AliMUONDigitizerV3.cxx:123 AliMUONDigitizerV3.cxx:124 AliMUONDigitizerV3.cxx:125 AliMUONDigitizerV3.cxx:126 AliMUONDigitizerV3.cxx:127 AliMUONDigitizerV3.cxx:128 AliMUONDigitizerV3.cxx:129 AliMUONDigitizerV3.cxx:130 AliMUONDigitizerV3.cxx:131 AliMUONDigitizerV3.cxx:132 AliMUONDigitizerV3.cxx:133 AliMUONDigitizerV3.cxx:134 AliMUONDigitizerV3.cxx:135 AliMUONDigitizerV3.cxx:136 AliMUONDigitizerV3.cxx:137 AliMUONDigitizerV3.cxx:138 AliMUONDigitizerV3.cxx:139 AliMUONDigitizerV3.cxx:140 AliMUONDigitizerV3.cxx:141 AliMUONDigitizerV3.cxx:142 AliMUONDigitizerV3.cxx:143 AliMUONDigitizerV3.cxx:144 AliMUONDigitizerV3.cxx:145 AliMUONDigitizerV3.cxx:146 AliMUONDigitizerV3.cxx:147 AliMUONDigitizerV3.cxx:148 AliMUONDigitizerV3.cxx:149 AliMUONDigitizerV3.cxx:150 AliMUONDigitizerV3.cxx:151 AliMUONDigitizerV3.cxx:152 AliMUONDigitizerV3.cxx:153 AliMUONDigitizerV3.cxx:154 AliMUONDigitizerV3.cxx:155 AliMUONDigitizerV3.cxx:156 AliMUONDigitizerV3.cxx:157 AliMUONDigitizerV3.cxx:158 AliMUONDigitizerV3.cxx:159 AliMUONDigitizerV3.cxx:160 AliMUONDigitizerV3.cxx:161 AliMUONDigitizerV3.cxx:162 AliMUONDigitizerV3.cxx:163 AliMUONDigitizerV3.cxx:164 AliMUONDigitizerV3.cxx:165 AliMUONDigitizerV3.cxx:166 AliMUONDigitizerV3.cxx:167 AliMUONDigitizerV3.cxx:168 AliMUONDigitizerV3.cxx:169 AliMUONDigitizerV3.cxx:170 AliMUONDigitizerV3.cxx:171 AliMUONDigitizerV3.cxx:172 AliMUONDigitizerV3.cxx:173 AliMUONDigitizerV3.cxx:174 AliMUONDigitizerV3.cxx:175 AliMUONDigitizerV3.cxx:176 AliMUONDigitizerV3.cxx:177 AliMUONDigitizerV3.cxx:178 AliMUONDigitizerV3.cxx:179 AliMUONDigitizerV3.cxx:180 AliMUONDigitizerV3.cxx:181 AliMUONDigitizerV3.cxx:182 AliMUONDigitizerV3.cxx:183 AliMUONDigitizerV3.cxx:184 AliMUONDigitizerV3.cxx:185 AliMUONDigitizerV3.cxx:186 AliMUONDigitizerV3.cxx:187 AliMUONDigitizerV3.cxx:188 AliMUONDigitizerV3.cxx:189 AliMUONDigitizerV3.cxx:190 AliMUONDigitizerV3.cxx:191 AliMUONDigitizerV3.cxx:192 AliMUONDigitizerV3.cxx:193 AliMUONDigitizerV3.cxx:194 AliMUONDigitizerV3.cxx:195 AliMUONDigitizerV3.cxx:196 AliMUONDigitizerV3.cxx:197 AliMUONDigitizerV3.cxx:198 AliMUONDigitizerV3.cxx:199 AliMUONDigitizerV3.cxx:200 AliMUONDigitizerV3.cxx:201 AliMUONDigitizerV3.cxx:202 AliMUONDigitizerV3.cxx:203 AliMUONDigitizerV3.cxx:204 AliMUONDigitizerV3.cxx:205 AliMUONDigitizerV3.cxx:206 AliMUONDigitizerV3.cxx:207 AliMUONDigitizerV3.cxx:208 AliMUONDigitizerV3.cxx:209 AliMUONDigitizerV3.cxx:210 AliMUONDigitizerV3.cxx:211 AliMUONDigitizerV3.cxx:212 AliMUONDigitizerV3.cxx:213 AliMUONDigitizerV3.cxx:214 AliMUONDigitizerV3.cxx:215 AliMUONDigitizerV3.cxx:216 AliMUONDigitizerV3.cxx:217 AliMUONDigitizerV3.cxx:218 AliMUONDigitizerV3.cxx:219 AliMUONDigitizerV3.cxx:220 AliMUONDigitizerV3.cxx:221 AliMUONDigitizerV3.cxx:222 AliMUONDigitizerV3.cxx:223 AliMUONDigitizerV3.cxx:224 AliMUONDigitizerV3.cxx:225 AliMUONDigitizerV3.cxx:226 AliMUONDigitizerV3.cxx:227 AliMUONDigitizerV3.cxx:228 AliMUONDigitizerV3.cxx:229 AliMUONDigitizerV3.cxx:230 AliMUONDigitizerV3.cxx:231 AliMUONDigitizerV3.cxx:232 AliMUONDigitizerV3.cxx:233 AliMUONDigitizerV3.cxx:234 AliMUONDigitizerV3.cxx:235 AliMUONDigitizerV3.cxx:236 AliMUONDigitizerV3.cxx:237 AliMUONDigitizerV3.cxx:238 AliMUONDigitizerV3.cxx:239 AliMUONDigitizerV3.cxx:240 AliMUONDigitizerV3.cxx:241 AliMUONDigitizerV3.cxx:242 AliMUONDigitizerV3.cxx:243 AliMUONDigitizerV3.cxx:244 AliMUONDigitizerV3.cxx:245 AliMUONDigitizerV3.cxx:246 AliMUONDigitizerV3.cxx:247 AliMUONDigitizerV3.cxx:248 AliMUONDigitizerV3.cxx:249 AliMUONDigitizerV3.cxx:250 AliMUONDigitizerV3.cxx:251 AliMUONDigitizerV3.cxx:252 AliMUONDigitizerV3.cxx:253 AliMUONDigitizerV3.cxx:254 AliMUONDigitizerV3.cxx:255 AliMUONDigitizerV3.cxx:256 AliMUONDigitizerV3.cxx:257 AliMUONDigitizerV3.cxx:258 AliMUONDigitizerV3.cxx:259 AliMUONDigitizerV3.cxx:260 AliMUONDigitizerV3.cxx:261 AliMUONDigitizerV3.cxx:262 AliMUONDigitizerV3.cxx:263 AliMUONDigitizerV3.cxx:264 AliMUONDigitizerV3.cxx:265 AliMUONDigitizerV3.cxx:266 AliMUONDigitizerV3.cxx:267 AliMUONDigitizerV3.cxx:268 AliMUONDigitizerV3.cxx:269 AliMUONDigitizerV3.cxx:270 AliMUONDigitizerV3.cxx:271 AliMUONDigitizerV3.cxx:272 AliMUONDigitizerV3.cxx:273 AliMUONDigitizerV3.cxx:274 AliMUONDigitizerV3.cxx:275 AliMUONDigitizerV3.cxx:276 AliMUONDigitizerV3.cxx:277 AliMUONDigitizerV3.cxx:278 AliMUONDigitizerV3.cxx:279 AliMUONDigitizerV3.cxx:280 AliMUONDigitizerV3.cxx:281 AliMUONDigitizerV3.cxx:282 AliMUONDigitizerV3.cxx:283 AliMUONDigitizerV3.cxx:284 AliMUONDigitizerV3.cxx:285 AliMUONDigitizerV3.cxx:286 AliMUONDigitizerV3.cxx:287 AliMUONDigitizerV3.cxx:288 AliMUONDigitizerV3.cxx:289 AliMUONDigitizerV3.cxx:290 AliMUONDigitizerV3.cxx:291 AliMUONDigitizerV3.cxx:292 AliMUONDigitizerV3.cxx:293 AliMUONDigitizerV3.cxx:294 AliMUONDigitizerV3.cxx:295 AliMUONDigitizerV3.cxx:296 AliMUONDigitizerV3.cxx:297 AliMUONDigitizerV3.cxx:298 AliMUONDigitizerV3.cxx:299 AliMUONDigitizerV3.cxx:300 AliMUONDigitizerV3.cxx:301 AliMUONDigitizerV3.cxx:302 AliMUONDigitizerV3.cxx:303 AliMUONDigitizerV3.cxx:304 AliMUONDigitizerV3.cxx:305 AliMUONDigitizerV3.cxx:306 AliMUONDigitizerV3.cxx:307 AliMUONDigitizerV3.cxx:308 AliMUONDigitizerV3.cxx:309 AliMUONDigitizerV3.cxx:310 AliMUONDigitizerV3.cxx:311 AliMUONDigitizerV3.cxx:312 AliMUONDigitizerV3.cxx:313 AliMUONDigitizerV3.cxx:314 AliMUONDigitizerV3.cxx:315 AliMUONDigitizerV3.cxx:316 AliMUONDigitizerV3.cxx:317 AliMUONDigitizerV3.cxx:318 AliMUONDigitizerV3.cxx:319 AliMUONDigitizerV3.cxx:320 AliMUONDigitizerV3.cxx:321 AliMUONDigitizerV3.cxx:322 AliMUONDigitizerV3.cxx:323 AliMUONDigitizerV3.cxx:324 AliMUONDigitizerV3.cxx:325 AliMUONDigitizerV3.cxx:326 AliMUONDigitizerV3.cxx:327 AliMUONDigitizerV3.cxx:328 AliMUONDigitizerV3.cxx:329 AliMUONDigitizerV3.cxx:330 AliMUONDigitizerV3.cxx:331 AliMUONDigitizerV3.cxx:332 AliMUONDigitizerV3.cxx:333 AliMUONDigitizerV3.cxx:334 AliMUONDigitizerV3.cxx:335 AliMUONDigitizerV3.cxx:336 AliMUONDigitizerV3.cxx:337 AliMUONDigitizerV3.cxx:338 AliMUONDigitizerV3.cxx:339 AliMUONDigitizerV3.cxx:340 AliMUONDigitizerV3.cxx:341 AliMUONDigitizerV3.cxx:342 AliMUONDigitizerV3.cxx:343 AliMUONDigitizerV3.cxx:344 AliMUONDigitizerV3.cxx:345 AliMUONDigitizerV3.cxx:346 AliMUONDigitizerV3.cxx:347 AliMUONDigitizerV3.cxx:348 AliMUONDigitizerV3.cxx:349 AliMUONDigitizerV3.cxx:350 AliMUONDigitizerV3.cxx:351 AliMUONDigitizerV3.cxx:352 AliMUONDigitizerV3.cxx:353 AliMUONDigitizerV3.cxx:354 AliMUONDigitizerV3.cxx:355 AliMUONDigitizerV3.cxx:356 AliMUONDigitizerV3.cxx:357 AliMUONDigitizerV3.cxx:358 AliMUONDigitizerV3.cxx:359 AliMUONDigitizerV3.cxx:360 AliMUONDigitizerV3.cxx:361 AliMUONDigitizerV3.cxx:362 AliMUONDigitizerV3.cxx:363 AliMUONDigitizerV3.cxx:364 AliMUONDigitizerV3.cxx:365 AliMUONDigitizerV3.cxx:366 AliMUONDigitizerV3.cxx:367 AliMUONDigitizerV3.cxx:368 AliMUONDigitizerV3.cxx:369 AliMUONDigitizerV3.cxx:370 AliMUONDigitizerV3.cxx:371 AliMUONDigitizerV3.cxx:372 AliMUONDigitizerV3.cxx:373 AliMUONDigitizerV3.cxx:374 AliMUONDigitizerV3.cxx:375 AliMUONDigitizerV3.cxx:376 AliMUONDigitizerV3.cxx:377 AliMUONDigitizerV3.cxx:378 AliMUONDigitizerV3.cxx:379 AliMUONDigitizerV3.cxx:380 AliMUONDigitizerV3.cxx:381 AliMUONDigitizerV3.cxx:382 AliMUONDigitizerV3.cxx:383 AliMUONDigitizerV3.cxx:384 AliMUONDigitizerV3.cxx:385 AliMUONDigitizerV3.cxx:386 AliMUONDigitizerV3.cxx:387 AliMUONDigitizerV3.cxx:388 AliMUONDigitizerV3.cxx:389 AliMUONDigitizerV3.cxx:390 AliMUONDigitizerV3.cxx:391 AliMUONDigitizerV3.cxx:392 AliMUONDigitizerV3.cxx:393 AliMUONDigitizerV3.cxx:394 AliMUONDigitizerV3.cxx:395 AliMUONDigitizerV3.cxx:396 AliMUONDigitizerV3.cxx:397 AliMUONDigitizerV3.cxx:398 AliMUONDigitizerV3.cxx:399 AliMUONDigitizerV3.cxx:400 AliMUONDigitizerV3.cxx:401 AliMUONDigitizerV3.cxx:402 AliMUONDigitizerV3.cxx:403 AliMUONDigitizerV3.cxx:404 AliMUONDigitizerV3.cxx:405 AliMUONDigitizerV3.cxx:406 AliMUONDigitizerV3.cxx:407 AliMUONDigitizerV3.cxx:408 AliMUONDigitizerV3.cxx:409 AliMUONDigitizerV3.cxx:410 AliMUONDigitizerV3.cxx:411 AliMUONDigitizerV3.cxx:412 AliMUONDigitizerV3.cxx:413 AliMUONDigitizerV3.cxx:414 AliMUONDigitizerV3.cxx:415 AliMUONDigitizerV3.cxx:416 AliMUONDigitizerV3.cxx:417 AliMUONDigitizerV3.cxx:418 AliMUONDigitizerV3.cxx:419 AliMUONDigitizerV3.cxx:420 AliMUONDigitizerV3.cxx:421 AliMUONDigitizerV3.cxx:422 AliMUONDigitizerV3.cxx:423 AliMUONDigitizerV3.cxx:424 AliMUONDigitizerV3.cxx:425 AliMUONDigitizerV3.cxx:426 AliMUONDigitizerV3.cxx:427 AliMUONDigitizerV3.cxx:428 AliMUONDigitizerV3.cxx:429 AliMUONDigitizerV3.cxx:430 AliMUONDigitizerV3.cxx:431 AliMUONDigitizerV3.cxx:432 AliMUONDigitizerV3.cxx:433 AliMUONDigitizerV3.cxx:434 AliMUONDigitizerV3.cxx:435 AliMUONDigitizerV3.cxx:436 AliMUONDigitizerV3.cxx:437 AliMUONDigitizerV3.cxx:438 AliMUONDigitizerV3.cxx:439 AliMUONDigitizerV3.cxx:440 AliMUONDigitizerV3.cxx:441 AliMUONDigitizerV3.cxx:442 AliMUONDigitizerV3.cxx:443 AliMUONDigitizerV3.cxx:444 AliMUONDigitizerV3.cxx:445 AliMUONDigitizerV3.cxx:446 AliMUONDigitizerV3.cxx:447 AliMUONDigitizerV3.cxx:448 AliMUONDigitizerV3.cxx:449 AliMUONDigitizerV3.cxx:450 AliMUONDigitizerV3.cxx:451 AliMUONDigitizerV3.cxx:452 AliMUONDigitizerV3.cxx:453 AliMUONDigitizerV3.cxx:454 AliMUONDigitizerV3.cxx:455 AliMUONDigitizerV3.cxx:456 AliMUONDigitizerV3.cxx:457 AliMUONDigitizerV3.cxx:458 AliMUONDigitizerV3.cxx:459 AliMUONDigitizerV3.cxx:460 AliMUONDigitizerV3.cxx:461 AliMUONDigitizerV3.cxx:462 AliMUONDigitizerV3.cxx:463 AliMUONDigitizerV3.cxx:464 AliMUONDigitizerV3.cxx:465 AliMUONDigitizerV3.cxx:466 AliMUONDigitizerV3.cxx:467 AliMUONDigitizerV3.cxx:468 AliMUONDigitizerV3.cxx:469 AliMUONDigitizerV3.cxx:470 AliMUONDigitizerV3.cxx:471 AliMUONDigitizerV3.cxx:472 AliMUONDigitizerV3.cxx:473 AliMUONDigitizerV3.cxx:474 AliMUONDigitizerV3.cxx:475 AliMUONDigitizerV3.cxx:476 AliMUONDigitizerV3.cxx:477 AliMUONDigitizerV3.cxx:478 AliMUONDigitizerV3.cxx:479 AliMUONDigitizerV3.cxx:480 AliMUONDigitizerV3.cxx:481 AliMUONDigitizerV3.cxx:482 AliMUONDigitizerV3.cxx:483 AliMUONDigitizerV3.cxx:484 AliMUONDigitizerV3.cxx:485 AliMUONDigitizerV3.cxx:486 AliMUONDigitizerV3.cxx:487 AliMUONDigitizerV3.cxx:488 AliMUONDigitizerV3.cxx:489 AliMUONDigitizerV3.cxx:490 AliMUONDigitizerV3.cxx:491 AliMUONDigitizerV3.cxx:492 AliMUONDigitizerV3.cxx:493 AliMUONDigitizerV3.cxx:494 AliMUONDigitizerV3.cxx:495 AliMUONDigitizerV3.cxx:496 AliMUONDigitizerV3.cxx:497 AliMUONDigitizerV3.cxx:498 AliMUONDigitizerV3.cxx:499 AliMUONDigitizerV3.cxx:500 AliMUONDigitizerV3.cxx:501 AliMUONDigitizerV3.cxx:502 AliMUONDigitizerV3.cxx:503 AliMUONDigitizerV3.cxx:504 AliMUONDigitizerV3.cxx:505 AliMUONDigitizerV3.cxx:506 AliMUONDigitizerV3.cxx:507 AliMUONDigitizerV3.cxx:508 AliMUONDigitizerV3.cxx:509 AliMUONDigitizerV3.cxx:510 AliMUONDigitizerV3.cxx:511 AliMUONDigitizerV3.cxx:512 AliMUONDigitizerV3.cxx:513 AliMUONDigitizerV3.cxx:514 AliMUONDigitizerV3.cxx:515 AliMUONDigitizerV3.cxx:516 AliMUONDigitizerV3.cxx:517 AliMUONDigitizerV3.cxx:518 AliMUONDigitizerV3.cxx:519 AliMUONDigitizerV3.cxx:520 AliMUONDigitizerV3.cxx:521 AliMUONDigitizerV3.cxx:522 AliMUONDigitizerV3.cxx:523 AliMUONDigitizerV3.cxx:524 AliMUONDigitizerV3.cxx:525 AliMUONDigitizerV3.cxx:526 AliMUONDigitizerV3.cxx:527 AliMUONDigitizerV3.cxx:528 AliMUONDigitizerV3.cxx:529 AliMUONDigitizerV3.cxx:530 AliMUONDigitizerV3.cxx:531 AliMUONDigitizerV3.cxx:532 AliMUONDigitizerV3.cxx:533 AliMUONDigitizerV3.cxx:534 AliMUONDigitizerV3.cxx:535 AliMUONDigitizerV3.cxx:536 AliMUONDigitizerV3.cxx:537 AliMUONDigitizerV3.cxx:538 AliMUONDigitizerV3.cxx:539 AliMUONDigitizerV3.cxx:540 AliMUONDigitizerV3.cxx:541 AliMUONDigitizerV3.cxx:542 AliMUONDigitizerV3.cxx:543 AliMUONDigitizerV3.cxx:544 AliMUONDigitizerV3.cxx:545 AliMUONDigitizerV3.cxx:546 AliMUONDigitizerV3.cxx:547 AliMUONDigitizerV3.cxx:548 AliMUONDigitizerV3.cxx:549 AliMUONDigitizerV3.cxx:550 AliMUONDigitizerV3.cxx:551 AliMUONDigitizerV3.cxx:552 AliMUONDigitizerV3.cxx:553 AliMUONDigitizerV3.cxx:554 AliMUONDigitizerV3.cxx:555 AliMUONDigitizerV3.cxx:556 AliMUONDigitizerV3.cxx:557 AliMUONDigitizerV3.cxx:558 AliMUONDigitizerV3.cxx:559 AliMUONDigitizerV3.cxx:560 AliMUONDigitizerV3.cxx:561 AliMUONDigitizerV3.cxx:562 AliMUONDigitizerV3.cxx:563 AliMUONDigitizerV3.cxx:564 AliMUONDigitizerV3.cxx:565 AliMUONDigitizerV3.cxx:566 AliMUONDigitizerV3.cxx:567 AliMUONDigitizerV3.cxx:568 AliMUONDigitizerV3.cxx:569 AliMUONDigitizerV3.cxx:570 AliMUONDigitizerV3.cxx:571 AliMUONDigitizerV3.cxx:572 AliMUONDigitizerV3.cxx:573 AliMUONDigitizerV3.cxx:574 AliMUONDigitizerV3.cxx:575 AliMUONDigitizerV3.cxx:576 AliMUONDigitizerV3.cxx:577 AliMUONDigitizerV3.cxx:578 AliMUONDigitizerV3.cxx:579 AliMUONDigitizerV3.cxx:580 AliMUONDigitizerV3.cxx:581 AliMUONDigitizerV3.cxx:582 AliMUONDigitizerV3.cxx:583 AliMUONDigitizerV3.cxx:584 AliMUONDigitizerV3.cxx:585 AliMUONDigitizerV3.cxx:586 AliMUONDigitizerV3.cxx:587 AliMUONDigitizerV3.cxx:588 AliMUONDigitizerV3.cxx:589 AliMUONDigitizerV3.cxx:590 AliMUONDigitizerV3.cxx:591 AliMUONDigitizerV3.cxx:592 AliMUONDigitizerV3.cxx:593 AliMUONDigitizerV3.cxx:594 AliMUONDigitizerV3.cxx:595 AliMUONDigitizerV3.cxx:596 AliMUONDigitizerV3.cxx:597 AliMUONDigitizerV3.cxx:598 AliMUONDigitizerV3.cxx:599 AliMUONDigitizerV3.cxx:600 AliMUONDigitizerV3.cxx:601 AliMUONDigitizerV3.cxx:602 AliMUONDigitizerV3.cxx:603 AliMUONDigitizerV3.cxx:604 AliMUONDigitizerV3.cxx:605 AliMUONDigitizerV3.cxx:606 AliMUONDigitizerV3.cxx:607 AliMUONDigitizerV3.cxx:608 AliMUONDigitizerV3.cxx:609 AliMUONDigitizerV3.cxx:610 AliMUONDigitizerV3.cxx:611 AliMUONDigitizerV3.cxx:612 AliMUONDigitizerV3.cxx:613 AliMUONDigitizerV3.cxx:614 AliMUONDigitizerV3.cxx:615 AliMUONDigitizerV3.cxx:616 AliMUONDigitizerV3.cxx:617 AliMUONDigitizerV3.cxx:618 AliMUONDigitizerV3.cxx:619 AliMUONDigitizerV3.cxx:620 AliMUONDigitizerV3.cxx:621 AliMUONDigitizerV3.cxx:622 AliMUONDigitizerV3.cxx:623 AliMUONDigitizerV3.cxx:624 AliMUONDigitizerV3.cxx:625 AliMUONDigitizerV3.cxx:626 AliMUONDigitizerV3.cxx:627 AliMUONDigitizerV3.cxx:628 AliMUONDigitizerV3.cxx:629 AliMUONDigitizerV3.cxx:630 AliMUONDigitizerV3.cxx:631 AliMUONDigitizerV3.cxx:632 AliMUONDigitizerV3.cxx:633 AliMUONDigitizerV3.cxx:634 AliMUONDigitizerV3.cxx:635 AliMUONDigitizerV3.cxx:636 AliMUONDigitizerV3.cxx:637 AliMUONDigitizerV3.cxx:638 AliMUONDigitizerV3.cxx:639 AliMUONDigitizerV3.cxx:640 AliMUONDigitizerV3.cxx:641 AliMUONDigitizerV3.cxx:642 AliMUONDigitizerV3.cxx:643 AliMUONDigitizerV3.cxx:644 AliMUONDigitizerV3.cxx:645 AliMUONDigitizerV3.cxx:646 AliMUONDigitizerV3.cxx:647 AliMUONDigitizerV3.cxx:648 AliMUONDigitizerV3.cxx:649 AliMUONDigitizerV3.cxx:650 AliMUONDigitizerV3.cxx:651 AliMUONDigitizerV3.cxx:652 AliMUONDigitizerV3.cxx:653 AliMUONDigitizerV3.cxx:654 AliMUONDigitizerV3.cxx:655 AliMUONDigitizerV3.cxx:656 AliMUONDigitizerV3.cxx:657 AliMUONDigitizerV3.cxx:658 AliMUONDigitizerV3.cxx:659 AliMUONDigitizerV3.cxx:660 AliMUONDigitizerV3.cxx:661 AliMUONDigitizerV3.cxx:662 AliMUONDigitizerV3.cxx:663 AliMUONDigitizerV3.cxx:664 AliMUONDigitizerV3.cxx:665 AliMUONDigitizerV3.cxx:666 AliMUONDigitizerV3.cxx:667 AliMUONDigitizerV3.cxx:668 AliMUONDigitizerV3.cxx:669 AliMUONDigitizerV3.cxx:670 AliMUONDigitizerV3.cxx:671 AliMUONDigitizerV3.cxx:672 AliMUONDigitizerV3.cxx:673 AliMUONDigitizerV3.cxx:674 AliMUONDigitizerV3.cxx:675 AliMUONDigitizerV3.cxx:676 AliMUONDigitizerV3.cxx:677 AliMUONDigitizerV3.cxx:678 AliMUONDigitizerV3.cxx:679 AliMUONDigitizerV3.cxx:680 AliMUONDigitizerV3.cxx:681 AliMUONDigitizerV3.cxx:682 AliMUONDigitizerV3.cxx:683 AliMUONDigitizerV3.cxx:684 AliMUONDigitizerV3.cxx:685 AliMUONDigitizerV3.cxx:686 AliMUONDigitizerV3.cxx:687 AliMUONDigitizerV3.cxx:688 AliMUONDigitizerV3.cxx:689 AliMUONDigitizerV3.cxx:690 AliMUONDigitizerV3.cxx:691 AliMUONDigitizerV3.cxx:692 AliMUONDigitizerV3.cxx:693 AliMUONDigitizerV3.cxx:694 AliMUONDigitizerV3.cxx:695 AliMUONDigitizerV3.cxx:696 AliMUONDigitizerV3.cxx:697 AliMUONDigitizerV3.cxx:698 AliMUONDigitizerV3.cxx:699 AliMUONDigitizerV3.cxx:700 AliMUONDigitizerV3.cxx:701 AliMUONDigitizerV3.cxx:702 AliMUONDigitizerV3.cxx:703 AliMUONDigitizerV3.cxx:704 AliMUONDigitizerV3.cxx:705 AliMUONDigitizerV3.cxx:706 AliMUONDigitizerV3.cxx:707 AliMUONDigitizerV3.cxx:708 AliMUONDigitizerV3.cxx:709 AliMUONDigitizerV3.cxx:710 AliMUONDigitizerV3.cxx:711 AliMUONDigitizerV3.cxx:712 AliMUONDigitizerV3.cxx:713 AliMUONDigitizerV3.cxx:714 AliMUONDigitizerV3.cxx:715 AliMUONDigitizerV3.cxx:716 AliMUONDigitizerV3.cxx:717 AliMUONDigitizerV3.cxx:718 AliMUONDigitizerV3.cxx:719 AliMUONDigitizerV3.cxx:720 AliMUONDigitizerV3.cxx:721 AliMUONDigitizerV3.cxx:722 AliMUONDigitizerV3.cxx:723 AliMUONDigitizerV3.cxx:724 AliMUONDigitizerV3.cxx:725 AliMUONDigitizerV3.cxx:726 AliMUONDigitizerV3.cxx:727 AliMUONDigitizerV3.cxx:728 AliMUONDigitizerV3.cxx:729 AliMUONDigitizerV3.cxx:730 AliMUONDigitizerV3.cxx:731 AliMUONDigitizerV3.cxx:732 AliMUONDigitizerV3.cxx:733 AliMUONDigitizerV3.cxx:734 AliMUONDigitizerV3.cxx:735 AliMUONDigitizerV3.cxx:736 AliMUONDigitizerV3.cxx:737 AliMUONDigitizerV3.cxx:738 AliMUONDigitizerV3.cxx:739 AliMUONDigitizerV3.cxx:740 AliMUONDigitizerV3.cxx:741 AliMUONDigitizerV3.cxx:742 AliMUONDigitizerV3.cxx:743 AliMUONDigitizerV3.cxx:744 AliMUONDigitizerV3.cxx:745 AliMUONDigitizerV3.cxx:746 AliMUONDigitizerV3.cxx:747 AliMUONDigitizerV3.cxx:748 AliMUONDigitizerV3.cxx:749 AliMUONDigitizerV3.cxx:750 AliMUONDigitizerV3.cxx:751 AliMUONDigitizerV3.cxx:752 AliMUONDigitizerV3.cxx:753 AliMUONDigitizerV3.cxx:754 AliMUONDigitizerV3.cxx:755 AliMUONDigitizerV3.cxx:756 AliMUONDigitizerV3.cxx:757 AliMUONDigitizerV3.cxx:758 AliMUONDigitizerV3.cxx:759 AliMUONDigitizerV3.cxx:760 AliMUONDigitizerV3.cxx:761 AliMUONDigitizerV3.cxx:762 AliMUONDigitizerV3.cxx:763 AliMUONDigitizerV3.cxx:764 AliMUONDigitizerV3.cxx:765 AliMUONDigitizerV3.cxx:766 AliMUONDigitizerV3.cxx:767 AliMUONDigitizerV3.cxx:768 AliMUONDigitizerV3.cxx:769 AliMUONDigitizerV3.cxx:770 AliMUONDigitizerV3.cxx:771 AliMUONDigitizerV3.cxx:772 AliMUONDigitizerV3.cxx:773 AliMUONDigitizerV3.cxx:774 AliMUONDigitizerV3.cxx:775 AliMUONDigitizerV3.cxx:776 AliMUONDigitizerV3.cxx:777 AliMUONDigitizerV3.cxx:778 AliMUONDigitizerV3.cxx:779 AliMUONDigitizerV3.cxx:780 AliMUONDigitizerV3.cxx:781 AliMUONDigitizerV3.cxx:782 AliMUONDigitizerV3.cxx:783 AliMUONDigitizerV3.cxx:784 AliMUONDigitizerV3.cxx:785 AliMUONDigitizerV3.cxx:786 AliMUONDigitizerV3.cxx:787 AliMUONDigitizerV3.cxx:788 AliMUONDigitizerV3.cxx:789 AliMUONDigitizerV3.cxx:790 AliMUONDigitizerV3.cxx:791 AliMUONDigitizerV3.cxx:792 AliMUONDigitizerV3.cxx:793 AliMUONDigitizerV3.cxx:794 AliMUONDigitizerV3.cxx:795 AliMUONDigitizerV3.cxx:796 AliMUONDigitizerV3.cxx:797 AliMUONDigitizerV3.cxx:798 AliMUONDigitizerV3.cxx:799 AliMUONDigitizerV3.cxx:800 AliMUONDigitizerV3.cxx:801 AliMUONDigitizerV3.cxx:802 AliMUONDigitizerV3.cxx:803 AliMUONDigitizerV3.cxx:804 AliMUONDigitizerV3.cxx:805 AliMUONDigitizerV3.cxx:806 AliMUONDigitizerV3.cxx:807 AliMUONDigitizerV3.cxx:808 AliMUONDigitizerV3.cxx:809 AliMUONDigitizerV3.cxx:810 AliMUONDigitizerV3.cxx:811 AliMUONDigitizerV3.cxx:812 AliMUONDigitizerV3.cxx:813 AliMUONDigitizerV3.cxx:814 AliMUONDigitizerV3.cxx:815 AliMUONDigitizerV3.cxx:816 AliMUONDigitizerV3.cxx:817 AliMUONDigitizerV3.cxx:818 AliMUONDigitizerV3.cxx:819 AliMUONDigitizerV3.cxx:820 AliMUONDigitizerV3.cxx:821 AliMUONDigitizerV3.cxx:822 AliMUONDigitizerV3.cxx:823 AliMUONDigitizerV3.cxx:824 AliMUONDigitizerV3.cxx:825 AliMUONDigitizerV3.cxx:826 AliMUONDigitizerV3.cxx:827 AliMUONDigitizerV3.cxx:828 AliMUONDigitizerV3.cxx:829 AliMUONDigitizerV3.cxx:830 AliMUONDigitizerV3.cxx:831 AliMUONDigitizerV3.cxx:832 AliMUONDigitizerV3.cxx:833 AliMUONDigitizerV3.cxx:834 AliMUONDigitizerV3.cxx:835 AliMUONDigitizerV3.cxx:836 AliMUONDigitizerV3.cxx:837 AliMUONDigitizerV3.cxx:838 AliMUONDigitizerV3.cxx:839 AliMUONDigitizerV3.cxx:840 AliMUONDigitizerV3.cxx:841 AliMUONDigitizerV3.cxx:842 AliMUONDigitizerV3.cxx:843 AliMUONDigitizerV3.cxx:844 AliMUONDigitizerV3.cxx:845 AliMUONDigitizerV3.cxx:846 AliMUONDigitizerV3.cxx:847 AliMUONDigitizerV3.cxx:848 AliMUONDigitizerV3.cxx:849 AliMUONDigitizerV3.cxx:850 AliMUONDigitizerV3.cxx:851 AliMUONDigitizerV3.cxx:852 AliMUONDigitizerV3.cxx:853 AliMUONDigitizerV3.cxx:854 AliMUONDigitizerV3.cxx:855 AliMUONDigitizerV3.cxx:856 AliMUONDigitizerV3.cxx:857 AliMUONDigitizerV3.cxx:858 AliMUONDigitizerV3.cxx:859 AliMUONDigitizerV3.cxx:860 AliMUONDigitizerV3.cxx:861 AliMUONDigitizerV3.cxx:862 AliMUONDigitizerV3.cxx:863 AliMUONDigitizerV3.cxx:864 AliMUONDigitizerV3.cxx:865 AliMUONDigitizerV3.cxx:866 AliMUONDigitizerV3.cxx:867 AliMUONDigitizerV3.cxx:868 AliMUONDigitizerV3.cxx:869 AliMUONDigitizerV3.cxx:870 AliMUONDigitizerV3.cxx:871 AliMUONDigitizerV3.cxx:872 AliMUONDigitizerV3.cxx:873 AliMUONDigitizerV3.cxx:874 AliMUONDigitizerV3.cxx:875 AliMUONDigitizerV3.cxx:876 AliMUONDigitizerV3.cxx:877 AliMUONDigitizerV3.cxx:878 AliMUONDigitizerV3.cxx:879 AliMUONDigitizerV3.cxx:880 AliMUONDigitizerV3.cxx:881 AliMUONDigitizerV3.cxx:882 AliMUONDigitizerV3.cxx:883 AliMUONDigitizerV3.cxx:884 AliMUONDigitizerV3.cxx:885 AliMUONDigitizerV3.cxx:886 AliMUONDigitizerV3.cxx:887 AliMUONDigitizerV3.cxx:888 AliMUONDigitizerV3.cxx:889 AliMUONDigitizerV3.cxx:890 AliMUONDigitizerV3.cxx:891 AliMUONDigitizerV3.cxx:892 AliMUONDigitizerV3.cxx:893 AliMUONDigitizerV3.cxx:894 AliMUONDigitizerV3.cxx:895 AliMUONDigitizerV3.cxx:896 AliMUONDigitizerV3.cxx:897 AliMUONDigitizerV3.cxx:898 AliMUONDigitizerV3.cxx:899 AliMUONDigitizerV3.cxx:900 AliMUONDigitizerV3.cxx:901 AliMUONDigitizerV3.cxx:902 AliMUONDigitizerV3.cxx:903 AliMUONDigitizerV3.cxx:904 AliMUONDigitizerV3.cxx:905 AliMUONDigitizerV3.cxx:906 AliMUONDigitizerV3.cxx:907 AliMUONDigitizerV3.cxx:908 AliMUONDigitizerV3.cxx:909 AliMUONDigitizerV3.cxx:910 AliMUONDigitizerV3.cxx:911 AliMUONDigitizerV3.cxx:912 AliMUONDigitizerV3.cxx:913 AliMUONDigitizerV3.cxx:914 AliMUONDigitizerV3.cxx:915 AliMUONDigitizerV3.cxx:916 AliMUONDigitizerV3.cxx:917 AliMUONDigitizerV3.cxx:918 AliMUONDigitizerV3.cxx:919 AliMUONDigitizerV3.cxx:920 AliMUONDigitizerV3.cxx:921 AliMUONDigitizerV3.cxx:922 AliMUONDigitizerV3.cxx:923 AliMUONDigitizerV3.cxx:924 AliMUONDigitizerV3.cxx:925 AliMUONDigitizerV3.cxx:926 AliMUONDigitizerV3.cxx:927 AliMUONDigitizerV3.cxx:928 AliMUONDigitizerV3.cxx:929 AliMUONDigitizerV3.cxx:930 AliMUONDigitizerV3.cxx:931 AliMUONDigitizerV3.cxx:932 AliMUONDigitizerV3.cxx:933 AliMUONDigitizerV3.cxx:934 AliMUONDigitizerV3.cxx:935 AliMUONDigitizerV3.cxx:936 AliMUONDigitizerV3.cxx:937 AliMUONDigitizerV3.cxx:938 AliMUONDigitizerV3.cxx:939 AliMUONDigitizerV3.cxx:940 AliMUONDigitizerV3.cxx:941 AliMUONDigitizerV3.cxx:942 AliMUONDigitizerV3.cxx:943 AliMUONDigitizerV3.cxx:944 AliMUONDigitizerV3.cxx:945 AliMUONDigitizerV3.cxx:946 AliMUONDigitizerV3.cxx:947 AliMUONDigitizerV3.cxx:948 AliMUONDigitizerV3.cxx:949 AliMUONDigitizerV3.cxx:950 AliMUONDigitizerV3.cxx:951 AliMUONDigitizerV3.cxx:952 AliMUONDigitizerV3.cxx:953 AliMUONDigitizerV3.cxx:954 AliMUONDigitizerV3.cxx:955 AliMUONDigitizerV3.cxx:956 AliMUONDigitizerV3.cxx:957 AliMUONDigitizerV3.cxx:958 AliMUONDigitizerV3.cxx:959 AliMUONDigitizerV3.cxx:960 AliMUONDigitizerV3.cxx:961 AliMUONDigitizerV3.cxx:962 AliMUONDigitizerV3.cxx:963 AliMUONDigitizerV3.cxx:964 AliMUONDigitizerV3.cxx:965 AliMUONDigitizerV3.cxx:966 AliMUONDigitizerV3.cxx:967 AliMUONDigitizerV3.cxx:968 AliMUONDigitizerV3.cxx:969 AliMUONDigitizerV3.cxx:970 AliMUONDigitizerV3.cxx:971 AliMUONDigitizerV3.cxx:972 AliMUONDigitizerV3.cxx:973 AliMUONDigitizerV3.cxx:974 AliMUONDigitizerV3.cxx:975 AliMUONDigitizerV3.cxx:976 AliMUONDigitizerV3.cxx:977 AliMUONDigitizerV3.cxx:978 AliMUONDigitizerV3.cxx:979