ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/

// $Id$

#include "AliMUONTrackerData.h"

#include "AliCodeTimer.h"
#include "AliDAQ.h"
#include "AliLog.h"
#include "AliMUON1DArray.h"
#include "AliMUON1DMap.h"
#include "AliMUON2DMap.h"
#include "AliMUONCalibParamND.h"
#include "AliMUONRejectList.h"
#include "AliMUONSparseHisto.h"
#include "AliMUONVStore.h"
#include "AliMpBusPatch.h"
#include "AliMpConstants.h"
#include "AliMpCDB.h"
#include "AliMpDDLStore.h"
#include "AliMpManuStore.h"
#include "AliMpDEIterator.h"
#include "AliMpDEManager.h"
#include "AliMpDetElement.h"
#include "AliMpDCSNamer.h"
#include "AliMpManuIterator.h"
#include "AliMpEncodePair.h"
#include "AliMpSegmentation.h"
#include <Riostream.h>
#include <TClass.h>
#include <TMath.h>
#include <TObjArray.h>
#include <TObjString.h>
#include <TString.h>
#include <TTimeStamp.h>
#include <TVector2.h>
#include <cassert>
#include <float.h>

/// \class AliMUONTrackerData
///
/// Implementation of AliMUONVTrackerData class
///
/// \author Laurent Aphecetche, Subatech

using std::cout;
using std::endl;
///\cond CLASSIMP
ClassImp(AliMUONTrackerData)
///\endcond

const Int_t AliMUONTrackerData::fgkExtraDimension = 2;
const Int_t AliMUONTrackerData::fgkVirtualExtraDimension = 1;

//_____________________________________________________________________________
AliMUONTrackerData::AliMUONTrackerData(const char* name, const char* title,
                                       Int_t dimension,
                                       Bool_t issingleevent)
: AliMUONVTrackerData(name,title),
fIsSingleEvent(issingleevent),
fChannelValues(0x0),
fManuValues(0x0),
fBusPatchValues(0x0),
fDEValues(0x0),
fChamberValues(0x0),
fPCBValues(0x0),
fDimension(External2Internal(dimension)+fgkExtraDimension),
fNevents(0),
fDimensionNames(new TObjArray(fDimension+fgkVirtualExtraDimension)),
fExternalDimensionNames(new TObjArray(dimension)),
fExternalDimension(dimension),
fHistogramming(new Int_t[fExternalDimension]),
fHistos(0x0),
fXmin(0.0),
fXmax(0.0),
fIsChannelLevelEnabled(kTRUE),
fIsManuLevelEnabled(kTRUE),
fIsBustPatchLevelEnabled(kTRUE),
fIsPCBLevelEnabled(kTRUE),
fNofDDLs(0),
fNofEventsPerDDL(0x0)
{  
  /// ctor
  memset(fHistogramming,0,fExternalDimension*sizeof(Int_t)); // histogramming is off by default. Use MakeHistogramForDimension to turn it on.
  fExternalDimensionNames->SetOwner(kTRUE);
  fDimensionNames->SetOwner(kTRUE);  
  fDimensionNames->AddAt(new TObjString("occ"),IndexOfOccupancyDimension());
  fDimensionNames->AddAt(new TObjString("N"),IndexOfNumberDimension());
  fDimensionNames->AddAt(new TObjString("n"),NumberOfDimensions()-fgkVirtualExtraDimension);
  Clear();
}

//_____________________________________________________________________________
AliMUONTrackerData::AliMUONTrackerData(const char* name, const char* title,
                                       const AliMUONVStore& manuValues)
: AliMUONVTrackerData(name,title),
fIsSingleEvent(kFALSE),
fChannelValues(0x0),
fManuValues(0x0),
fBusPatchValues(0x0),
fDEValues(0x0),
fChamberValues(0x0),
fPCBValues(0x0),
fDimension(0),
fNevents(0),
fDimensionNames(0x0),
fExternalDimensionNames(0x0),
fExternalDimension(0),
fHistogramming(0x0),
fHistos(0x0),
fXmin(0.0),
fXmax(0.0),
fIsChannelLevelEnabled(kFALSE),
fIsManuLevelEnabled(kTRUE),
fIsBustPatchLevelEnabled(kTRUE),
fIsPCBLevelEnabled(kTRUE),
fNofDDLs(0),
fNofEventsPerDDL(0x0)
{  
  /// ctor with pre-computed values at the manu level
  /// In this case, we force fIsChannelLevelEnabled = kFALSE
  /// ctor
  
  if (manuValues.GetSize()==0)
  {
    AliFatal("Cannot create a tracker data from nothing in that case !");
  }
  
  if ( !AliMpDDLStore::Instance(kFALSE) && !AliMpManuStore::Instance(kFALSE) )
  {
    AliError("Cannot work without (full) mapping");
    return;
  }
  
  TIter next(manuValues.CreateIterator());
  AliMUONVCalibParam* m = static_cast<AliMUONVCalibParam*>(next());
  
  Int_t dimension = ( m->Dimension() - fgkExtraDimension - fgkVirtualExtraDimension ) / 2;
  
  fDimension = External2Internal(dimension)+fgkExtraDimension;
  
  fDimensionNames = new TObjArray(fDimension+fgkVirtualExtraDimension);
  fExternalDimensionNames = new TObjArray(dimension);
  fExternalDimension = dimension;
  fHistogramming = new Int_t[fExternalDimension];
  memset(fHistogramming,0,fExternalDimension*sizeof(Int_t)); // histogramming is off by default. Use MakeHistogramForDimension to turn it on.

  fExternalDimensionNames->SetOwner(kTRUE);
  fDimensionNames->SetOwner(kTRUE);  
  fDimensionNames->AddAt(new TObjString("occ"),IndexOfOccupancyDimension());
  fDimensionNames->AddAt(new TObjString("N"),IndexOfNumberDimension());
  fDimensionNames->AddAt(new TObjString("n"),NumberOfDimensions()-fgkVirtualExtraDimension);
  Clear();
  TArrayI nevents(AliDAQ::NumberOfDdls("MUONTRK"));
  AssertStores();
  
  next.Reset();
  AliMUONVCalibParam* external;
  
  while ( ( external = static_cast<AliMUONVCalibParam*>(next()) ) )
  {
    Int_t detElemId, manuId;
    
    GetDEManu(*external,detElemId,manuId);
    
    AliMUONVCalibParam* chamber(0x0);
    AliMUONVCalibParam* de(0x0);
    AliMUONVCalibParam* busPatch(0x0);
    AliMUONVCalibParam* pcb(0x0);
    AliMUONVCalibParam* manu(0x0);
    AliMUONVCalibParam* channel(0x0);
    AliMpDetElement* mpde(0x0);
    
    AliMUONVCalibParam* wec = new AliMUONCalibParamND(external->Dimension()-1,1,detElemId,manuId,0);
    // as external, but without event count
    wec->SetValueAsDouble(0,0,external->ValueAsDouble(0,0));
    wec->SetValueAsDouble(0,1,external->ValueAsDouble(0,1));
    wec->SetValueAsDouble(0,2,external->ValueAsDouble(0,2));
    wec->SetValueAsDouble(0,3,external->ValueAsDouble(0,3));
    
    Int_t mid = GetParts(wec,chamber,de,busPatch,pcb,manu,channel,mpde);

    if ( manuId != mid ) 
    {
      AliError(Form("Something is wrong for DE %5d : manuId = %d vs mid = %d",detElemId,manuId,mid));
      continue;
    }
    
    if ( manuId < 0 ) 
    {
      AliError("Got a < 0 manuId. Should not happen here !");
      continue;
    }
    
    assert(channel==0x0);
    
    Int_t n1 = manu->ValueAsInt(0,IndexOfNumberDimension());
    Int_t n2 = external->ValueAsInt(0,IndexOfNumberDimension());
    if  ( n1 != n2 )
    {
      AliError(Form("Incoherent number of manu channels for DE %5d MANU %5d : %d vs %d",
                    detElemId,manuId,n1,n2));
    }
    
    Int_t nevt = external->ValueAsInt(0,4);
    
    Int_t busPatchId = AliMpDDLStore::Instance()->GetBusPatchId(detElemId,manuId);

    Int_t ddl = AliMpDDLStore::Instance()->GetDDLfromBus(busPatchId);

    if ( nevents[ddl] == 0 ) 
    {
      nevents[ddl] = nevt;
    }
    else
    {
      if ( nevents.At(ddl) != nevt ) 
      {
        AliError(Form("Nevt mismatch for DE %5d MANU %5d DDL %d : %d vs %d",
                      detElemId,manuId,ddl,nevents.At(ddl),nevt));
        continue;
      }
    }
    
    for ( Int_t i = 0; i < wec->Dimension()-1; ++i ) 
    {
      manu->SetValueAsDouble(0,i,manu->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
      
      busPatch->SetValueAsDouble(0,i,busPatch->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
      
      de->SetValueAsDouble(0,i,de->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
      
      chamber->SetValueAsDouble(0,i,chamber->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
    }    
    delete wec;
  }  
  
  UpdateNumberOfEvents(&nevents);

}

//_____________________________________________________________________________
AliMUONTrackerData::AliMUONTrackerData(const char* name, const char* title,
                                       const AliMUONVStore& deOrBpValues, Int_t val)
: AliMUONVTrackerData(name,title),
fIsSingleEvent(kFALSE),
fChannelValues(0x0),
fManuValues(0x0),
fBusPatchValues(0x0),
fDEValues(0x0),
fChamberValues(0x0),
fPCBValues(0x0),
fDimension(0),
fNevents(0),
fDimensionNames(0x0),
fExternalDimensionNames(0x0),
fExternalDimension(0),
fHistogramming(0x0),
fHistos(0x0),
fXmin(0.0),
fXmax(0.0),
fIsChannelLevelEnabled(kFALSE),
fIsManuLevelEnabled(kFALSE),
fIsBustPatchLevelEnabled(kFALSE),
fIsPCBLevelEnabled(kFALSE),
fNofDDLs(0),
fNofEventsPerDDL(0x0)
{  
  /// ctor with values at the detection element OR bus patch level
  /// In this case, we force fIsChannelLevelEnabled = fIsManuLevelEnabled = kFALSE
  /// ctor
  
  if (deOrBpValues.GetSize()==0)
  {
    AliFatal("Cannot create a tracker data from nothing in that case !");
  }
  
  if ( !AliMpDDLStore::Instance(kFALSE) && !AliMpManuStore::Instance(kFALSE) )
  {
    AliError("Cannot work without (full) mapping");
    return;
  }
  
  if ( val == 1 ) 
  {
    BuildFromDEStore(deOrBpValues);
  }
  else if ( val == 2 )
  {
    BuildFromBPStore(deOrBpValues);
  }
  else
  {
    AliFatal("Wrong parameter. Must be 1 or 2");
  }
  
  
}

//_____________________________________________________________________________
void AliMUONTrackerData::BuildFromDEStore(const AliMUONVStore& deValues)
{
  /// Fill internals from a store of values at the detection element level
  
  TIter next(deValues.CreateIterator());
  AliMUONVCalibParam* m = static_cast<AliMUONVCalibParam*>(next());
  
  Int_t dimension = ( m->Dimension() - fgkExtraDimension - fgkVirtualExtraDimension ) / 2;
  
  fDimension = External2Internal(dimension)+fgkExtraDimension;
  
  fDimensionNames = new TObjArray(fDimension+fgkVirtualExtraDimension);
  fExternalDimensionNames = new TObjArray(dimension);
  fExternalDimension = dimension;
  fHistogramming = new Int_t[fExternalDimension];
  memset(fHistogramming,0,fExternalDimension*sizeof(Int_t)); // histogramming is off by default. Use MakeHistogramForDimension to turn it on.
  
  fExternalDimensionNames->SetOwner(kTRUE);
  fDimensionNames->SetOwner(kTRUE);  
  fDimensionNames->AddAt(new TObjString("occ"),IndexOfOccupancyDimension());
  fDimensionNames->AddAt(new TObjString("N"),IndexOfNumberDimension());
  fDimensionNames->AddAt(new TObjString("n"),NumberOfDimensions()-fgkVirtualExtraDimension);
  Clear();
  TArrayI nevents(AliDAQ::NumberOfDdls("MUONTRK"));
  AssertStores();
  
  next.Reset();
  AliMUONVCalibParam* external;
  
  while ( ( external = static_cast<AliMUONVCalibParam*>(next()) ) )
  {
    Int_t detElemId = external->ID0();
    
    AliMpDetElement* mpde = AliMpDDLStore::Instance()->GetDetElement(detElemId,kFALSE);
    
    if (!mpde)
    {
      AliError(Form("Got an invalid DE (%d) from external store",detElemId));
      continue;
    }
    
    Int_t chamberId = AliMpDEManager::GetChamberId(detElemId);
    AliMUONVCalibParam* chamber = ChamberParam(chamberId,kTRUE);
    AliMUONVCalibParam* de = DetectionElementParam(detElemId,kTRUE);
    
    AliMUONVCalibParam* wec = new AliMUONCalibParamND(external->Dimension()-1,1,detElemId,0,0);
    // as external, but without event count
    wec->SetValueAsDouble(0,0,external->ValueAsDouble(0,0));
    wec->SetValueAsDouble(0,1,external->ValueAsDouble(0,1));
    wec->SetValueAsDouble(0,2,external->ValueAsDouble(0,2));
    wec->SetValueAsDouble(0,3,external->ValueAsDouble(0,3));
    
    Int_t n1 = de->ValueAsInt(0,IndexOfNumberDimension());
    Int_t n2 = external->ValueAsInt(0,IndexOfNumberDimension());
    if  ( n1 != n2 )
    {
      AliError(Form("Incoherent number of dimensions for DE%d : %d vs %d",
                    detElemId,n1,n2));
      continue;
    }
    
    Int_t nevt = external->ValueAsInt(0,4);
    
    Int_t ddl = mpde->GetDdlId();
    
    if ( nevents[ddl] == 0 ) 
    {
      nevents[ddl] = nevt;
    }
    else
    {
      if ( nevents.At(ddl) != nevt ) 
      {
        AliError(Form("Nevt mismatch for DE %5d  DDL %d : %d vs %d",
                      detElemId,ddl,nevents.At(ddl),nevt));
        continue;
      }
    }
    
    for ( Int_t i = 0; i < wec->Dimension()-1; ++i ) 
    {
      de->SetValueAsDouble(0,i,de->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
      
      chamber->SetValueAsDouble(0,i,chamber->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
    }    
    delete wec;
  }  
  
  UpdateNumberOfEvents(&nevents);
}

//_____________________________________________________________________________
void AliMUONTrackerData::BuildFromBPStore(const AliMUONVStore& bpValues)
{
  /// Fill internals from a store of values at the bus patch level
  
  fIsBustPatchLevelEnabled = kTRUE;
  
  TIter next(bpValues.CreateIterator());
  AliMUONVCalibParam* m = static_cast<AliMUONVCalibParam*>(next());
  
  Int_t dimension = ( m->Dimension() - fgkExtraDimension - fgkVirtualExtraDimension ) / 2;
  
  fDimension = External2Internal(dimension)+fgkExtraDimension;
  
  fDimensionNames = new TObjArray(fDimension+fgkVirtualExtraDimension);
  fExternalDimensionNames = new TObjArray(dimension);
  fExternalDimension = dimension;
  fHistogramming = new Int_t[fExternalDimension];
  memset(fHistogramming,0,fExternalDimension*sizeof(Int_t)); // histogramming is off by default. Use MakeHistogramForDimension to turn it on.
  
  fExternalDimensionNames->SetOwner(kTRUE);
  fDimensionNames->SetOwner(kTRUE);  
  fDimensionNames->AddAt(new TObjString("occ"),IndexOfOccupancyDimension());
  fDimensionNames->AddAt(new TObjString("N"),IndexOfNumberDimension());
  fDimensionNames->AddAt(new TObjString("n"),NumberOfDimensions()-fgkVirtualExtraDimension);
  Clear();
  TArrayI nevents(AliDAQ::NumberOfDdls("MUONTRK"));
  AssertStores();
  
  next.Reset();
  AliMUONVCalibParam* external;
  
  while ( ( external = static_cast<AliMUONVCalibParam*>(next()) ) )
  {
    Int_t busPatchId = external->ID0();
    
    AliMpBusPatch* mpbp = AliMpDDLStore::Instance()->GetBusPatch(busPatchId,kFALSE);
    
    if (!mpbp)
    {
      AliError(Form("Got an invalid buspatchId (%d) from external store",busPatchId));
      continue;
    }
    
    Int_t detElemId = AliMpDDLStore::Instance()->GetDEfromBus(busPatchId);
    Int_t chamberId = AliMpDEManager::GetChamberId(detElemId);
    AliMUONVCalibParam* chamber = ChamberParam(chamberId,kTRUE);
    AliMUONVCalibParam* de = DetectionElementParam(detElemId,kTRUE);
    AliMUONVCalibParam* bp = BusPatchParam(busPatchId,kTRUE);
    
    AliMUONVCalibParam* wec = new AliMUONCalibParamND(external->Dimension()-1,1,busPatchId,0,0);
    // as external, but without event count
    wec->SetValueAsDouble(0,0,external->ValueAsDouble(0,0));
    wec->SetValueAsDouble(0,1,external->ValueAsDouble(0,1));
    wec->SetValueAsDouble(0,2,external->ValueAsDouble(0,2));
    wec->SetValueAsDouble(0,3,external->ValueAsDouble(0,3));
    
    Int_t n1 = bp->ValueAsInt(0,IndexOfNumberDimension());
    Int_t n2 = external->ValueAsInt(0,IndexOfNumberDimension());
    if  ( n1 != n2 )
    {
      AliError(Form("Incoherent number of dimensions for BP%d : %d vs %d",
                    busPatchId,n1,n2));
      continue;
    }
    
    Int_t nevt = external->ValueAsInt(0,4);
    
    Int_t ddl = mpbp->GetDdlId();
    
    if ( nevents[ddl] == 0 ) 
    {
      nevents[ddl] = nevt;
    }
    else
    {
      if ( nevents.At(ddl) != nevt ) 
      {
        AliError(Form("Nevt mismatch for BP %5d  DDL %d : %d vs %d",
                      busPatchId,ddl,nevents.At(ddl),nevt));
        continue;
      }
    }
    
    for ( Int_t i = 0; i < wec->Dimension()-1; ++i ) 
    {
      bp->SetValueAsDouble(0,i,bp->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
      
      de->SetValueAsDouble(0,i,de->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
      
      chamber->SetValueAsDouble(0,i,chamber->ValueAsDouble(0,i) + wec->ValueAsDouble(0,i));
    }    
    delete wec;
  }  
  
  UpdateNumberOfEvents(&nevents);  
}

//_____________________________________________________________________________
AliMUONTrackerData::AliMUONTrackerData(const char* name, const char* title,
                                       const AliMUONRejectList& rejectList)
: AliMUONVTrackerData(name,title),
fIsSingleEvent(kFALSE),
fChannelValues(0x0),
fManuValues(0x0),
fBusPatchValues(0x0),
fDEValues(0x0),
fChamberValues(0x0),
fPCBValues(0x0),
fDimension(External2Internal(1)+fgkExtraDimension),
fNevents(0),
fDimensionNames(new TObjArray(fDimension+fgkVirtualExtraDimension)),
fExternalDimensionNames(new TObjArray(1)),
fExternalDimension(1),
fHistogramming(new Int_t[fExternalDimension]),
fHistos(0x0),
fXmin(0.0),
fXmax(0.0),
fIsChannelLevelEnabled(kTRUE),
fIsManuLevelEnabled(kTRUE),
fIsBustPatchLevelEnabled(kTRUE),
fIsPCBLevelEnabled(kFALSE),
fNofDDLs(0),
fNofEventsPerDDL(0x0)
{  
  
   /// ctor with values from the given rejectlist
    
  if ( !AliMpDDLStore::Instance(kFALSE) && !AliMpManuStore::Instance(kFALSE) )
  {
    AliError("Cannot work without (full) mapping");
    return;
  }
  
  memset(fHistogramming,0,fExternalDimension*sizeof(Int_t)); // histogramming is off by default. Use MakeHistogramForDimension to turn it on.
  
  fExternalDimensionNames->SetOwner(kTRUE);
  fDimensionNames->SetOwner(kTRUE);  
  fDimensionNames->AddAt(new TObjString("occ"),IndexOfOccupancyDimension());
  fDimensionNames->AddAt(new TObjString("N"),IndexOfNumberDimension());
  fDimensionNames->AddAt(new TObjString("n"),NumberOfDimensions()-fgkVirtualExtraDimension);
  Clear();
  TArrayI nevents(AliDAQ::NumberOfDdls("MUONTRK"));
  AssertStores();
  
  
  for ( Int_t chamberId = 0; chamberId < AliMpConstants::NofChambers(); ++chamberId ) 
  {
//    AliMUONVCalibParam* chamber = ChamberParam(chamberId,kTRUE);

    // FIXME : update the chamber value ?
    
    AliMpDEIterator deit;
  
    deit.First(chamberId);

    while ( !deit.IsDone() ) 
    {
      AliMpDetElement* mpde = deit.CurrentDE();
      
      Int_t detElemId = mpde->GetId();

      AliMUONVCalibParam* de = DetectionElementParam(detElemId,kTRUE);

      DispatchValue(*de,0,rejectList.DetectionElementProbability(detElemId),0.0,mpde->NofChannels());
      
      for ( Int_t iBusPatch = 0; iBusPatch < mpde->GetNofBusPatches(); ++iBusPatch ) 
      {
        Int_t busPatchId = mpde->GetBusPatchId(iBusPatch);
        
        AliMUONVCalibParam* bp = BusPatchParam(busPatchId,kTRUE);

        AliMpBusPatch* mpbp = AliMpDDLStore::Instance()->GetBusPatch(busPatchId);

        Int_t nch(0);
        
        for ( Int_t iManu = 0 ;iManu < mpbp->GetNofManus(); ++iManu )
        {
          Int_t manuId = mpbp->GetManuId(iManu);
          
          nch += mpde->NofChannelsInManu(manuId);
          
          AliMUONVCalibParam* manu = ManuParam(detElemId,manuId,kTRUE);
          
          DispatchValue(*manu,0,rejectList.ManuProbability(detElemId,manuId),0.0,mpde->NofChannelsInManu(manuId));
          
          AliMUONVCalibParam* c = ChannelParam(detElemId,manuId);
          
          if (!c)
          {
            c = new AliMUONCalibParamND(Dimension(),
                                        AliMpConstants::ManuNofChannels(),
                                        detElemId,
                                        manuId,
                                        0.0);
            fChannelValues->Add(c);
          }
          
          for ( Int_t manuChannel = 0; manuChannel < AliMpConstants::ManuNofChannels(); ++manuChannel )
          {
            DispatchValue(*c,manuChannel,rejectList.ChannelProbability(detElemId,manuId,manuChannel),0.0,1);
          }
        }

        DispatchValue(*bp,0,rejectList.BusPatchProbability(busPatchId),0.0,nch);

      }
      
      deit.Next();
    }
 
  }
  
  
  SetDimensionName(0,"RejectProba");

  UpdateNumberOfEvents(0x0);
}

//_____________________________________________________________________________
AliMUONTrackerData::~AliMUONTrackerData()
{
  /// dtor
  delete fChannelValues;
  delete fManuValues;
  delete fBusPatchValues;
  delete fDEValues;
  delete fChamberValues;
  delete fPCBValues;
  delete fDimensionNames;
  delete fExternalDimensionNames;
  delete[] fHistogramming;
  delete fHistos;
  delete[] fNofEventsPerDDL;
}

//_____________________________________________________________________________
Bool_t
AliMUONTrackerData::Add(const AliMUONVStore& store, TArrayI* nevents)
{
  /// Add the given external store to our internal store
  return InternalAdd(store,nevents,kFALSE);
}

//_____________________________________________________________________________
Bool_t 
AliMUONTrackerData::Add(const AliMUONTrackerData& data)
{
  /// Add data to *this
  // We do this by looping on all VCalibParam stored in the various containers,
  // and simply adding the values there.
  // Same thing for the number of events per DDL.
  // Same thing for sparsehistograms, if we have some.

  // First cross check we have compatible objects.
  
  AliCodeTimerAuto("",0);
  
  if ( fIsChannelLevelEnabled != data.fIsChannelLevelEnabled ) 
  {
    AliError("Incompatible IsChannelLevelEnabled status");
    return kFALSE;
  }
  
  if ( fIsManuLevelEnabled != data.fIsManuLevelEnabled ) 
  {
    AliError("Incompatible IsManuLevelEnabled status");
    return kFALSE;
  }
  
  if ( fIsSingleEvent != data.fIsSingleEvent ) 
  {
    AliError("Incompatible IsSingleEvent status");
    return kFALSE;
  }
  
  if ( fDimension != data.fDimension || fExternalDimension != data.fExternalDimension ) 
  {
    AliError("Incompatible dimensions");
    return kFALSE;
  }

  if ( fNofDDLs != data.fNofDDLs ) 
  {
    AliError("Incompatible number of Ddls");
    return kFALSE;
  }
  
  if ( ( !fHistogramming && data.fHistogramming ) || ( fHistogramming && !data.fHistogramming ) 
      || fXmin != data.fXmin || fXmax != data.fXmax ) 
  {
    AliError(Form("Incompatible histogramming (%p vs %p) (xmax = %e vs %e ; xmin = %e vs %e)",
             fHistogramming,data.fHistogramming,fXmax,data.fXmax,fXmin,data.fXmin));
    return kFALSE;
  }

  if ( fHistogramming )
  {
    for ( Int_t i = 0; i < fExternalDimension; ++i ) 
    {
      if ( fHistogramming[i] != data.fHistogramming[i] )
      {
        AliError(Form("Incompatible histogramming for external dimension %d",i));
        return kFALSE;
      }
    }
  }
  
  // OK. Seems we have compatible objects, so we can proceed with the actual
  // merging...
  
  if ( data.fChannelValues ) 
  {
    Add2D(*(data.fChannelValues),*fChannelValues);
  }
  
  if ( data.fManuValues ) 
  {
    Add2D(*(data.fManuValues),*fManuValues);
  }
  
  if ( data.fPCBValues ) 
  {
    Add2D(*(data.fPCBValues),*fPCBValues);
  }
  
  if ( data.fBusPatchValues ) 
  {
    Add1D(*(data.fBusPatchValues),*fBusPatchValues);
  }
  
  if ( data.fDEValues ) 
  {
    Add1D(*(data.fDEValues),*fDEValues);
  }
  
  if ( data.fChamberValues ) 
  {
    Add1D(*(data.fChamberValues),*fChamberValues);
  }

  for ( Int_t i = 0; i < fNofDDLs; ++i ) 
  {
    fNofEventsPerDDL[i] += data.fNofEventsPerDDL[i];
  }
  
  if ( data.fHistos ) 
  {
    TIter nexthisto(data.fHistos->CreateIterator());
    AliMUONVStore* store;
    while ( ( store = static_cast<AliMUONVStore*>(nexthisto()) ) )
    {
      TIter ns(store->CreateIterator());
      AliMUONSparseHisto* h;
      while ( ( h = static_cast<AliMUONSparseHisto*>(ns()) ) )
      {
        AliMUONVStore* thisStore = static_cast<AliMUONVStore*>(fHistos->FindObject(store->GetUniqueID()));
        
        if (!thisStore)
        {
          thisStore = store->Create();
          thisStore->SetUniqueID(store->GetUniqueID());
          fHistos->Add(thisStore);
        }
        
        AliMUONSparseHisto* mine = static_cast<AliMUONSparseHisto*>(thisStore->FindObject(h->GetUniqueID()));
        
        if (!mine) 
        {
          thisStore->Add(h);
        }
        else
        {
          mine->Add(*h);
        }
      }
    }
  }
  
  for ( Int_t i = 0 ; i < fNofDDLs; ++i ) 
  {
    fNevents = TMath::Max(fNevents,fNofEventsPerDDL[i]);
  }
  
  return kTRUE;
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::Add2D(const AliMUONVStore& src, AliMUONVStore& dest) const
{
  /// Add one 2d store to another
  
  TIter next(src.CreateIterator());
  AliMUONVCalibParam* p;
  
  while ( ( p = static_cast<AliMUONVCalibParam*>(next()) ) )
  {
    AliMUONVCalibParam* a = static_cast<AliMUONVCalibParam*>(dest.FindObject(p->ID0(),p->ID1()));
    
    if (!a)
    {
      dest.Add(static_cast<AliMUONVCalibParam*>(p->Clone()));
    }
    else
    {
      AddCalibParams(*p,*a);
    }
  }
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::Add1D(const AliMUONVStore& src, AliMUONVStore& dest) const
{
  /// Add one 1d store to another
  
  TIter next(src.CreateIterator());
  AliMUONVCalibParam* p;
  
  while ( ( p = static_cast<AliMUONVCalibParam*>(next()) ) )
  {
    AliMUONVCalibParam* a = static_cast<AliMUONVCalibParam*>(dest.FindObject(p->GetUniqueID()));
    
    if (!a)
    {
      dest.Add(static_cast<AliMUONVCalibParam*>(p->Clone()));
    }
    else
    {
      AddCalibParams(*p,*a);
    }
  }
}

//_____________________________________________________________________________
void
AliMUONTrackerData::AddCalibParams(const AliMUONVCalibParam& src, AliMUONVCalibParam& dest) const
{
  /// Add src to dest
  for ( Int_t i = 0; i < src.Size(); ++i ) 
  {
    for ( Int_t j = 0; j < src.Dimension(); ++j )
    {
      dest.SetValueAsFloat(i,j,dest.ValueAsFloat(i,j)+src.ValueAsFloat(i,j));
    }
  }
}

//_____________________________________________________________________________
Bool_t
AliMUONTrackerData::Replace(const AliMUONVStore& store)
{
  /// Replace our values by values from the given external store
  Bool_t rv = InternalAdd(store,0x0,kTRUE);
  AliMUONVTrackerData::Replace(store);
  return rv;
}

//_____________________________________________________________________________
Bool_t
AliMUONTrackerData::UpdateNumberOfEvents(TArrayI* nevents)
{
  /// Update the number of events
  
  if (!fNofDDLs)
  {
    fNofDDLs = AliDAQ::NumberOfDdls("MUONTRK");
    fNofEventsPerDDL = new Int_t[fNofDDLs];
    for ( Int_t i = 0; i < fNofDDLs; ++i ) 
    {
      fNofEventsPerDDL[i] = 0;
    }
  }
  
  if (nevents)
  {
    if (nevents->GetSize() != fNofDDLs ) 
    {
      AliError(Form("nof of ddl per event array size is incorrect : got %d, expecting %d",
                    nevents->GetSize(),fNofDDLs));
      return kFALSE;
    }
    
    for ( Int_t i = 0 ; i < fNofDDLs; ++i ) 
    {
      fNofEventsPerDDL[i] += nevents->At(i);
      fNevents = TMath::Max(fNevents,fNofEventsPerDDL[i]);
    }
  }
  else
  {
    for ( Int_t i = 0 ; i < fNofDDLs; ++i ) 
    {
      ++fNofEventsPerDDL[i];
      fNevents = TMath::Max(fNevents,fNofEventsPerDDL[i]);
    }
  }
  return kTRUE;
}

//_____________________________________________________________________________
void
AliMUONTrackerData::AssertStores()
{
  /// Insure our stores are allocated
  
  if (!fChamberValues)
  {
    Int_t numberOfBusPatches(0);
    Int_t numberOfDEs(0);
    
    // get number of bus patches and number of detection element
    // to initialize fBusPatchValues and fDEValues below
    
    if (!AliMpDDLStore::Instance(false))
    {
      AliMpCDB::LoadAll();
    }
    
    TIter next(AliMpDDLStore::Instance()->CreateBusPatchIterator());
    while ( next() ) ++numberOfBusPatches;
    AliMpDEIterator deIt;
    deIt.First();
    while (!deIt.IsDone())
    {
      ++numberOfDEs;
      deIt.Next();
    }
    
    if ( fIsChannelLevelEnabled ) 
    {
      fChannelValues = new AliMUON2DMap(kTRUE);
    }
    if  ( fIsManuLevelEnabled ) 
    {
      fManuValues = new AliMUON2DMap(kTRUE);
    }
    if ( fIsPCBLevelEnabled )
    {
      fPCBValues = new AliMUON2DMap(kFALSE);
    }
    if ( fIsBustPatchLevelEnabled )
    {
      fBusPatchValues = new AliMUON1DMap(numberOfBusPatches);
    }
    fDEValues = new AliMUON1DMap(numberOfDEs);
    fChamberValues = new AliMUON1DArray;
  }
}

//_____________________________________________________________________________
Bool_t
AliMUONTrackerData::InternalAdd(const AliMUONVStore& store, TArrayI* nevents, Bool_t replace)
{
  /// Add the given external store to our internal store
  
  AliCodeTimerAuto(GetName(),0);
    
  if ( !replace)
  {
    if ( IsSingleEvent() && NumberOfEvents(-1) == 1 ) 
    {
      AliError(Form("%s is supposed to be single event only",GetName()));
      return kFALSE;
    }  
  }

  UpdateNumberOfEvents(nevents);
  
  AssertStores();
  
  TIter next(store.CreateIterator());
  AliMUONVCalibParam* external;
  
  Int_t nk(2);
  
  if ( IsSingleEvent() ) nk = 1;

  while ( ( external = static_cast<AliMUONVCalibParam*>(next()) ) )
  {
    if ( external->Dimension() != ExternalDimension() )
    {
      AliError(Form("Incompatible dimensions %d vs %d",
                    external->Dimension(),ExternalDimension()));
      return kFALSE;
    }
    
    AliMUONVCalibParam* chamber(0x0);
    AliMUONVCalibParam* de(0x0);
    AliMUONVCalibParam* busPatch(0x0);
    AliMUONVCalibParam* pcb(0x0);
    AliMUONVCalibParam* manu(0x0);
    AliMUONVCalibParam* channel(0x0);
    AliMpDetElement* mpde(0x0);
    
    Int_t manuId = GetParts(external,chamber,de,busPatch,pcb,manu,channel,mpde);
    
    if ( manuId < 0 ) continue;
    
    Int_t detElemId = mpde->GetId();
    
    Double_t value[] = { 0.0, 0.0 };
    
    Int_t nch = mpde->NofChannelsInManu(manuId);
    
    for ( Int_t i = 0; i < external->Size(); ++i ) 
    {
      Bool_t existingChannel =  ( nch == AliMpConstants::ManuNofChannels() ? kTRUE
                                                                           : mpde->IsConnectedChannel(manuId,i));
      // note we only use IsConnectedChannel method when really needed, as
      // it costs (some) CPU time...
      
      if ( existingChannel ) 
      {
        Bool_t validChannel(kFALSE);
        
        for ( Int_t j = 0; j < external->Dimension(); ++j )
        {
          Double_t vext = external->IsDoublePrecision() ? 
            external->ValueAsDoubleFast(i,j) :
            external->ValueAsFloatFast(i,j);
          
          if ( vext >= AliMUONVCalibParam::InvalidFloatValue() ) continue;
          
          validChannel = kTRUE;
                    
          Int_t ix = External2Internal(j);
          
          value[0] = vext;
          value[1] = vext*vext;
          
          if ( IsHistogrammed(j) )
          {
            FillHisto(detElemId,manuId,i,j,vext);
          }
          
          for ( Int_t k = 0; k < nk; ++k ) 
          {
            Double_t e = ( replace && channel ) ? channel->ValueAsDoubleFast(i,ix+k) : 0.0;
            
						if ( channel ) 
						{
							channel->SetValueAsDoubleFast(i,ix+k,channel->ValueAsDoubleFast(i,ix+k)-e+value[k]);
						}
						
            if (manu)
            {
              manu->SetValueAsDoubleFast(0,ix+k,manu->ValueAsDoubleFast(0,ix+k)-e+value[k]);            
            }
            
            busPatch->SetValueAsDoubleFast(0,ix+k,busPatch->ValueAsDoubleFast(0,ix+k)-e+value[k]);
            
            de->SetValueAsDoubleFast(0,ix+k,de->ValueAsDoubleFast(0,ix+k)-e+value[k]);
            
            chamber->SetValueAsDoubleFast(0,ix+k,chamber->ValueAsDoubleFast(0,ix+k)-e+value[k]);
            
            if ( pcb ) 
            {
              pcb->SetValueAsDoubleFast(0,ix+k,pcb->ValueAsDoubleFast(0,ix+k)-e+value[k]);
            }
          }
        }
        
        if ( validChannel && !replace )
        {
					if ( channel ) 
					{
						channel->SetValueAsDoubleFast(i,IndexOfOccupancyDimension(),
																					channel->ValueAsDoubleFast(i,IndexOfOccupancyDimension())+1.0);
					}
					
          if (manu)
          {
            manu->SetValueAsDoubleFast(0,IndexOfOccupancyDimension(),
                                       manu->ValueAsDoubleFast(0,IndexOfOccupancyDimension())+1.0);        
          }
          
          busPatch->SetValueAsDoubleFast(0,IndexOfOccupancyDimension(),
                                                         busPatch->ValueAsDoubleFast(0,IndexOfOccupancyDimension())+1.0);        
          de->SetValueAsDoubleFast(0,IndexOfOccupancyDimension(),
                                             de->ValueAsDoubleFast(0,IndexOfOccupancyDimension())+1.0);        
          chamber->SetValueAsDoubleFast(0,IndexOfOccupancyDimension(),
                                                       chamber->ValueAsDoubleFast(0,IndexOfOccupancyDimension())+1.0); 
          if ( pcb ) 
          {
            pcb->SetValueAsDoubleFast(0,IndexOfOccupancyDimension(),
                                      pcb->ValueAsDoubleFast(0,IndexOfOccupancyDimension())+1.0);        
          }
        }
      }
    }
  }
  
  NumberOfEventsChanged();
  
  return kTRUE;
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::BusPatch(Int_t busPatchId, Int_t dim) const
{
  /// Return the value of a given buspatch for a given dimension
  /// or 0 if not existing
  AliMUONVCalibParam* param = BusPatchParam(busPatchId);
  return param ? Value(*param,0,dim,DdlIdFromBusPatchId(busPatchId)) : 0.0;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::BusPatchParam(Int_t busPatchId, Bool_t create) const
{
  /// Return (if it exist), the VCalibParam for a given busPatch
  
  AliMUONVCalibParam* busPatch = fBusPatchValues ? static_cast<AliMUONVCalibParam*>
    (fBusPatchValues->FindObject(busPatchId)) : 0x0;
  
  if (!busPatch && create && fBusPatchValues)
  {
    busPatch = CreateBusPatchParam(busPatchId);
    fBusPatchValues->Add(busPatch);
  }
  
  return busPatch;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::CreateBusPatchParam(Int_t busPatchId) const
{
  /// Create storage for one bus patch
  
  AliCodeTimerAuto("",0);
  
  AliMpBusPatch* bp = AliMpDDLStore::Instance()->GetBusPatch(busPatchId);
  
  if (!bp)
  {
    AliError(Form("Got an invalid buspatchId = %d",busPatchId));
    return 0x0;
  }
  
  AliMUONVCalibParam* busPatch = new AliMUONCalibParamND(Dimension(),1,busPatchId,0,0.0);
  
  // set the number of channels in that buspatch
  
  Int_t nchannels(0);
  
  Int_t detElemId = AliMpDDLStore::Instance()->GetDEfromBus(busPatchId);
  
  AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
  
  for ( Int_t i = 0; i < bp->GetNofManus(); ++i ) 
  {
    Int_t manuId = bp->GetManuId(i);
    nchannels += de->NofChannelsInManu(manuId);
  }
  
  busPatch->SetValueAsDouble(0,IndexOfNumberDimension(),nchannels);
  
  return busPatch;
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::Chamber(Int_t chamberId, Int_t dim) const
{
  /// Return the value fo a given chamber for a given dimension,
  /// or zero if not existing
  
  // FIXME: is the Value() correct wrt to number of events in the case of
  // chamber ? Or should we do something custom at the chamber level 
  // (as it spans several ddls) ?
  
  AliMUONVCalibParam* param = ChamberParam(chamberId);
  return param ? Value(*param,0,dim,DdlIdFromChamberId(chamberId)) : 0.0;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::ChamberParam(Int_t chamberId, Bool_t create) const
{
  /// Return (if it exist) the VCalibParam for a given chamber
  
  AliMUONVCalibParam* chamber =  fChamberValues ? static_cast<AliMUONVCalibParam*>
  (fChamberValues->FindObject(chamberId)) : 0x0;
  
  if (!chamber && create && fChamberValues)
  {
    chamber = CreateChamberParam(chamberId);
    fChamberValues->Add(chamber);
  }
    
  return chamber;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::CreateChamberParam(Int_t chamberId) const
{
  /// Create storage for one chamber
  
  AliCodeTimerAuto("",0);
  
  AliMUONVCalibParam* chamber = new AliMUONCalibParamND(Dimension(),1,chamberId,0,0.0);
  
  // set the number of channels in that chamber
  
  Int_t nchannels(0);
  
  AliMpDEIterator it;
  
  it.First(chamberId);
  
  while ( !it.IsDone() )
  {        
    AliMpDetElement* det = it.CurrentDE();
    
    for ( Int_t i = 0; i < det->GetNofBusPatches(); ++i ) 
    {
      Int_t busPatchId = det->GetBusPatchId(i);
      AliMpBusPatch* bp = AliMpDDLStore::Instance()->GetBusPatch(busPatchId);
      for ( Int_t j = 0; j < bp->GetNofManus(); ++j ) 
      {
        Int_t manuId = bp->GetManuId(j);
        nchannels += det->NofChannelsInManu(manuId);
      }        
    }
    
    it.Next();
  }
  
  chamber->SetValueAsDouble(0,IndexOfNumberDimension(),nchannels);
  
  return chamber;
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::Channel(Int_t detElemId, Int_t manuId, 
                            Int_t manuChannel, Int_t dim) const
{
  /// Return the value for a given channel for a given dimension
  
  AliMUONVCalibParam* param = ChannelParam(detElemId,manuId);
  
  return param ? Value(*param,manuChannel,dim,DdlIdFromDetElemId(detElemId)) : 0.0;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::ChannelParam(Int_t detElemId, Int_t manuId,
                                 const AliMUONVCalibParam* external) const
{
  /// Return (if it exist) the VCalibParam for a given manu
  
  AliMUONVCalibParam* param = fChannelValues ? static_cast<AliMUONVCalibParam*>
    (fChannelValues->FindObject(detElemId,manuId)) : 0x0 ;
  
  if (!param && external && fChannelValues)
  {
    param = CreateDouble(*external,detElemId,manuId);
    fChannelValues->Add(param);
  }
  
  return param;
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::Clear(Option_t*)
{
  /// Clear all the values
  if ( fChannelValues ) fChannelValues->Clear();
  if ( fManuValues ) fManuValues->Clear();
  if ( fBusPatchValues) fBusPatchValues->Clear();
  if ( fPCBValues ) fPCBValues->Clear();
  if ( fDEValues) fDEValues->Clear();
  if ( fChamberValues ) fChamberValues->Clear();
  if ( fHistos ) fHistos->Clear();
  for ( Int_t i = 0; i < fNofDDLs; ++i ) 
  {
    fNofEventsPerDDL[i] = 0;
  }
  fNevents = 0;
  NumberOfEventsChanged();
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::Count(Int_t detElemId, Int_t manuId, 
                          Int_t manuChannel) const
{
  /// Return the number of times a given channel had data
  
  return Channel(detElemId,manuId,manuChannel,IndexOfNumberDimension());
}

//_____________________________________________________________________________
AliMUONVCalibParam*
AliMUONTrackerData::CreateDouble(const AliMUONVCalibParam& param, 
                                 Int_t detElemId, Int_t manuId) const
{
  /// Create a double version of VCalibParam, for internal use
  
  AliCodeTimerAuto("",0);
  
  AliMUONVCalibParam* c = new AliMUONCalibParamND(Dimension(),
                                                  param.Size(),
                                                  detElemId,
                                                  manuId,
                                                  0.0);
  
  AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId,manuId);
  
  for ( Int_t i = 0; i < c->Size(); ++i ) 
  {
    Double_t value(0.0);
    
    if ( de->IsConnectedChannel(manuId,i) ) value = 1.0;
      
    c->SetValueAsDouble(i,IndexOfNumberDimension(),value);
  }
  
  return c;
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::DetectionElement(Int_t detElemId, Int_t dim) const
{
  /// Return the value for a given detection element for a given dimension
  AliMUONVCalibParam* param = DetectionElementParam(detElemId);
  return param ? Value(*param,0,dim,DdlIdFromDetElemId(detElemId)) : 0.0;

}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::DetectionElementParam(Int_t detElemId, Bool_t create) const
{
  /// Return (if it exist) the VCalibParam for a given detection element
  
  AliMUONVCalibParam* de = fDEValues ? static_cast<AliMUONVCalibParam*>
    (fDEValues->FindObject(detElemId)) : 0x0 ;
  
  if (!de && create && fDEValues)
  {
    de = CreateDetectionElementParam(detElemId);
    fDEValues->Add(de);
  }
  
  return de;
  
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::CreateDetectionElementParam(Int_t detElemId) const
{
  /// Create storage for one detection element
  
  AliCodeTimerAuto("",0);
  
  AliMUONVCalibParam*  de = new AliMUONCalibParamND(Dimension(),1,detElemId,0,0.0);
  
  AliMpDetElement* det = AliMpDDLStore::Instance()->GetDetElement(detElemId);
  Int_t nchannels(0);
  
  for ( Int_t i = 0; i < det->GetNofBusPatches(); ++i ) 
  {
    Int_t busPatchId = det->GetBusPatchId(i);
    AliMpBusPatch* bp = AliMpDDLStore::Instance()->GetBusPatch(busPatchId);
    for ( Int_t j = 0; j < bp->GetNofManus(); ++j ) 
    {
      Int_t manuId = bp->GetManuId(j);
      nchannels += det->NofChannelsInManu(manuId);
    }        
  }
  
  de->SetValueAsDouble(0,IndexOfNumberDimension(),nchannels);
  
  return de;
}

//_____________________________________________________________________________
Int_t 
AliMUONTrackerData::DdlIdFromBusPatchId(Int_t buspatchid) const
{
  /// Get the "local" ddlid (0..19) of a given buspatch
  AliMpBusPatch* bp = AliMpDDLStore::Instance()->GetBusPatch(buspatchid);
  if (bp)
  {
    return bp->GetDdlId();
  }
  return -1;
}

//_____________________________________________________________________________
Int_t 
AliMUONTrackerData::DdlIdFromDetElemId(Int_t detelemid) const
{
  /// Get the "local" ddlid (0..19) of a given detection element
  AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detelemid);
  if (de)
  {
    return de->GetDdlId();
  }
  return -1;
}

//_____________________________________________________________________________
Int_t 
AliMUONTrackerData::DdlIdFromChamberId(Int_t chamberid) const
{
  /// Get the "local" ddlid (0..19) of a given chamber
  /// This has no real meaning (as there are several ddls per chamber),
  /// so we take the ddlid where we got the max number of events
  
  AliMpDEIterator it;
  
  it.First(chamberid);
  Int_t n(0);
  Int_t d(-1);
  
  while (!it.IsDone())
  {
    Int_t detElemId = it.CurrentDEId();
    Int_t ddlId = DdlIdFromDetElemId(detElemId);
    if ( NumberOfEvents(ddlId) > n ) 
    {
      n = NumberOfEvents(ddlId);
      d = ddlId;
    }
    it.Next();
  }
  
  return d;
}

//_____________________________________________________________________________
TString 
AliMUONTrackerData::DimensionName(Int_t dim) const
{
  /// Get the name of a given dimension
  TObjString* value = static_cast<TObjString*>(fDimensionNames->At(dim));
  if ( value ) 
  {
    return value->String();
  }
  else
  {
    return TString("Invalid");
  }  
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::DisableChannelLevel()
{ 
  /// Disable the storing of data at channel level
  
  delete fChannelValues;
  fChannelValues = 0x0;
  fIsChannelLevelEnabled = kFALSE; 
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::DisableManuLevel()
{ 
  /// Disable the storing of data at manu level (and below)
  
  DisableChannelLevel();
  delete fManuValues;
  fManuValues = 0x0;
  fIsManuLevelEnabled = kFALSE; 
}

//_____________________________________________________________________________
Int_t 
AliMUONTrackerData::External2Internal(Int_t index) const 
{
  /// From external to internal dimension
  return IsSingleEvent() ? index : index*2;
}

//_____________________________________________________________________________
TString 
AliMUONTrackerData::ExternalDimensionName(Int_t dim) const
{
  /// Get the name of a given external dimension
  
  TObjString* value = static_cast<TObjString*>(fExternalDimensionNames->At(dim));
  if ( value ) 
  {
    return value->String();
  }
  else
  {
    return TString("Invalid");
  }  
}

//_____________________________________________________________________________
void
AliMUONTrackerData::FillHisto(Int_t detElemId, Int_t manuId, Int_t manuChannel,
                              Int_t dim, Double_t value)
{
  /// Fill histogram of a given channel
  
  AliMUONSparseHisto* h(0x0);
  
	if ( fIsChannelLevelEnabled ) 
	{
		h = GetChannelSparseHisto(detElemId, manuId, manuChannel,dim);
  }
  else if ( fIsManuLevelEnabled ) 
  {
    h = GetManuSparseHisto(detElemId,manuId,dim);
  }
  
  AliDebug(1,Form("DE %04d MANU %04d CH %02d dim %d value %e h %p",detElemId,manuId,manuChannel,dim,value,h));
  
  if (h)
  {
		h->Fill(static_cast<Int_t>(TMath::Nint(value)));
	}
}

//_____________________________________________________________________________
AliMUONSparseHisto*
AliMUONTrackerData::GetManuSparseHisto(Int_t detElemId, Int_t manuId, 
                                       Int_t dim) const
{
  /// Get histogram of a given manu
  
  if (!fHistos) return 0x0;
  
  AliMUON1DArray* m = static_cast<AliMUON1DArray*>(fHistos->FindObject(detElemId,manuId));
  if (!m) return 0x0;
  
  AliMUONSparseHisto* h = static_cast<AliMUONSparseHisto*>(m->FindObject(dim));
  
  return h;
}

//_____________________________________________________________________________
AliMUONSparseHisto*
AliMUONTrackerData::GetManuSparseHisto(Int_t detElemId, Int_t manuId, Int_t dim)
{
  /// Get histogram of a given manu. Create it if necessary
  
  if (!fHistos) fHistos = new AliMUON2DMap(kTRUE);
  
  AliMUON1DArray* m = static_cast<AliMUON1DArray*>(fHistos->FindObject(detElemId,manuId));
  if (!m)
  {
    m = new AliMUON1DArray(NumberOfDimensions());
    m->SetUniqueID( ( manuId << 16 ) | detElemId );
    fHistos->Add(m);
  }
    
  AliMUONSparseHisto* h = static_cast<AliMUONSparseHisto*>(m->FindObject(dim));
  if (!h)
  {
    h = new AliMUONSparseHisto(fXmin,fXmax);
    
    h->SetUniqueID(dim);
    
    m->Add(h);
  }
  
   return h;
}

//_____________________________________________________________________________
AliMUONSparseHisto*
AliMUONTrackerData::GetChannelSparseHisto(Int_t detElemId, Int_t manuId, 
                                          Int_t manuChannel, Int_t dim) const
{
  /// Get histogram of a given channel
  
  if (!fHistos) return 0x0;
  
  AliMUON1DMap* m = static_cast<AliMUON1DMap*>(fHistos->FindObject(detElemId,manuId));
  if (!m) return 0x0;
  
  UInt_t uid = ( manuChannel << 16 ) | dim;
  
  AliMUONSparseHisto* h = static_cast<AliMUONSparseHisto*>(m->FindObject(uid));
  
  return h;
}

//_____________________________________________________________________________
AliMUONSparseHisto*
AliMUONTrackerData::GetChannelSparseHisto(Int_t detElemId, Int_t manuId, 
                                          Int_t manuChannel, Int_t dim)
{
  /// Get histogram of a given channel. Create it if necessary
  
  if (!fHistos) fHistos = new AliMUON2DMap(kTRUE);
  
  AliMUON1DMap* m = static_cast<AliMUON1DMap*>(fHistos->FindObject(detElemId,manuId));
  if (!m)
  {
    m = new AliMUON1DMap(AliMpConstants::ManuNofChannels()); // start with only 1 dim
    m->SetUniqueID( ( manuId << 16 ) | detElemId );
    fHistos->Add(m);
  }
  
  UInt_t uid = ( manuChannel << 16 ) | dim;
  
  AliMUONSparseHisto* h = static_cast<AliMUONSparseHisto*>(m->FindObject(uid));
  if (!h)
  {
    h = new AliMUONSparseHisto(fXmin,fXmax);
    
    h->SetUniqueID(uid);
    
    m->Add(h);
  }

  return h;
}

//_____________________________________________________________________________
void
AliMUONTrackerData::GetDEManu(const AliMUONVCalibParam& param,
                              Int_t& detElemId, Int_t& manuId) const
{
  /// Tries to get (detElemId,manuId) of param
  
  // Load mapping manu store
  if ( ! AliMpCDB::LoadManuStore() ) {
    AliError("Could not access manu store from OCDB !");
    return;
  }

  if ( param.ID1() <= 0 ) 
  {
    // we (probably) get a manu serial number
    Int_t serial = param.ID0();
    MpPair_t pair = AliMpManuStore::Instance()->GetDetElemIdManu(serial);
    detElemId = AliMp::PairFirst(pair);
    manuId = AliMp::PairSecond(pair);
    if ( !detElemId ) 
    {
      AliDebug(1,Form("DE %d manuId %d from serial %d is not correct !",
                      detElemId,manuId,serial));
    }
  }
  else
  {
    // we get a (de,manu) pair
    detElemId = param.ID0();
    manuId = param.ID1();
  }
}


//_____________________________________________________________________________
Int_t
AliMUONTrackerData::GetParts(AliMUONVCalibParam* external,
                             AliMUONVCalibParam*& chamber,
                             AliMUONVCalibParam*& de,
                             AliMUONVCalibParam*& busPatch,
                             AliMUONVCalibParam*& pcb,
                             AliMUONVCalibParam*& manu,
                             AliMUONVCalibParam*& channel,
                             AliMpDetElement*& mpde)
{
  /// Get containers at all levels
 
  chamber = de = busPatch = pcb = manu = channel = 0x0;
  mpde = 0x0;
  
  AliMpDDLStore* ddlStore = AliMpDDLStore::Instance();
  
  Int_t detElemId;
  Int_t manuId;
  
  GetDEManu(*external,detElemId,manuId);
  
  mpde = ddlStore->GetDetElement(detElemId,kFALSE);

  if (!mpde) // can happen if reading e.g. capacitances store where we have data for non-connected manus
  {
    return -1;
  }
  
  // explicitely check that de,manu is correct
  const AliMpVSegmentation* mpseg = AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId, manuId,kFALSE);
  
  if (!mpseg)
  {
    return -1;
  }
  
  Int_t chamberId = AliMpDEManager::GetChamberId(detElemId);
    
  Int_t busPatchId = ddlStore->GetBusPatchId(detElemId,manuId);
  
  if ( busPatchId <= 0 )
  {
    return -1;
  }
  
  Int_t pcbIndex = -1;
  
  AliMp::StationType stationType = mpde->GetStationType();
  
  if ( stationType == AliMp::kStation345 ) 
  {
    AliMpDCSNamer namer("TRACKER");
    pcbIndex = namer.ManuId2PCBIndex(detElemId,manuId);
  }
  
  if ( fIsChannelLevelEnabled ) 
  {
    channel = ChannelParam(detElemId,manuId,external);
  }
  
  manu = ManuParam(detElemId,manuId,kTRUE);
  
  busPatch = BusPatchParam(busPatchId,kTRUE);
  
  de = DetectionElementParam(detElemId,kTRUE);
  
  chamber = ChamberParam(chamberId,kTRUE);
  
  pcb = 0x0;
  
  if ( pcbIndex >= 0 ) 
  {
    pcb = PCBParam(detElemId,pcbIndex,kTRUE);
  }
  
  return manuId;
}

//_____________________________________________________________________________
Bool_t 
AliMUONTrackerData::HasBusPatch(Int_t busPatchId) const
{
  /// Whether we have data for a given buspatch
  return ( BusPatchParam(busPatchId) != 0 );
}

//_____________________________________________________________________________
Bool_t 
AliMUONTrackerData::HasChamber(Int_t chamberId) const
{
  /// Whether we have data for a given chamber
  return ( ChamberParam(chamberId) != 0 );
}

//_____________________________________________________________________________
Bool_t 
AliMUONTrackerData::HasDetectionElement(Int_t detElemId) const
{
  /// Whether we have data for a given detection element
  return ( DetectionElementParam(detElemId) != 0 );
}

//_____________________________________________________________________________
Bool_t
AliMUONTrackerData::HasManu(Int_t detElemId, Int_t manuId) const
{
  /// Whether we have data for a given manu
  return ( ManuParam(detElemId,manuId) != 0 ); 
}

//_____________________________________________________________________________
Bool_t
AliMUONTrackerData::HasPCB(Int_t detElemId, Int_t pcbIndex) const
{
  /// Whether we have data for a given pcb
  return ( PCBParam(detElemId,pcbIndex) != 0 ); 
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::Manu(Int_t detElemId, Int_t manuId, Int_t dim) const
{
  /// Return the value for a given manu and a given dimension
  
  AliMUONVCalibParam* param = ManuParam(detElemId,manuId);
  return param ? Value(*param,0,dim,DdlIdFromDetElemId(detElemId)) : 0.0;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::ManuParam(Int_t detElemId, Int_t manuId, Bool_t create) const
{
  /// Get the VCalibParam for a given manu
  
  AliMUONVCalibParam* manu = fManuValues ? static_cast<AliMUONVCalibParam*>
    (fManuValues->FindObject(detElemId,manuId)) : 0x0 ;
  
  if (!manu && create && fManuValues)
  {
    manu = CreateManuParam(detElemId,manuId);
    fManuValues->Add(manu);
  }
  
  return manu;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::CreateManuParam(Int_t detElemId, Int_t manuId) const
{
  /// Create storage for one manu
  
  AliCodeTimerAuto("",0);
  
  AliMUONVCalibParam* manu = new AliMUONCalibParamND(Dimension(),1,detElemId,manuId,0.0);
  
  // set the number of channels in that manu
  
  AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(detElemId);
  
  manu->SetValueAsDouble(0,IndexOfNumberDimension(),de->NofChannelsInManu(manuId));
  
  return manu;
}

//_____________________________________________________________________________
Long64_t
AliMUONTrackerData::Merge(TCollection* list)
{
  /// Merge this with a list of AliMUONVTrackerData

  if (!list) return 0;
  
  if ( list->IsEmpty() ) return NumberOfEvents(-1);
  
  TIter next(list);
  const TObject* o(0x0);
  
  while ( ( o = next() ) )
  {
    const AliMUONTrackerData* data = dynamic_cast<const AliMUONTrackerData*>(o);
    if (!data)
    {
      AliError(Form("Object named %s is not an AliMUONTrackerData ! Skipping it",
                    o->GetName()));
    }
    else
    {
      Bool_t ok = Add(*data);
      if (!ok)
      {
        AliError("Got incompatible objects");
      }
    }
  }
  
  return NumberOfEvents(-1);
}

//_____________________________________________________________________________
Int_t 
AliMUONTrackerData::NumberOfDimensions() const
{
  /// Number of dimensions we're dealing with
  
  return fDimension + fgkVirtualExtraDimension; 
}

//_____________________________________________________________________________
Int_t
AliMUONTrackerData::NumberOfEvents(Int_t ddlNumber) const
{
  /// Get the number of events we've seen for a given DDL, or the max
  /// in case ddlNumber<0

  Int_t n(0);
  
  if ( fNofEventsPerDDL && ddlNumber >= 0 && ddlNumber < fNofDDLs )
  {
    n = fNofEventsPerDDL[ddlNumber];
  }
  else
  {
    // get the max number of events
    return fNevents;
  }
  
  return n;
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::PCB(Int_t detElemId, Int_t pcbIndex, Int_t dim) const
{
  /// Return the value of a given pcb for a given dimension

  AliMUONVCalibParam* param = PCBParam(detElemId,pcbIndex);
  
  return param ? Value(*param,0,dim,DdlIdFromDetElemId(detElemId)) : 0.0;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::PCBParam(Int_t detElemId, Int_t pcbIndex, Bool_t create) const
{
  /// Return (if it exist) the VCalibParam for a given pcb

  AliMUONVCalibParam* pcb =  fPCBValues ? static_cast<AliMUONVCalibParam*>
    (fPCBValues->FindObject(detElemId,pcbIndex)) : 0x0 ;
  
  if (create && fPCBValues && !pcb)
  {
    pcb = CreatePCBParam(detElemId,pcbIndex);
    fPCBValues->Add(pcb);
  }
  
  return pcb;
}

//_____________________________________________________________________________
AliMUONVCalibParam* 
AliMUONTrackerData::CreatePCBParam(Int_t detElemId, Int_t pcbIndex) const
{
  /// Create storage for one PCB (station345 only)
  
  AliCodeTimerAuto("",0);
  
  AliMpDCSNamer namer("TRACKER");
  
  AliMUONVCalibParam* pcb = new AliMUONCalibParamND(Dimension(),
                                                    namer.NumberOfPCBs(detElemId),
                                                    detElemId,
                                                    pcbIndex,
                                                    0.0);
  return pcb;
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::Print(Option_t* wildcard, Option_t* opt) const
{
  /// Printout
  
  TNamed::Print(opt);
  
  if ( !fIsSingleEvent ) 
  {
    for ( Int_t i = 0; i < fNofDDLs; ++i ) 
    {
      cout << Form("DDL %04d Nevents=%10d",AliDAQ::DdlID("MUONTRK",i),fNofEventsPerDDL[i]) << endl;
    }
  }

	if ( !fIsChannelLevelEnabled ) 
	{
		cout << "Is not storing data at the channel level" << endl;
	}

  if ( !fIsManuLevelEnabled ) 
	{
		cout << "Is not storing data at the manu level" << endl;
	}
  
  for ( Int_t i = 0; i <= fExternalDimensionNames->GetLast(); ++i ) 
  {
    TObjString* name = static_cast<TObjString*>(fExternalDimensionNames->At(i));
    cout << Form("External Dimension %2d Name %s %s",i,
                 ( name ? name->String().Data() : "null"),
                 ( IsHistogrammed(i) ? "(histogrammed)" : "")) << endl;
  }
  
  for ( Int_t i = 0; i <= fDimensionNames->GetLast(); ++i ) 
  {
    TObjString* name = static_cast<TObjString*>(fDimensionNames->At(i));
    cout << Form("Internal Dimension %2d Name %s",i,
                 ( name ? name->String().Data() : "null")) << endl;
  }
    
  TString sopt(opt);
  sopt.ToUpper();
  
  if ( sopt.Contains("CHANNEL") )
  {
    if ( fIsChannelLevelEnabled ) 
    {      
      if ( fChannelValues ) fChannelValues->Print(wildcard,opt);
    }
    else
    {
      AliWarning("You requested channel values, but they were not stored !");
    }
  }

  if ( sopt.Contains("MANU") )
  {
    if ( fIsManuLevelEnabled ) 
    {
      if ( fManuValues ) fManuValues->Print(wildcard,opt);
    }
    else
    {
      AliWarning("You requested manu values, but they were not stored !");
    }
  }

  if ( sopt.Contains("BUSPATCH") && fBusPatchValues ) 
  {
    fBusPatchValues->Print(wildcard,opt);
  }

  if ( sopt.Contains("DE") && fDEValues ) 
  {
    fDEValues->Print(wildcard,opt);
  }

  if ( sopt.Contains("CHAMBER") && fChamberValues ) 
  {
    fChamberValues->Print(wildcard,opt);
  }
  
}

//_____________________________________________________________________________
void
AliMUONTrackerData::SetDimensionName(Int_t index, const char* name)
{  
  /// Set the name of a given dimension

  if ( index >= fExternalDimension ) 
  {
    AliError(Form("%s : dimension %s : Index out of bounds : %d / %d",
                  GetName(),
                  name,index,fExternalDimension));
    return;
  }
  
  Int_t ix = External2Internal(index);
  
  if ( !IsSingleEvent() ) 
  {
    const char* prefix[] = { "mean", "sigma" };
  
    for ( Int_t i = 0; i < 2; ++i ) 
    {
      Int_t j = ix+i;
    
      SetInternalDimensionName(j,Form("%s of %s",prefix[i],name));
    }
  }
  else
  {
    SetInternalDimensionName(index,name);
  }
  
  SetExternalDimensionName(index,name);
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::MakeHistogramForDimension(Int_t index, Bool_t value, Double_t xmin, Double_t xmax)
{
  /// decide to make histos for a given dimension
  if ( index >= ExternalDimension() ) 
  {
    AliError(Form("Index out of bounds : %d / %d",index,ExternalDimension()));
    return;
  }
  
  AliWarning(Form("Will %s make histogram for data %s index %d : that might ressemble a memory leak depending on the input data",
                  value ? "":"not", GetName(),index));
  fHistogramming[index] = value;
  fXmin = xmin;
  fXmax = xmax;
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::SetInternalDimensionName(Int_t index, const char* value)
{
  /// Set the name of a given internal dimension
  if ( index >= fDimension ) 
  {
    AliError(Form("Index out of bounds : %d / %d",index,fDimension));
    return;
  }
  
  TObjString* ovalue = static_cast<TObjString*>(fDimensionNames->At(index));
    
  if ( ovalue ) 
  {
    fDimensionNames->Remove(ovalue);
    delete ovalue;
  }
  fDimensionNames->AddAt(new TObjString(value),index);
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::SetExternalDimensionName(Int_t index, const char* value)
{
  /// Set the name of a given external dimension
  if ( index >= fExternalDimension ) 
  {
    AliError(Form("Index out of bounds : %d / %d",index,fExternalDimension));
    return;
  }
  
  TObjString* ovalue = static_cast<TObjString*>(fExternalDimensionNames->At(index));
  
  if ( ovalue ) 
  {
    fExternalDimensionNames->Remove(ovalue);
    delete ovalue;
  }
  fExternalDimensionNames->AddAt(new TObjString(value),index);
}

//_____________________________________________________________________________
Double_t 
AliMUONTrackerData::Value(const AliMUONVCalibParam& param, Int_t i, 
                          Int_t dim, Int_t ddlId) const
{
  /// Compute the value for a given dim, using the internal information we have
  /// Basically we're converting sum of weights and sum of squares of weights
  /// into means and sigmas, and number of events into occupancy number.

  Double_t n = param.ValueAsDouble(i,IndexOfNumberDimension());
  
  if ( dim == IndexOfNumberDimension() ) return n; // the number of channels in any given element does not depend on the number of events
  
  Double_t occ = param.ValueAsDouble(i,IndexOfOccupancyDimension());

  if ( dim >= fDimension ) 
  {
    return occ;
  }
  
  if ( dim == IndexOfOccupancyDimension() ) 
  {
    if ( ddlId < 0 ) AliError("Got a negative ddl id !");
    return occ/n/NumberOfEvents(ddlId);
  }
  
  Double_t value = param.ValueAsDouble(i,dim);
  
  if ( value >= AliMUONVCalibParam::InvalidFloatValue() ) return AliMUONVCalibParam::InvalidFloatValue();
  
  if ( TMath::Even(dim) || IsSingleEvent() ) 
  {
		Double_t x = value/occ;
		
		return ( TMath::Finite(x) ? x : 0.0 ) ;
  }
  else
  {
    Double_t nn = occ;
    
    if ( nn > 1.0 ) 
    {
      Double_t mean = param.ValueAsDouble(i,dim-1)/nn;
    
      return TMath::Sqrt(TMath::Abs((value-nn*mean*mean)/(nn-1.0)));
    }
    else
    {
      return 0.0;
    }
  }
  
  AliError("Why am I here ?");
  return 0.0;
}

//_____________________________________________________________________________
void 
AliMUONTrackerData::Streamer(TBuffer &R__b)
{
  /// Customized streamer                                                    
  
  if (R__b.IsReading()) {
    AliMUONTrackerData::Class()->ReadBuffer(R__b, this);
    if ( !fNofDDLs )
    {
      // backward compatible mode : we set number of events
      // per DDL to the total number of events (the only information
      // we had before version 7 of that class)
      delete[] fNofEventsPerDDL;
      fNofDDLs=20;
      fNofEventsPerDDL = new Int_t[fNofDDLs];
      for ( Int_t i = 0; i < fNofDDLs; ++i ) 
      {
        fNofEventsPerDDL[i] = fNevents;
      }
    }
  } 
  else {
    AliMUONTrackerData::Class()->WriteBuffer(R__b, this);
  }
}

//_____________________________________________________________________________
Bool_t 
AliMUONTrackerData::ExportAsASCIIOccupancyFile(const char* filename, Int_t runNumber) const
{
  /// Export only the occupancy part, in a format compatible with what
  /// the online occupancy DA is writing
  
  if ( ! AliMpDDLStore::Instance(kFALSE) )
  {
    AliError("Mapping not loaded. Cannot work");
    return kFALSE;
  }
  
  if (!fManuValues)
  {
    AliError("No manu values. Cannot work");
    return kFALSE;
  }
  
  ofstream out(filename);
  
  if (out.bad())
  {
    AliError(Form("Cannot create file %s",filename));
    return kFALSE;
  }
  
  out << "//===========================================================================" << endl;
  out << "//  Hit counter exported from $Id$" << endl;
  out << "//===========================================================================" << endl;
  out << "//" << endl;
  out << "//       * Run Number          : " << runNumber << endl;
  out << "//       * File Creation Date  : " << TTimeStamp().AsString("l") << endl;
  out << "//---------------------------------------------------------------------------" << endl;
  out << "//  BP   MANU  SUM_N  NEVENTS" << endl;
  out << "//---------------------------------------------------------------------------" << endl;
  
  TIter next(fManuValues->CreateIterator());
  AliMUONVCalibParam* manu;
  
  while ( ( manu = static_cast<AliMUONVCalibParam*>(next()) ) )
  {
    Int_t detElemId = manu->ID0();
    Int_t manuId = manu->ID1();
    Int_t busPatchId = AliMpDDLStore::Instance()->GetBusPatchId(detElemId,manuId);
    Int_t ddl = AliMpDDLStore::Instance()->GetDDLfromBus( busPatchId);
    if ( busPatchId < 0 || ddl < 0 )
    {
      AliError(Form("Got invalid (DE,manu,bp,ddl)=(%d,%d,%d,%d). Skipping it",detElemId,manuId,busPatchId,ddl));
      continue;
    }

    Int_t nevents = fNofEventsPerDDL[ddl];
    
    out << Form("%5d %5d %10d %10d",busPatchId,manuId,manu->ValueAsInt(0,IndexOfOccupancyDimension()),nevents) << endl;
  }
  
  out.close();
  return kTRUE;
}
  
//_____________________________________________________________________________
void AliMUONTrackerData::DispatchValue(AliMUONVCalibParam& param, 
                                       Int_t index,
                                       Double_t y, 
                                       Double_t ey,
                                       Int_t nchannels)
{
  /// fills the calibparam with a single value
  
  Double_t sumn = 1000.0; // or any value strictly above 1
  Double_t sumw = sumn*y;
  Double_t sumw2 = (sumn-1)*ey*ey+sumw*sumw/sumn;
  
  param.SetValueAsDouble(index,0,sumw);
  param.SetValueAsDouble(index,1,sumw2);
  param.SetValueAsDouble(index,2,sumn);
  param.SetValueAsDouble(index,3,nchannels);
  
}
 AliMUONTrackerData.cxx:1
 AliMUONTrackerData.cxx:2
 AliMUONTrackerData.cxx:3
 AliMUONTrackerData.cxx:4
 AliMUONTrackerData.cxx:5
 AliMUONTrackerData.cxx:6
 AliMUONTrackerData.cxx:7
 AliMUONTrackerData.cxx:8
 AliMUONTrackerData.cxx:9
 AliMUONTrackerData.cxx:10
 AliMUONTrackerData.cxx:11
 AliMUONTrackerData.cxx:12
 AliMUONTrackerData.cxx:13
 AliMUONTrackerData.cxx:14
 AliMUONTrackerData.cxx:15
 AliMUONTrackerData.cxx:16
 AliMUONTrackerData.cxx:17
 AliMUONTrackerData.cxx:18
 AliMUONTrackerData.cxx:19
 AliMUONTrackerData.cxx:20
 AliMUONTrackerData.cxx:21
 AliMUONTrackerData.cxx:22
 AliMUONTrackerData.cxx:23
 AliMUONTrackerData.cxx:24
 AliMUONTrackerData.cxx:25
 AliMUONTrackerData.cxx:26
 AliMUONTrackerData.cxx:27
 AliMUONTrackerData.cxx:28
 AliMUONTrackerData.cxx:29
 AliMUONTrackerData.cxx:30
 AliMUONTrackerData.cxx:31
 AliMUONTrackerData.cxx:32
 AliMUONTrackerData.cxx:33
 AliMUONTrackerData.cxx:34
 AliMUONTrackerData.cxx:35
 AliMUONTrackerData.cxx:36
 AliMUONTrackerData.cxx:37
 AliMUONTrackerData.cxx:38
 AliMUONTrackerData.cxx:39
 AliMUONTrackerData.cxx:40
 AliMUONTrackerData.cxx:41
 AliMUONTrackerData.cxx:42
 AliMUONTrackerData.cxx:43
 AliMUONTrackerData.cxx:44
 AliMUONTrackerData.cxx:45
 AliMUONTrackerData.cxx:46
 AliMUONTrackerData.cxx:47
 AliMUONTrackerData.cxx:48
 AliMUONTrackerData.cxx:49
 AliMUONTrackerData.cxx:50
 AliMUONTrackerData.cxx:51
 AliMUONTrackerData.cxx:52
 AliMUONTrackerData.cxx:53
 AliMUONTrackerData.cxx:54
 AliMUONTrackerData.cxx:55
 AliMUONTrackerData.cxx:56
 AliMUONTrackerData.cxx:57
 AliMUONTrackerData.cxx:58
 AliMUONTrackerData.cxx:59
 AliMUONTrackerData.cxx:60
 AliMUONTrackerData.cxx:61
 AliMUONTrackerData.cxx:62
 AliMUONTrackerData.cxx:63
 AliMUONTrackerData.cxx:64
 AliMUONTrackerData.cxx:65
 AliMUONTrackerData.cxx:66
 AliMUONTrackerData.cxx:67
 AliMUONTrackerData.cxx:68
 AliMUONTrackerData.cxx:69
 AliMUONTrackerData.cxx:70
 AliMUONTrackerData.cxx:71
 AliMUONTrackerData.cxx:72
 AliMUONTrackerData.cxx:73
 AliMUONTrackerData.cxx:74
 AliMUONTrackerData.cxx:75
 AliMUONTrackerData.cxx:76
 AliMUONTrackerData.cxx:77
 AliMUONTrackerData.cxx:78
 AliMUONTrackerData.cxx:79
 AliMUONTrackerData.cxx:80
 AliMUONTrackerData.cxx:81
 AliMUONTrackerData.cxx:82
 AliMUONTrackerData.cxx:83
 AliMUONTrackerData.cxx:84
 AliMUONTrackerData.cxx:85
 AliMUONTrackerData.cxx:86
 AliMUONTrackerData.cxx:87
 AliMUONTrackerData.cxx:88
 AliMUONTrackerData.cxx:89
 AliMUONTrackerData.cxx:90
 AliMUONTrackerData.cxx:91
 AliMUONTrackerData.cxx:92
 AliMUONTrackerData.cxx:93
 AliMUONTrackerData.cxx:94
 AliMUONTrackerData.cxx:95
 AliMUONTrackerData.cxx:96
 AliMUONTrackerData.cxx:97
 AliMUONTrackerData.cxx:98
 AliMUONTrackerData.cxx:99
 AliMUONTrackerData.cxx:100
 AliMUONTrackerData.cxx:101
 AliMUONTrackerData.cxx:102
 AliMUONTrackerData.cxx:103
 AliMUONTrackerData.cxx:104
 AliMUONTrackerData.cxx:105
 AliMUONTrackerData.cxx:106
 AliMUONTrackerData.cxx:107
 AliMUONTrackerData.cxx:108
 AliMUONTrackerData.cxx:109
 AliMUONTrackerData.cxx:110
 AliMUONTrackerData.cxx:111
 AliMUONTrackerData.cxx:112
 AliMUONTrackerData.cxx:113
 AliMUONTrackerData.cxx:114
 AliMUONTrackerData.cxx:115
 AliMUONTrackerData.cxx:116
 AliMUONTrackerData.cxx:117
 AliMUONTrackerData.cxx:118
 AliMUONTrackerData.cxx:119
 AliMUONTrackerData.cxx:120
 AliMUONTrackerData.cxx:121
 AliMUONTrackerData.cxx:122
 AliMUONTrackerData.cxx:123
 AliMUONTrackerData.cxx:124
 AliMUONTrackerData.cxx:125
 AliMUONTrackerData.cxx:126
 AliMUONTrackerData.cxx:127
 AliMUONTrackerData.cxx:128
 AliMUONTrackerData.cxx:129
 AliMUONTrackerData.cxx:130
 AliMUONTrackerData.cxx:131
 AliMUONTrackerData.cxx:132
 AliMUONTrackerData.cxx:133
 AliMUONTrackerData.cxx:134
 AliMUONTrackerData.cxx:135
 AliMUONTrackerData.cxx:136
 AliMUONTrackerData.cxx:137
 AliMUONTrackerData.cxx:138
 AliMUONTrackerData.cxx:139
 AliMUONTrackerData.cxx:140
 AliMUONTrackerData.cxx:141
 AliMUONTrackerData.cxx:142
 AliMUONTrackerData.cxx:143
 AliMUONTrackerData.cxx:144
 AliMUONTrackerData.cxx:145
 AliMUONTrackerData.cxx:146
 AliMUONTrackerData.cxx:147
 AliMUONTrackerData.cxx:148
 AliMUONTrackerData.cxx:149
 AliMUONTrackerData.cxx:150
 AliMUONTrackerData.cxx:151
 AliMUONTrackerData.cxx:152
 AliMUONTrackerData.cxx:153
 AliMUONTrackerData.cxx:154
 AliMUONTrackerData.cxx:155
 AliMUONTrackerData.cxx:156
 AliMUONTrackerData.cxx:157
 AliMUONTrackerData.cxx:158
 AliMUONTrackerData.cxx:159
 AliMUONTrackerData.cxx:160
 AliMUONTrackerData.cxx:161
 AliMUONTrackerData.cxx:162
 AliMUONTrackerData.cxx:163
 AliMUONTrackerData.cxx:164
 AliMUONTrackerData.cxx:165
 AliMUONTrackerData.cxx:166
 AliMUONTrackerData.cxx:167
 AliMUONTrackerData.cxx:168
 AliMUONTrackerData.cxx:169
 AliMUONTrackerData.cxx:170
 AliMUONTrackerData.cxx:171
 AliMUONTrackerData.cxx:172
 AliMUONTrackerData.cxx:173
 AliMUONTrackerData.cxx:174
 AliMUONTrackerData.cxx:175
 AliMUONTrackerData.cxx:176
 AliMUONTrackerData.cxx:177
 AliMUONTrackerData.cxx:178
 AliMUONTrackerData.cxx:179
 AliMUONTrackerData.cxx:180
 AliMUONTrackerData.cxx:181
 AliMUONTrackerData.cxx:182
 AliMUONTrackerData.cxx:183
 AliMUONTrackerData.cxx:184
 AliMUONTrackerData.cxx:185
 AliMUONTrackerData.cxx:186
 AliMUONTrackerData.cxx:187
 AliMUONTrackerData.cxx:188
 AliMUONTrackerData.cxx:189
 AliMUONTrackerData.cxx:190
 AliMUONTrackerData.cxx:191
 AliMUONTrackerData.cxx:192
 AliMUONTrackerData.cxx:193
 AliMUONTrackerData.cxx:194
 AliMUONTrackerData.cxx:195
 AliMUONTrackerData.cxx:196
 AliMUONTrackerData.cxx:197
 AliMUONTrackerData.cxx:198
 AliMUONTrackerData.cxx:199
 AliMUONTrackerData.cxx:200
 AliMUONTrackerData.cxx:201
 AliMUONTrackerData.cxx:202
 AliMUONTrackerData.cxx:203
 AliMUONTrackerData.cxx:204
 AliMUONTrackerData.cxx:205
 AliMUONTrackerData.cxx:206
 AliMUONTrackerData.cxx:207
 AliMUONTrackerData.cxx:208
 AliMUONTrackerData.cxx:209
 AliMUONTrackerData.cxx:210
 AliMUONTrackerData.cxx:211
 AliMUONTrackerData.cxx:212
 AliMUONTrackerData.cxx:213
 AliMUONTrackerData.cxx:214
 AliMUONTrackerData.cxx:215
 AliMUONTrackerData.cxx:216
 AliMUONTrackerData.cxx:217
 AliMUONTrackerData.cxx:218
 AliMUONTrackerData.cxx:219
 AliMUONTrackerData.cxx:220
 AliMUONTrackerData.cxx:221
 AliMUONTrackerData.cxx:222
 AliMUONTrackerData.cxx:223
 AliMUONTrackerData.cxx:224
 AliMUONTrackerData.cxx:225
 AliMUONTrackerData.cxx:226
 AliMUONTrackerData.cxx:227
 AliMUONTrackerData.cxx:228
 AliMUONTrackerData.cxx:229
 AliMUONTrackerData.cxx:230
 AliMUONTrackerData.cxx:231
 AliMUONTrackerData.cxx:232
 AliMUONTrackerData.cxx:233
 AliMUONTrackerData.cxx:234
 AliMUONTrackerData.cxx:235
 AliMUONTrackerData.cxx:236
 AliMUONTrackerData.cxx:237
 AliMUONTrackerData.cxx:238
 AliMUONTrackerData.cxx:239
 AliMUONTrackerData.cxx:240
 AliMUONTrackerData.cxx:241
 AliMUONTrackerData.cxx:242
 AliMUONTrackerData.cxx:243
 AliMUONTrackerData.cxx:244
 AliMUONTrackerData.cxx:245
 AliMUONTrackerData.cxx:246
 AliMUONTrackerData.cxx:247
 AliMUONTrackerData.cxx:248
 AliMUONTrackerData.cxx:249
 AliMUONTrackerData.cxx:250
 AliMUONTrackerData.cxx:251
 AliMUONTrackerData.cxx:252
 AliMUONTrackerData.cxx:253
 AliMUONTrackerData.cxx:254
 AliMUONTrackerData.cxx:255
 AliMUONTrackerData.cxx:256
 AliMUONTrackerData.cxx:257
 AliMUONTrackerData.cxx:258
 AliMUONTrackerData.cxx:259
 AliMUONTrackerData.cxx:260
 AliMUONTrackerData.cxx:261
 AliMUONTrackerData.cxx:262
 AliMUONTrackerData.cxx:263
 AliMUONTrackerData.cxx:264
 AliMUONTrackerData.cxx:265
 AliMUONTrackerData.cxx:266
 AliMUONTrackerData.cxx:267
 AliMUONTrackerData.cxx:268
 AliMUONTrackerData.cxx:269
 AliMUONTrackerData.cxx:270
 AliMUONTrackerData.cxx:271
 AliMUONTrackerData.cxx:272
 AliMUONTrackerData.cxx:273
 AliMUONTrackerData.cxx:274
 AliMUONTrackerData.cxx:275
 AliMUONTrackerData.cxx:276
 AliMUONTrackerData.cxx:277
 AliMUONTrackerData.cxx:278
 AliMUONTrackerData.cxx:279
 AliMUONTrackerData.cxx:280
 AliMUONTrackerData.cxx:281
 AliMUONTrackerData.cxx:282
 AliMUONTrackerData.cxx:283
 AliMUONTrackerData.cxx:284
 AliMUONTrackerData.cxx:285
 AliMUONTrackerData.cxx:286
 AliMUONTrackerData.cxx:287
 AliMUONTrackerData.cxx:288
 AliMUONTrackerData.cxx:289
 AliMUONTrackerData.cxx:290
 AliMUONTrackerData.cxx:291
 AliMUONTrackerData.cxx:292
 AliMUONTrackerData.cxx:293
 AliMUONTrackerData.cxx:294
 AliMUONTrackerData.cxx:295
 AliMUONTrackerData.cxx:296
 AliMUONTrackerData.cxx:297
 AliMUONTrackerData.cxx:298
 AliMUONTrackerData.cxx:299
 AliMUONTrackerData.cxx:300
 AliMUONTrackerData.cxx:301
 AliMUONTrackerData.cxx:302
 AliMUONTrackerData.cxx:303
 AliMUONTrackerData.cxx:304
 AliMUONTrackerData.cxx:305
 AliMUONTrackerData.cxx:306
 AliMUONTrackerData.cxx:307
 AliMUONTrackerData.cxx:308
 AliMUONTrackerData.cxx:309
 AliMUONTrackerData.cxx:310
 AliMUONTrackerData.cxx:311
 AliMUONTrackerData.cxx:312
 AliMUONTrackerData.cxx:313
 AliMUONTrackerData.cxx:314
 AliMUONTrackerData.cxx:315
 AliMUONTrackerData.cxx:316
 AliMUONTrackerData.cxx:317
 AliMUONTrackerData.cxx:318
 AliMUONTrackerData.cxx:319
 AliMUONTrackerData.cxx:320
 AliMUONTrackerData.cxx:321
 AliMUONTrackerData.cxx:322
 AliMUONTrackerData.cxx:323
 AliMUONTrackerData.cxx:324
 AliMUONTrackerData.cxx:325
 AliMUONTrackerData.cxx:326
 AliMUONTrackerData.cxx:327
 AliMUONTrackerData.cxx:328
 AliMUONTrackerData.cxx:329
 AliMUONTrackerData.cxx:330
 AliMUONTrackerData.cxx:331
 AliMUONTrackerData.cxx:332
 AliMUONTrackerData.cxx:333
 AliMUONTrackerData.cxx:334
 AliMUONTrackerData.cxx:335
 AliMUONTrackerData.cxx:336
 AliMUONTrackerData.cxx:337
 AliMUONTrackerData.cxx:338
 AliMUONTrackerData.cxx:339
 AliMUONTrackerData.cxx:340
 AliMUONTrackerData.cxx:341
 AliMUONTrackerData.cxx:342
 AliMUONTrackerData.cxx:343
 AliMUONTrackerData.cxx:344
 AliMUONTrackerData.cxx:345
 AliMUONTrackerData.cxx:346
 AliMUONTrackerData.cxx:347
 AliMUONTrackerData.cxx:348
 AliMUONTrackerData.cxx:349
 AliMUONTrackerData.cxx:350
 AliMUONTrackerData.cxx:351
 AliMUONTrackerData.cxx:352
 AliMUONTrackerData.cxx:353
 AliMUONTrackerData.cxx:354
 AliMUONTrackerData.cxx:355
 AliMUONTrackerData.cxx:356
 AliMUONTrackerData.cxx:357
 AliMUONTrackerData.cxx:358
 AliMUONTrackerData.cxx:359
 AliMUONTrackerData.cxx:360
 AliMUONTrackerData.cxx:361
 AliMUONTrackerData.cxx:362
 AliMUONTrackerData.cxx:363
 AliMUONTrackerData.cxx:364
 AliMUONTrackerData.cxx:365
 AliMUONTrackerData.cxx:366
 AliMUONTrackerData.cxx:367
 AliMUONTrackerData.cxx:368
 AliMUONTrackerData.cxx:369
 AliMUONTrackerData.cxx:370
 AliMUONTrackerData.cxx:371
 AliMUONTrackerData.cxx:372
 AliMUONTrackerData.cxx:373
 AliMUONTrackerData.cxx:374
 AliMUONTrackerData.cxx:375
 AliMUONTrackerData.cxx:376
 AliMUONTrackerData.cxx:377
 AliMUONTrackerData.cxx:378
 AliMUONTrackerData.cxx:379
 AliMUONTrackerData.cxx:380
 AliMUONTrackerData.cxx:381
 AliMUONTrackerData.cxx:382
 AliMUONTrackerData.cxx:383
 AliMUONTrackerData.cxx:384
 AliMUONTrackerData.cxx:385
 AliMUONTrackerData.cxx:386
 AliMUONTrackerData.cxx:387
 AliMUONTrackerData.cxx:388
 AliMUONTrackerData.cxx:389
 AliMUONTrackerData.cxx:390
 AliMUONTrackerData.cxx:391
 AliMUONTrackerData.cxx:392
 AliMUONTrackerData.cxx:393
 AliMUONTrackerData.cxx:394
 AliMUONTrackerData.cxx:395
 AliMUONTrackerData.cxx:396
 AliMUONTrackerData.cxx:397
 AliMUONTrackerData.cxx:398
 AliMUONTrackerData.cxx:399
 AliMUONTrackerData.cxx:400
 AliMUONTrackerData.cxx:401
 AliMUONTrackerData.cxx:402
 AliMUONTrackerData.cxx:403
 AliMUONTrackerData.cxx:404
 AliMUONTrackerData.cxx:405
 AliMUONTrackerData.cxx:406
 AliMUONTrackerData.cxx:407
 AliMUONTrackerData.cxx:408
 AliMUONTrackerData.cxx:409
 AliMUONTrackerData.cxx:410
 AliMUONTrackerData.cxx:411
 AliMUONTrackerData.cxx:412
 AliMUONTrackerData.cxx:413
 AliMUONTrackerData.cxx:414
 AliMUONTrackerData.cxx:415
 AliMUONTrackerData.cxx:416
 AliMUONTrackerData.cxx:417
 AliMUONTrackerData.cxx:418
 AliMUONTrackerData.cxx:419
 AliMUONTrackerData.cxx:420
 AliMUONTrackerData.cxx:421
 AliMUONTrackerData.cxx:422
 AliMUONTrackerData.cxx:423
 AliMUONTrackerData.cxx:424
 AliMUONTrackerData.cxx:425
 AliMUONTrackerData.cxx:426
 AliMUONTrackerData.cxx:427
 AliMUONTrackerData.cxx:428
 AliMUONTrackerData.cxx:429
 AliMUONTrackerData.cxx:430
 AliMUONTrackerData.cxx:431
 AliMUONTrackerData.cxx:432
 AliMUONTrackerData.cxx:433
 AliMUONTrackerData.cxx:434
 AliMUONTrackerData.cxx:435
 AliMUONTrackerData.cxx:436
 AliMUONTrackerData.cxx:437
 AliMUONTrackerData.cxx:438
 AliMUONTrackerData.cxx:439
 AliMUONTrackerData.cxx:440
 AliMUONTrackerData.cxx:441
 AliMUONTrackerData.cxx:442
 AliMUONTrackerData.cxx:443
 AliMUONTrackerData.cxx:444
 AliMUONTrackerData.cxx:445
 AliMUONTrackerData.cxx:446
 AliMUONTrackerData.cxx:447
 AliMUONTrackerData.cxx:448
 AliMUONTrackerData.cxx:449
 AliMUONTrackerData.cxx:450
 AliMUONTrackerData.cxx:451
 AliMUONTrackerData.cxx:452
 AliMUONTrackerData.cxx:453
 AliMUONTrackerData.cxx:454
 AliMUONTrackerData.cxx:455
 AliMUONTrackerData.cxx:456
 AliMUONTrackerData.cxx:457
 AliMUONTrackerData.cxx:458
 AliMUONTrackerData.cxx:459
 AliMUONTrackerData.cxx:460
 AliMUONTrackerData.cxx:461
 AliMUONTrackerData.cxx:462
 AliMUONTrackerData.cxx:463
 AliMUONTrackerData.cxx:464
 AliMUONTrackerData.cxx:465
 AliMUONTrackerData.cxx:466
 AliMUONTrackerData.cxx:467
 AliMUONTrackerData.cxx:468
 AliMUONTrackerData.cxx:469
 AliMUONTrackerData.cxx:470
 AliMUONTrackerData.cxx:471
 AliMUONTrackerData.cxx:472
 AliMUONTrackerData.cxx:473
 AliMUONTrackerData.cxx:474
 AliMUONTrackerData.cxx:475
 AliMUONTrackerData.cxx:476
 AliMUONTrackerData.cxx:477
 AliMUONTrackerData.cxx:478
 AliMUONTrackerData.cxx:479
 AliMUONTrackerData.cxx:480
 AliMUONTrackerData.cxx:481
 AliMUONTrackerData.cxx:482
 AliMUONTrackerData.cxx:483
 AliMUONTrackerData.cxx:484
 AliMUONTrackerData.cxx:485
 AliMUONTrackerData.cxx:486
 AliMUONTrackerData.cxx:487
 AliMUONTrackerData.cxx:488
 AliMUONTrackerData.cxx:489
 AliMUONTrackerData.cxx:490
 AliMUONTrackerData.cxx:491
 AliMUONTrackerData.cxx:492
 AliMUONTrackerData.cxx:493
 AliMUONTrackerData.cxx:494
 AliMUONTrackerData.cxx:495
 AliMUONTrackerData.cxx:496
 AliMUONTrackerData.cxx:497
 AliMUONTrackerData.cxx:498
 AliMUONTrackerData.cxx:499
 AliMUONTrackerData.cxx:500
 AliMUONTrackerData.cxx:501
 AliMUONTrackerData.cxx:502
 AliMUONTrackerData.cxx:503
 AliMUONTrackerData.cxx:504
 AliMUONTrackerData.cxx:505
 AliMUONTrackerData.cxx:506
 AliMUONTrackerData.cxx:507
 AliMUONTrackerData.cxx:508
 AliMUONTrackerData.cxx:509
 AliMUONTrackerData.cxx:510
 AliMUONTrackerData.cxx:511
 AliMUONTrackerData.cxx:512
 AliMUONTrackerData.cxx:513
 AliMUONTrackerData.cxx:514
 AliMUONTrackerData.cxx:515
 AliMUONTrackerData.cxx:516
 AliMUONTrackerData.cxx:517
 AliMUONTrackerData.cxx:518
 AliMUONTrackerData.cxx:519
 AliMUONTrackerData.cxx:520
 AliMUONTrackerData.cxx:521
 AliMUONTrackerData.cxx:522
 AliMUONTrackerData.cxx:523
 AliMUONTrackerData.cxx:524
 AliMUONTrackerData.cxx:525
 AliMUONTrackerData.cxx:526
 AliMUONTrackerData.cxx:527
 AliMUONTrackerData.cxx:528
 AliMUONTrackerData.cxx:529
 AliMUONTrackerData.cxx:530
 AliMUONTrackerData.cxx:531
 AliMUONTrackerData.cxx:532
 AliMUONTrackerData.cxx:533
 AliMUONTrackerData.cxx:534
 AliMUONTrackerData.cxx:535
 AliMUONTrackerData.cxx:536
 AliMUONTrackerData.cxx:537
 AliMUONTrackerData.cxx:538
 AliMUONTrackerData.cxx:539
 AliMUONTrackerData.cxx:540
 AliMUONTrackerData.cxx:541
 AliMUONTrackerData.cxx:542
 AliMUONTrackerData.cxx:543
 AliMUONTrackerData.cxx:544
 AliMUONTrackerData.cxx:545
 AliMUONTrackerData.cxx:546
 AliMUONTrackerData.cxx:547
 AliMUONTrackerData.cxx:548
 AliMUONTrackerData.cxx:549
 AliMUONTrackerData.cxx:550
 AliMUONTrackerData.cxx:551
 AliMUONTrackerData.cxx:552
 AliMUONTrackerData.cxx:553
 AliMUONTrackerData.cxx:554
 AliMUONTrackerData.cxx:555
 AliMUONTrackerData.cxx:556
 AliMUONTrackerData.cxx:557
 AliMUONTrackerData.cxx:558
 AliMUONTrackerData.cxx:559
 AliMUONTrackerData.cxx:560
 AliMUONTrackerData.cxx:561
 AliMUONTrackerData.cxx:562
 AliMUONTrackerData.cxx:563
 AliMUONTrackerData.cxx:564
 AliMUONTrackerData.cxx:565
 AliMUONTrackerData.cxx:566
 AliMUONTrackerData.cxx:567
 AliMUONTrackerData.cxx:568
 AliMUONTrackerData.cxx:569
 AliMUONTrackerData.cxx:570
 AliMUONTrackerData.cxx:571
 AliMUONTrackerData.cxx:572
 AliMUONTrackerData.cxx:573
 AliMUONTrackerData.cxx:574
 AliMUONTrackerData.cxx:575
 AliMUONTrackerData.cxx:576
 AliMUONTrackerData.cxx:577
 AliMUONTrackerData.cxx:578
 AliMUONTrackerData.cxx:579
 AliMUONTrackerData.cxx:580
 AliMUONTrackerData.cxx:581
 AliMUONTrackerData.cxx:582
 AliMUONTrackerData.cxx:583
 AliMUONTrackerData.cxx:584
 AliMUONTrackerData.cxx:585
 AliMUONTrackerData.cxx:586
 AliMUONTrackerData.cxx:587
 AliMUONTrackerData.cxx:588
 AliMUONTrackerData.cxx:589
 AliMUONTrackerData.cxx:590
 AliMUONTrackerData.cxx:591
 AliMUONTrackerData.cxx:592
 AliMUONTrackerData.cxx:593
 AliMUONTrackerData.cxx:594
 AliMUONTrackerData.cxx:595
 AliMUONTrackerData.cxx:596
 AliMUONTrackerData.cxx:597
 AliMUONTrackerData.cxx:598
 AliMUONTrackerData.cxx:599
 AliMUONTrackerData.cxx:600
 AliMUONTrackerData.cxx:601
 AliMUONTrackerData.cxx:602
 AliMUONTrackerData.cxx:603
 AliMUONTrackerData.cxx:604
 AliMUONTrackerData.cxx:605
 AliMUONTrackerData.cxx:606
 AliMUONTrackerData.cxx:607
 AliMUONTrackerData.cxx:608
 AliMUONTrackerData.cxx:609
 AliMUONTrackerData.cxx:610
 AliMUONTrackerData.cxx:611
 AliMUONTrackerData.cxx:612
 AliMUONTrackerData.cxx:613
 AliMUONTrackerData.cxx:614
 AliMUONTrackerData.cxx:615
 AliMUONTrackerData.cxx:616
 AliMUONTrackerData.cxx:617
 AliMUONTrackerData.cxx:618
 AliMUONTrackerData.cxx:619
 AliMUONTrackerData.cxx:620
 AliMUONTrackerData.cxx:621
 AliMUONTrackerData.cxx:622
 AliMUONTrackerData.cxx:623
 AliMUONTrackerData.cxx:624
 AliMUONTrackerData.cxx:625
 AliMUONTrackerData.cxx:626
 AliMUONTrackerData.cxx:627
 AliMUONTrackerData.cxx:628
 AliMUONTrackerData.cxx:629
 AliMUONTrackerData.cxx:630
 AliMUONTrackerData.cxx:631
 AliMUONTrackerData.cxx:632
 AliMUONTrackerData.cxx:633
 AliMUONTrackerData.cxx:634
 AliMUONTrackerData.cxx:635
 AliMUONTrackerData.cxx:636
 AliMUONTrackerData.cxx:637
 AliMUONTrackerData.cxx:638
 AliMUONTrackerData.cxx:639
 AliMUONTrackerData.cxx:640
 AliMUONTrackerData.cxx:641
 AliMUONTrackerData.cxx:642
 AliMUONTrackerData.cxx:643
 AliMUONTrackerData.cxx:644
 AliMUONTrackerData.cxx:645
 AliMUONTrackerData.cxx:646
 AliMUONTrackerData.cxx:647
 AliMUONTrackerData.cxx:648
 AliMUONTrackerData.cxx:649
 AliMUONTrackerData.cxx:650
 AliMUONTrackerData.cxx:651
 AliMUONTrackerData.cxx:652
 AliMUONTrackerData.cxx:653
 AliMUONTrackerData.cxx:654
 AliMUONTrackerData.cxx:655
 AliMUONTrackerData.cxx:656
 AliMUONTrackerData.cxx:657
 AliMUONTrackerData.cxx:658
 AliMUONTrackerData.cxx:659
 AliMUONTrackerData.cxx:660
 AliMUONTrackerData.cxx:661
 AliMUONTrackerData.cxx:662
 AliMUONTrackerData.cxx:663
 AliMUONTrackerData.cxx:664
 AliMUONTrackerData.cxx:665
 AliMUONTrackerData.cxx:666
 AliMUONTrackerData.cxx:667
 AliMUONTrackerData.cxx:668
 AliMUONTrackerData.cxx:669
 AliMUONTrackerData.cxx:670
 AliMUONTrackerData.cxx:671
 AliMUONTrackerData.cxx:672
 AliMUONTrackerData.cxx:673
 AliMUONTrackerData.cxx:674
 AliMUONTrackerData.cxx:675
 AliMUONTrackerData.cxx:676
 AliMUONTrackerData.cxx:677
 AliMUONTrackerData.cxx:678
 AliMUONTrackerData.cxx:679
 AliMUONTrackerData.cxx:680
 AliMUONTrackerData.cxx:681
 AliMUONTrackerData.cxx:682
 AliMUONTrackerData.cxx:683
 AliMUONTrackerData.cxx:684
 AliMUONTrackerData.cxx:685
 AliMUONTrackerData.cxx:686
 AliMUONTrackerData.cxx:687
 AliMUONTrackerData.cxx:688
 AliMUONTrackerData.cxx:689
 AliMUONTrackerData.cxx:690
 AliMUONTrackerData.cxx:691
 AliMUONTrackerData.cxx:692
 AliMUONTrackerData.cxx:693
 AliMUONTrackerData.cxx:694
 AliMUONTrackerData.cxx:695
 AliMUONTrackerData.cxx:696
 AliMUONTrackerData.cxx:697
 AliMUONTrackerData.cxx:698
 AliMUONTrackerData.cxx:699
 AliMUONTrackerData.cxx:700
 AliMUONTrackerData.cxx:701
 AliMUONTrackerData.cxx:702
 AliMUONTrackerData.cxx:703
 AliMUONTrackerData.cxx:704
 AliMUONTrackerData.cxx:705
 AliMUONTrackerData.cxx:706
 AliMUONTrackerData.cxx:707
 AliMUONTrackerData.cxx:708
 AliMUONTrackerData.cxx:709
 AliMUONTrackerData.cxx:710
 AliMUONTrackerData.cxx:711
 AliMUONTrackerData.cxx:712
 AliMUONTrackerData.cxx:713
 AliMUONTrackerData.cxx:714
 AliMUONTrackerData.cxx:715
 AliMUONTrackerData.cxx:716
 AliMUONTrackerData.cxx:717
 AliMUONTrackerData.cxx:718
 AliMUONTrackerData.cxx:719
 AliMUONTrackerData.cxx:720
 AliMUONTrackerData.cxx:721
 AliMUONTrackerData.cxx:722
 AliMUONTrackerData.cxx:723
 AliMUONTrackerData.cxx:724
 AliMUONTrackerData.cxx:725
 AliMUONTrackerData.cxx:726
 AliMUONTrackerData.cxx:727
 AliMUONTrackerData.cxx:728
 AliMUONTrackerData.cxx:729
 AliMUONTrackerData.cxx:730
 AliMUONTrackerData.cxx:731
 AliMUONTrackerData.cxx:732
 AliMUONTrackerData.cxx:733
 AliMUONTrackerData.cxx:734
 AliMUONTrackerData.cxx:735
 AliMUONTrackerData.cxx:736
 AliMUONTrackerData.cxx:737
 AliMUONTrackerData.cxx:738
 AliMUONTrackerData.cxx:739
 AliMUONTrackerData.cxx:740
 AliMUONTrackerData.cxx:741
 AliMUONTrackerData.cxx:742
 AliMUONTrackerData.cxx:743
 AliMUONTrackerData.cxx:744
 AliMUONTrackerData.cxx:745
 AliMUONTrackerData.cxx:746
 AliMUONTrackerData.cxx:747
 AliMUONTrackerData.cxx:748
 AliMUONTrackerData.cxx:749
 AliMUONTrackerData.cxx:750
 AliMUONTrackerData.cxx:751
 AliMUONTrackerData.cxx:752
 AliMUONTrackerData.cxx:753
 AliMUONTrackerData.cxx:754
 AliMUONTrackerData.cxx:755
 AliMUONTrackerData.cxx:756
 AliMUONTrackerData.cxx:757
 AliMUONTrackerData.cxx:758
 AliMUONTrackerData.cxx:759
 AliMUONTrackerData.cxx:760
 AliMUONTrackerData.cxx:761
 AliMUONTrackerData.cxx:762
 AliMUONTrackerData.cxx:763
 AliMUONTrackerData.cxx:764
 AliMUONTrackerData.cxx:765
 AliMUONTrackerData.cxx:766
 AliMUONTrackerData.cxx:767
 AliMUONTrackerData.cxx:768
 AliMUONTrackerData.cxx:769
 AliMUONTrackerData.cxx:770
 AliMUONTrackerData.cxx:771
 AliMUONTrackerData.cxx:772
 AliMUONTrackerData.cxx:773
 AliMUONTrackerData.cxx:774
 AliMUONTrackerData.cxx:775
 AliMUONTrackerData.cxx:776
 AliMUONTrackerData.cxx:777
 AliMUONTrackerData.cxx:778
 AliMUONTrackerData.cxx:779
 AliMUONTrackerData.cxx:780
 AliMUONTrackerData.cxx:781
 AliMUONTrackerData.cxx:782
 AliMUONTrackerData.cxx:783
 AliMUONTrackerData.cxx:784
 AliMUONTrackerData.cxx:785
 AliMUONTrackerData.cxx:786
 AliMUONTrackerData.cxx:787
 AliMUONTrackerData.cxx:788
 AliMUONTrackerData.cxx:789
 AliMUONTrackerData.cxx:790
 AliMUONTrackerData.cxx:791
 AliMUONTrackerData.cxx:792
 AliMUONTrackerData.cxx:793
 AliMUONTrackerData.cxx:794
 AliMUONTrackerData.cxx:795
 AliMUONTrackerData.cxx:796
 AliMUONTrackerData.cxx:797
 AliMUONTrackerData.cxx:798
 AliMUONTrackerData.cxx:799
 AliMUONTrackerData.cxx:800
 AliMUONTrackerData.cxx:801
 AliMUONTrackerData.cxx:802
 AliMUONTrackerData.cxx:803
 AliMUONTrackerData.cxx:804
 AliMUONTrackerData.cxx:805
 AliMUONTrackerData.cxx:806
 AliMUONTrackerData.cxx:807
 AliMUONTrackerData.cxx:808
 AliMUONTrackerData.cxx:809
 AliMUONTrackerData.cxx:810
 AliMUONTrackerData.cxx:811
 AliMUONTrackerData.cxx:812
 AliMUONTrackerData.cxx:813
 AliMUONTrackerData.cxx:814
 AliMUONTrackerData.cxx:815
 AliMUONTrackerData.cxx:816
 AliMUONTrackerData.cxx:817
 AliMUONTrackerData.cxx:818
 AliMUONTrackerData.cxx:819
 AliMUONTrackerData.cxx:820
 AliMUONTrackerData.cxx:821
 AliMUONTrackerData.cxx:822
 AliMUONTrackerData.cxx:823
 AliMUONTrackerData.cxx:824
 AliMUONTrackerData.cxx:825
 AliMUONTrackerData.cxx:826
 AliMUONTrackerData.cxx:827
 AliMUONTrackerData.cxx:828
 AliMUONTrackerData.cxx:829
 AliMUONTrackerData.cxx:830
 AliMUONTrackerData.cxx:831
 AliMUONTrackerData.cxx:832
 AliMUONTrackerData.cxx:833
 AliMUONTrackerData.cxx:834
 AliMUONTrackerData.cxx:835
 AliMUONTrackerData.cxx:836
 AliMUONTrackerData.cxx:837
 AliMUONTrackerData.cxx:838
 AliMUONTrackerData.cxx:839
 AliMUONTrackerData.cxx:840
 AliMUONTrackerData.cxx:841
 AliMUONTrackerData.cxx:842
 AliMUONTrackerData.cxx:843
 AliMUONTrackerData.cxx:844
 AliMUONTrackerData.cxx:845
 AliMUONTrackerData.cxx:846
 AliMUONTrackerData.cxx:847
 AliMUONTrackerData.cxx:848
 AliMUONTrackerData.cxx:849
 AliMUONTrackerData.cxx:850
 AliMUONTrackerData.cxx:851
 AliMUONTrackerData.cxx:852
 AliMUONTrackerData.cxx:853
 AliMUONTrackerData.cxx:854
 AliMUONTrackerData.cxx:855
 AliMUONTrackerData.cxx:856
 AliMUONTrackerData.cxx:857
 AliMUONTrackerData.cxx:858
 AliMUONTrackerData.cxx:859
 AliMUONTrackerData.cxx:860
 AliMUONTrackerData.cxx:861
 AliMUONTrackerData.cxx:862
 AliMUONTrackerData.cxx:863
 AliMUONTrackerData.cxx:864
 AliMUONTrackerData.cxx:865
 AliMUONTrackerData.cxx:866
 AliMUONTrackerData.cxx:867
 AliMUONTrackerData.cxx:868
 AliMUONTrackerData.cxx:869
 AliMUONTrackerData.cxx:870
 AliMUONTrackerData.cxx:871
 AliMUONTrackerData.cxx:872
 AliMUONTrackerData.cxx:873
 AliMUONTrackerData.cxx:874
 AliMUONTrackerData.cxx:875
 AliMUONTrackerData.cxx:876
 AliMUONTrackerData.cxx:877
 AliMUONTrackerData.cxx:878
 AliMUONTrackerData.cxx:879
 AliMUONTrackerData.cxx:880
 AliMUONTrackerData.cxx:881
 AliMUONTrackerData.cxx:882
 AliMUONTrackerData.cxx:883
 AliMUONTrackerData.cxx:884
 AliMUONTrackerData.cxx:885
 AliMUONTrackerData.cxx:886
 AliMUONTrackerData.cxx:887
 AliMUONTrackerData.cxx:888
 AliMUONTrackerData.cxx:889
 AliMUONTrackerData.cxx:890
 AliMUONTrackerData.cxx:891
 AliMUONTrackerData.cxx:892
 AliMUONTrackerData.cxx:893
 AliMUONTrackerData.cxx:894
 AliMUONTrackerData.cxx:895
 AliMUONTrackerData.cxx:896
 AliMUONTrackerData.cxx:897
 AliMUONTrackerData.cxx:898
 AliMUONTrackerData.cxx:899
 AliMUONTrackerData.cxx:900
 AliMUONTrackerData.cxx:901
 AliMUONTrackerData.cxx:902
 AliMUONTrackerData.cxx:903
 AliMUONTrackerData.cxx:904
 AliMUONTrackerData.cxx:905
 AliMUONTrackerData.cxx:906
 AliMUONTrackerData.cxx:907
 AliMUONTrackerData.cxx:908
 AliMUONTrackerData.cxx:909
 AliMUONTrackerData.cxx:910
 AliMUONTrackerData.cxx:911
 AliMUONTrackerData.cxx:912
 AliMUONTrackerData.cxx:913
 AliMUONTrackerData.cxx:914
 AliMUONTrackerData.cxx:915
 AliMUONTrackerData.cxx:916
 AliMUONTrackerData.cxx:917
 AliMUONTrackerData.cxx:918
 AliMUONTrackerData.cxx:919
 AliMUONTrackerData.cxx:920
 AliMUONTrackerData.cxx:921
 AliMUONTrackerData.cxx:922
 AliMUONTrackerData.cxx:923
 AliMUONTrackerData.cxx:924
 AliMUONTrackerData.cxx:925
 AliMUONTrackerData.cxx:926
 AliMUONTrackerData.cxx:927
 AliMUONTrackerData.cxx:928
 AliMUONTrackerData.cxx:929
 AliMUONTrackerData.cxx:930
 AliMUONTrackerData.cxx:931
 AliMUONTrackerData.cxx:932
 AliMUONTrackerData.cxx:933
 AliMUONTrackerData.cxx:934
 AliMUONTrackerData.cxx:935
 AliMUONTrackerData.cxx:936
 AliMUONTrackerData.cxx:937
 AliMUONTrackerData.cxx:938
 AliMUONTrackerData.cxx:939
 AliMUONTrackerData.cxx:940
 AliMUONTrackerData.cxx:941
 AliMUONTrackerData.cxx:942
 AliMUONTrackerData.cxx:943
 AliMUONTrackerData.cxx:944
 AliMUONTrackerData.cxx:945
 AliMUONTrackerData.cxx:946
 AliMUONTrackerData.cxx:947
 AliMUONTrackerData.cxx:948
 AliMUONTrackerData.cxx:949
 AliMUONTrackerData.cxx:950
 AliMUONTrackerData.cxx:951
 AliMUONTrackerData.cxx:952
 AliMUONTrackerData.cxx:953
 AliMUONTrackerData.cxx:954
 AliMUONTrackerData.cxx:955
 AliMUONTrackerData.cxx:956
 AliMUONTrackerData.cxx:957
 AliMUONTrackerData.cxx:958
 AliMUONTrackerData.cxx:959
 AliMUONTrackerData.cxx:960
 AliMUONTrackerData.cxx:961
 AliMUONTrackerData.cxx:962
 AliMUONTrackerData.cxx:963
 AliMUONTrackerData.cxx:964
 AliMUONTrackerData.cxx:965
 AliMUONTrackerData.cxx:966
 AliMUONTrackerData.cxx:967
 AliMUONTrackerData.cxx:968
 AliMUONTrackerData.cxx:969
 AliMUONTrackerData.cxx:970
 AliMUONTrackerData.cxx:971
 AliMUONTrackerData.cxx:972
 AliMUONTrackerData.cxx:973
 AliMUONTrackerData.cxx:974
 AliMUONTrackerData.cxx:975
 AliMUONTrackerData.cxx:976
 AliMUONTrackerData.cxx:977
 AliMUONTrackerData.cxx:978
 AliMUONTrackerData.cxx:979
 AliMUONTrackerData.cxx:980
 AliMUONTrackerData.cxx:981
 AliMUONTrackerData.cxx:982
 AliMUONTrackerData.cxx:983
 AliMUONTrackerData.cxx:984
 AliMUONTrackerData.cxx:985
 AliMUONTrackerData.cxx:986
 AliMUONTrackerData.cxx:987
 AliMUONTrackerData.cxx:988
 AliMUONTrackerData.cxx:989
 AliMUONTrackerData.cxx:990
 AliMUONTrackerData.cxx:991
 AliMUONTrackerData.cxx:992
 AliMUONTrackerData.cxx:993
 AliMUONTrackerData.cxx:994
 AliMUONTrackerData.cxx:995
 AliMUONTrackerData.cxx:996
 AliMUONTrackerData.cxx:997
 AliMUONTrackerData.cxx:998
 AliMUONTrackerData.cxx:999
 AliMUONTrackerData.cxx:1000
 AliMUONTrackerData.cxx:1001
 AliMUONTrackerData.cxx:1002
 AliMUONTrackerData.cxx:1003
 AliMUONTrackerData.cxx:1004
 AliMUONTrackerData.cxx:1005
 AliMUONTrackerData.cxx:1006
 AliMUONTrackerData.cxx:1007
 AliMUONTrackerData.cxx:1008
 AliMUONTrackerData.cxx:1009
 AliMUONTrackerData.cxx:1010
 AliMUONTrackerData.cxx:1011
 AliMUONTrackerData.cxx:1012
 AliMUONTrackerData.cxx:1013
 AliMUONTrackerData.cxx:1014
 AliMUONTrackerData.cxx:1015
 AliMUONTrackerData.cxx:1016
 AliMUONTrackerData.cxx:1017
 AliMUONTrackerData.cxx:1018
 AliMUONTrackerData.cxx:1019
 AliMUONTrackerData.cxx:1020
 AliMUONTrackerData.cxx:1021
 AliMUONTrackerData.cxx:1022
 AliMUONTrackerData.cxx:1023
 AliMUONTrackerData.cxx:1024
 AliMUONTrackerData.cxx:1025
 AliMUONTrackerData.cxx:1026
 AliMUONTrackerData.cxx:1027
 AliMUONTrackerData.cxx:1028
 AliMUONTrackerData.cxx:1029
 AliMUONTrackerData.cxx:1030
 AliMUONTrackerData.cxx:1031
 AliMUONTrackerData.cxx:1032
 AliMUONTrackerData.cxx:1033
 AliMUONTrackerData.cxx:1034
 AliMUONTrackerData.cxx:1035
 AliMUONTrackerData.cxx:1036
 AliMUONTrackerData.cxx:1037
 AliMUONTrackerData.cxx:1038
 AliMUONTrackerData.cxx:1039
 AliMUONTrackerData.cxx:1040
 AliMUONTrackerData.cxx:1041
 AliMUONTrackerData.cxx:1042
 AliMUONTrackerData.cxx:1043
 AliMUONTrackerData.cxx:1044
 AliMUONTrackerData.cxx:1045
 AliMUONTrackerData.cxx:1046
 AliMUONTrackerData.cxx:1047
 AliMUONTrackerData.cxx:1048
 AliMUONTrackerData.cxx:1049
 AliMUONTrackerData.cxx:1050
 AliMUONTrackerData.cxx:1051
 AliMUONTrackerData.cxx:1052
 AliMUONTrackerData.cxx:1053
 AliMUONTrackerData.cxx:1054
 AliMUONTrackerData.cxx:1055
 AliMUONTrackerData.cxx:1056
 AliMUONTrackerData.cxx:1057
 AliMUONTrackerData.cxx:1058
 AliMUONTrackerData.cxx:1059
 AliMUONTrackerData.cxx:1060
 AliMUONTrackerData.cxx:1061
 AliMUONTrackerData.cxx:1062
 AliMUONTrackerData.cxx:1063
 AliMUONTrackerData.cxx:1064
 AliMUONTrackerData.cxx:1065
 AliMUONTrackerData.cxx:1066
 AliMUONTrackerData.cxx:1067
 AliMUONTrackerData.cxx:1068
 AliMUONTrackerData.cxx:1069
 AliMUONTrackerData.cxx:1070
 AliMUONTrackerData.cxx:1071
 AliMUONTrackerData.cxx:1072
 AliMUONTrackerData.cxx:1073
 AliMUONTrackerData.cxx:1074
 AliMUONTrackerData.cxx:1075
 AliMUONTrackerData.cxx:1076
 AliMUONTrackerData.cxx:1077
 AliMUONTrackerData.cxx:1078
 AliMUONTrackerData.cxx:1079
 AliMUONTrackerData.cxx:1080
 AliMUONTrackerData.cxx:1081
 AliMUONTrackerData.cxx:1082
 AliMUONTrackerData.cxx:1083
 AliMUONTrackerData.cxx:1084
 AliMUONTrackerData.cxx:1085
 AliMUONTrackerData.cxx:1086
 AliMUONTrackerData.cxx:1087
 AliMUONTrackerData.cxx:1088
 AliMUONTrackerData.cxx:1089
 AliMUONTrackerData.cxx:1090
 AliMUONTrackerData.cxx:1091
 AliMUONTrackerData.cxx:1092
 AliMUONTrackerData.cxx:1093
 AliMUONTrackerData.cxx:1094
 AliMUONTrackerData.cxx:1095
 AliMUONTrackerData.cxx:1096
 AliMUONTrackerData.cxx:1097
 AliMUONTrackerData.cxx:1098
 AliMUONTrackerData.cxx:1099
 AliMUONTrackerData.cxx:1100
 AliMUONTrackerData.cxx:1101
 AliMUONTrackerData.cxx:1102
 AliMUONTrackerData.cxx:1103
 AliMUONTrackerData.cxx:1104
 AliMUONTrackerData.cxx:1105
 AliMUONTrackerData.cxx:1106
 AliMUONTrackerData.cxx:1107
 AliMUONTrackerData.cxx:1108
 AliMUONTrackerData.cxx:1109
 AliMUONTrackerData.cxx:1110
 AliMUONTrackerData.cxx:1111
 AliMUONTrackerData.cxx:1112
 AliMUONTrackerData.cxx:1113
 AliMUONTrackerData.cxx:1114
 AliMUONTrackerData.cxx:1115
 AliMUONTrackerData.cxx:1116
 AliMUONTrackerData.cxx:1117
 AliMUONTrackerData.cxx:1118
 AliMUONTrackerData.cxx:1119
 AliMUONTrackerData.cxx:1120
 AliMUONTrackerData.cxx:1121
 AliMUONTrackerData.cxx:1122
 AliMUONTrackerData.cxx:1123
 AliMUONTrackerData.cxx:1124
 AliMUONTrackerData.cxx:1125
 AliMUONTrackerData.cxx:1126
 AliMUONTrackerData.cxx:1127
 AliMUONTrackerData.cxx:1128
 AliMUONTrackerData.cxx:1129
 AliMUONTrackerData.cxx:1130
 AliMUONTrackerData.cxx:1131
 AliMUONTrackerData.cxx:1132
 AliMUONTrackerData.cxx:1133
 AliMUONTrackerData.cxx:1134
 AliMUONTrackerData.cxx:1135
 AliMUONTrackerData.cxx:1136
 AliMUONTrackerData.cxx:1137
 AliMUONTrackerData.cxx:1138
 AliMUONTrackerData.cxx:1139
 AliMUONTrackerData.cxx:1140
 AliMUONTrackerData.cxx:1141
 AliMUONTrackerData.cxx:1142
 AliMUONTrackerData.cxx:1143
 AliMUONTrackerData.cxx:1144
 AliMUONTrackerData.cxx:1145
 AliMUONTrackerData.cxx:1146
 AliMUONTrackerData.cxx:1147
 AliMUONTrackerData.cxx:1148
 AliMUONTrackerData.cxx:1149
 AliMUONTrackerData.cxx:1150
 AliMUONTrackerData.cxx:1151
 AliMUONTrackerData.cxx:1152
 AliMUONTrackerData.cxx:1153
 AliMUONTrackerData.cxx:1154
 AliMUONTrackerData.cxx:1155
 AliMUONTrackerData.cxx:1156
 AliMUONTrackerData.cxx:1157
 AliMUONTrackerData.cxx:1158
 AliMUONTrackerData.cxx:1159
 AliMUONTrackerData.cxx:1160
 AliMUONTrackerData.cxx:1161
 AliMUONTrackerData.cxx:1162
 AliMUONTrackerData.cxx:1163
 AliMUONTrackerData.cxx:1164
 AliMUONTrackerData.cxx:1165
 AliMUONTrackerData.cxx:1166
 AliMUONTrackerData.cxx:1167
 AliMUONTrackerData.cxx:1168
 AliMUONTrackerData.cxx:1169
 AliMUONTrackerData.cxx:1170
 AliMUONTrackerData.cxx:1171
 AliMUONTrackerData.cxx:1172
 AliMUONTrackerData.cxx:1173
 AliMUONTrackerData.cxx:1174
 AliMUONTrackerData.cxx:1175
 AliMUONTrackerData.cxx:1176
 AliMUONTrackerData.cxx:1177
 AliMUONTrackerData.cxx:1178
 AliMUONTrackerData.cxx:1179
 AliMUONTrackerData.cxx:1180
 AliMUONTrackerData.cxx:1181
 AliMUONTrackerData.cxx:1182
 AliMUONTrackerData.cxx:1183
 AliMUONTrackerData.cxx:1184
 AliMUONTrackerData.cxx:1185
 AliMUONTrackerData.cxx:1186
 AliMUONTrackerData.cxx:1187
 AliMUONTrackerData.cxx:1188
 AliMUONTrackerData.cxx:1189
 AliMUONTrackerData.cxx:1190
 AliMUONTrackerData.cxx:1191
 AliMUONTrackerData.cxx:1192
 AliMUONTrackerData.cxx:1193
 AliMUONTrackerData.cxx:1194
 AliMUONTrackerData.cxx:1195
 AliMUONTrackerData.cxx:1196
 AliMUONTrackerData.cxx:1197
 AliMUONTrackerData.cxx:1198
 AliMUONTrackerData.cxx:1199
 AliMUONTrackerData.cxx:1200
 AliMUONTrackerData.cxx:1201
 AliMUONTrackerData.cxx:1202
 AliMUONTrackerData.cxx:1203
 AliMUONTrackerData.cxx:1204
 AliMUONTrackerData.cxx:1205
 AliMUONTrackerData.cxx:1206
 AliMUONTrackerData.cxx:1207
 AliMUONTrackerData.cxx:1208
 AliMUONTrackerData.cxx:1209
 AliMUONTrackerData.cxx:1210
 AliMUONTrackerData.cxx:1211
 AliMUONTrackerData.cxx:1212
 AliMUONTrackerData.cxx:1213
 AliMUONTrackerData.cxx:1214
 AliMUONTrackerData.cxx:1215
 AliMUONTrackerData.cxx:1216
 AliMUONTrackerData.cxx:1217
 AliMUONTrackerData.cxx:1218
 AliMUONTrackerData.cxx:1219
 AliMUONTrackerData.cxx:1220
 AliMUONTrackerData.cxx:1221
 AliMUONTrackerData.cxx:1222
 AliMUONTrackerData.cxx:1223
 AliMUONTrackerData.cxx:1224
 AliMUONTrackerData.cxx:1225
 AliMUONTrackerData.cxx:1226
 AliMUONTrackerData.cxx:1227
 AliMUONTrackerData.cxx:1228
 AliMUONTrackerData.cxx:1229
 AliMUONTrackerData.cxx:1230
 AliMUONTrackerData.cxx:1231
 AliMUONTrackerData.cxx:1232
 AliMUONTrackerData.cxx:1233
 AliMUONTrackerData.cxx:1234
 AliMUONTrackerData.cxx:1235
 AliMUONTrackerData.cxx:1236
 AliMUONTrackerData.cxx:1237
 AliMUONTrackerData.cxx:1238
 AliMUONTrackerData.cxx:1239
 AliMUONTrackerData.cxx:1240
 AliMUONTrackerData.cxx:1241
 AliMUONTrackerData.cxx:1242
 AliMUONTrackerData.cxx:1243
 AliMUONTrackerData.cxx:1244
 AliMUONTrackerData.cxx:1245
 AliMUONTrackerData.cxx:1246
 AliMUONTrackerData.cxx:1247
 AliMUONTrackerData.cxx:1248
 AliMUONTrackerData.cxx:1249
 AliMUONTrackerData.cxx:1250
 AliMUONTrackerData.cxx:1251
 AliMUONTrackerData.cxx:1252
 AliMUONTrackerData.cxx:1253
 AliMUONTrackerData.cxx:1254
 AliMUONTrackerData.cxx:1255
 AliMUONTrackerData.cxx:1256
 AliMUONTrackerData.cxx:1257
 AliMUONTrackerData.cxx:1258
 AliMUONTrackerData.cxx:1259
 AliMUONTrackerData.cxx:1260
 AliMUONTrackerData.cxx:1261
 AliMUONTrackerData.cxx:1262
 AliMUONTrackerData.cxx:1263
 AliMUONTrackerData.cxx:1264
 AliMUONTrackerData.cxx:1265
 AliMUONTrackerData.cxx:1266
 AliMUONTrackerData.cxx:1267
 AliMUONTrackerData.cxx:1268
 AliMUONTrackerData.cxx:1269
 AliMUONTrackerData.cxx:1270
 AliMUONTrackerData.cxx:1271
 AliMUONTrackerData.cxx:1272
 AliMUONTrackerData.cxx:1273
 AliMUONTrackerData.cxx:1274
 AliMUONTrackerData.cxx:1275
 AliMUONTrackerData.cxx:1276
 AliMUONTrackerData.cxx:1277
 AliMUONTrackerData.cxx:1278
 AliMUONTrackerData.cxx:1279
 AliMUONTrackerData.cxx:1280
 AliMUONTrackerData.cxx:1281
 AliMUONTrackerData.cxx:1282
 AliMUONTrackerData.cxx:1283
 AliMUONTrackerData.cxx:1284
 AliMUONTrackerData.cxx:1285
 AliMUONTrackerData.cxx:1286
 AliMUONTrackerData.cxx:1287
 AliMUONTrackerData.cxx:1288
 AliMUONTrackerData.cxx:1289
 AliMUONTrackerData.cxx:1290
 AliMUONTrackerData.cxx:1291
 AliMUONTrackerData.cxx:1292
 AliMUONTrackerData.cxx:1293
 AliMUONTrackerData.cxx:1294
 AliMUONTrackerData.cxx:1295
 AliMUONTrackerData.cxx:1296
 AliMUONTrackerData.cxx:1297
 AliMUONTrackerData.cxx:1298
 AliMUONTrackerData.cxx:1299
 AliMUONTrackerData.cxx:1300
 AliMUONTrackerData.cxx:1301
 AliMUONTrackerData.cxx:1302
 AliMUONTrackerData.cxx:1303
 AliMUONTrackerData.cxx:1304
 AliMUONTrackerData.cxx:1305
 AliMUONTrackerData.cxx:1306
 AliMUONTrackerData.cxx:1307
 AliMUONTrackerData.cxx:1308
 AliMUONTrackerData.cxx:1309
 AliMUONTrackerData.cxx:1310
 AliMUONTrackerData.cxx:1311
 AliMUONTrackerData.cxx:1312
 AliMUONTrackerData.cxx:1313
 AliMUONTrackerData.cxx:1314
 AliMUONTrackerData.cxx:1315
 AliMUONTrackerData.cxx:1316
 AliMUONTrackerData.cxx:1317
 AliMUONTrackerData.cxx:1318
 AliMUONTrackerData.cxx:1319
 AliMUONTrackerData.cxx:1320
 AliMUONTrackerData.cxx:1321
 AliMUONTrackerData.cxx:1322
 AliMUONTrackerData.cxx:1323
 AliMUONTrackerData.cxx:1324
 AliMUONTrackerData.cxx:1325
 AliMUONTrackerData.cxx:1326
 AliMUONTrackerData.cxx:1327
 AliMUONTrackerData.cxx:1328
 AliMUONTrackerData.cxx:1329
 AliMUONTrackerData.cxx:1330
 AliMUONTrackerData.cxx:1331
 AliMUONTrackerData.cxx:1332
 AliMUONTrackerData.cxx:1333
 AliMUONTrackerData.cxx:1334
 AliMUONTrackerData.cxx:1335
 AliMUONTrackerData.cxx:1336
 AliMUONTrackerData.cxx:1337
 AliMUONTrackerData.cxx:1338
 AliMUONTrackerData.cxx:1339
 AliMUONTrackerData.cxx:1340
 AliMUONTrackerData.cxx:1341
 AliMUONTrackerData.cxx:1342
 AliMUONTrackerData.cxx:1343
 AliMUONTrackerData.cxx:1344
 AliMUONTrackerData.cxx:1345
 AliMUONTrackerData.cxx:1346
 AliMUONTrackerData.cxx:1347
 AliMUONTrackerData.cxx:1348
 AliMUONTrackerData.cxx:1349
 AliMUONTrackerData.cxx:1350
 AliMUONTrackerData.cxx:1351
 AliMUONTrackerData.cxx:1352
 AliMUONTrackerData.cxx:1353
 AliMUONTrackerData.cxx:1354
 AliMUONTrackerData.cxx:1355
 AliMUONTrackerData.cxx:1356
 AliMUONTrackerData.cxx:1357
 AliMUONTrackerData.cxx:1358
 AliMUONTrackerData.cxx:1359
 AliMUONTrackerData.cxx:1360
 AliMUONTrackerData.cxx:1361
 AliMUONTrackerData.cxx:1362
 AliMUONTrackerData.cxx:1363
 AliMUONTrackerData.cxx:1364
 AliMUONTrackerData.cxx:1365
 AliMUONTrackerData.cxx:1366
 AliMUONTrackerData.cxx:1367
 AliMUONTrackerData.cxx:1368
 AliMUONTrackerData.cxx:1369
 AliMUONTrackerData.cxx:1370
 AliMUONTrackerData.cxx:1371
 AliMUONTrackerData.cxx:1372
 AliMUONTrackerData.cxx:1373
 AliMUONTrackerData.cxx:1374
 AliMUONTrackerData.cxx:1375
 AliMUONTrackerData.cxx:1376
 AliMUONTrackerData.cxx:1377
 AliMUONTrackerData.cxx:1378
 AliMUONTrackerData.cxx:1379
 AliMUONTrackerData.cxx:1380
 AliMUONTrackerData.cxx:1381
 AliMUONTrackerData.cxx:1382
 AliMUONTrackerData.cxx:1383
 AliMUONTrackerData.cxx:1384
 AliMUONTrackerData.cxx:1385
 AliMUONTrackerData.cxx:1386
 AliMUONTrackerData.cxx:1387
 AliMUONTrackerData.cxx:1388
 AliMUONTrackerData.cxx:1389
 AliMUONTrackerData.cxx:1390
 AliMUONTrackerData.cxx:1391
 AliMUONTrackerData.cxx:1392
 AliMUONTrackerData.cxx:1393
 AliMUONTrackerData.cxx:1394
 AliMUONTrackerData.cxx:1395
 AliMUONTrackerData.cxx:1396
 AliMUONTrackerData.cxx:1397
 AliMUONTrackerData.cxx:1398
 AliMUONTrackerData.cxx:1399
 AliMUONTrackerData.cxx:1400
 AliMUONTrackerData.cxx:1401
 AliMUONTrackerData.cxx:1402
 AliMUONTrackerData.cxx:1403
 AliMUONTrackerData.cxx:1404
 AliMUONTrackerData.cxx:1405
 AliMUONTrackerData.cxx:1406
 AliMUONTrackerData.cxx:1407
 AliMUONTrackerData.cxx:1408
 AliMUONTrackerData.cxx:1409
 AliMUONTrackerData.cxx:1410
 AliMUONTrackerData.cxx:1411
 AliMUONTrackerData.cxx:1412
 AliMUONTrackerData.cxx:1413
 AliMUONTrackerData.cxx:1414
 AliMUONTrackerData.cxx:1415
 AliMUONTrackerData.cxx:1416
 AliMUONTrackerData.cxx:1417
 AliMUONTrackerData.cxx:1418
 AliMUONTrackerData.cxx:1419
 AliMUONTrackerData.cxx:1420
 AliMUONTrackerData.cxx:1421
 AliMUONTrackerData.cxx:1422
 AliMUONTrackerData.cxx:1423
 AliMUONTrackerData.cxx:1424
 AliMUONTrackerData.cxx:1425
 AliMUONTrackerData.cxx:1426
 AliMUONTrackerData.cxx:1427
 AliMUONTrackerData.cxx:1428
 AliMUONTrackerData.cxx:1429
 AliMUONTrackerData.cxx:1430
 AliMUONTrackerData.cxx:1431
 AliMUONTrackerData.cxx:1432
 AliMUONTrackerData.cxx:1433
 AliMUONTrackerData.cxx:1434
 AliMUONTrackerData.cxx:1435
 AliMUONTrackerData.cxx:1436
 AliMUONTrackerData.cxx:1437
 AliMUONTrackerData.cxx:1438
 AliMUONTrackerData.cxx:1439
 AliMUONTrackerData.cxx:1440
 AliMUONTrackerData.cxx:1441
 AliMUONTrackerData.cxx:1442
 AliMUONTrackerData.cxx:1443
 AliMUONTrackerData.cxx:1444
 AliMUONTrackerData.cxx:1445
 AliMUONTrackerData.cxx:1446
 AliMUONTrackerData.cxx:1447
 AliMUONTrackerData.cxx:1448
 AliMUONTrackerData.cxx:1449
 AliMUONTrackerData.cxx:1450
 AliMUONTrackerData.cxx:1451
 AliMUONTrackerData.cxx:1452
 AliMUONTrackerData.cxx:1453
 AliMUONTrackerData.cxx:1454
 AliMUONTrackerData.cxx:1455
 AliMUONTrackerData.cxx:1456
 AliMUONTrackerData.cxx:1457
 AliMUONTrackerData.cxx:1458
 AliMUONTrackerData.cxx:1459
 AliMUONTrackerData.cxx:1460
 AliMUONTrackerData.cxx:1461
 AliMUONTrackerData.cxx:1462
 AliMUONTrackerData.cxx:1463
 AliMUONTrackerData.cxx:1464
 AliMUONTrackerData.cxx:1465
 AliMUONTrackerData.cxx:1466
 AliMUONTrackerData.cxx:1467
 AliMUONTrackerData.cxx:1468
 AliMUONTrackerData.cxx:1469
 AliMUONTrackerData.cxx:1470
 AliMUONTrackerData.cxx:1471
 AliMUONTrackerData.cxx:1472
 AliMUONTrackerData.cxx:1473
 AliMUONTrackerData.cxx:1474
 AliMUONTrackerData.cxx:1475
 AliMUONTrackerData.cxx:1476
 AliMUONTrackerData.cxx:1477
 AliMUONTrackerData.cxx:1478
 AliMUONTrackerData.cxx:1479
 AliMUONTrackerData.cxx:1480
 AliMUONTrackerData.cxx:1481
 AliMUONTrackerData.cxx:1482
 AliMUONTrackerData.cxx:1483
 AliMUONTrackerData.cxx:1484
 AliMUONTrackerData.cxx:1485
 AliMUONTrackerData.cxx:1486
 AliMUONTrackerData.cxx:1487
 AliMUONTrackerData.cxx:1488
 AliMUONTrackerData.cxx:1489
 AliMUONTrackerData.cxx:1490
 AliMUONTrackerData.cxx:1491
 AliMUONTrackerData.cxx:1492
 AliMUONTrackerData.cxx:1493
 AliMUONTrackerData.cxx:1494
 AliMUONTrackerData.cxx:1495
 AliMUONTrackerData.cxx:1496
 AliMUONTrackerData.cxx:1497
 AliMUONTrackerData.cxx:1498
 AliMUONTrackerData.cxx:1499
 AliMUONTrackerData.cxx:1500
 AliMUONTrackerData.cxx:1501
 AliMUONTrackerData.cxx:1502
 AliMUONTrackerData.cxx:1503
 AliMUONTrackerData.cxx:1504
 AliMUONTrackerData.cxx:1505
 AliMUONTrackerData.cxx:1506
 AliMUONTrackerData.cxx:1507
 AliMUONTrackerData.cxx:1508
 AliMUONTrackerData.cxx:1509
 AliMUONTrackerData.cxx:1510
 AliMUONTrackerData.cxx:1511
 AliMUONTrackerData.cxx:1512
 AliMUONTrackerData.cxx:1513
 AliMUONTrackerData.cxx:1514
 AliMUONTrackerData.cxx:1515
 AliMUONTrackerData.cxx:1516
 AliMUONTrackerData.cxx:1517
 AliMUONTrackerData.cxx:1518
 AliMUONTrackerData.cxx:1519
 AliMUONTrackerData.cxx:1520
 AliMUONTrackerData.cxx:1521
 AliMUONTrackerData.cxx:1522
 AliMUONTrackerData.cxx:1523
 AliMUONTrackerData.cxx:1524
 AliMUONTrackerData.cxx:1525
 AliMUONTrackerData.cxx:1526
 AliMUONTrackerData.cxx:1527
 AliMUONTrackerData.cxx:1528
 AliMUONTrackerData.cxx:1529
 AliMUONTrackerData.cxx:1530
 AliMUONTrackerData.cxx:1531
 AliMUONTrackerData.cxx:1532
 AliMUONTrackerData.cxx:1533
 AliMUONTrackerData.cxx:1534
 AliMUONTrackerData.cxx:1535
 AliMUONTrackerData.cxx:1536
 AliMUONTrackerData.cxx:1537
 AliMUONTrackerData.cxx:1538
 AliMUONTrackerData.cxx:1539
 AliMUONTrackerData.cxx:1540
 AliMUONTrackerData.cxx:1541
 AliMUONTrackerData.cxx:1542
 AliMUONTrackerData.cxx:1543
 AliMUONTrackerData.cxx:1544
 AliMUONTrackerData.cxx:1545
 AliMUONTrackerData.cxx:1546
 AliMUONTrackerData.cxx:1547
 AliMUONTrackerData.cxx:1548
 AliMUONTrackerData.cxx:1549
 AliMUONTrackerData.cxx:1550
 AliMUONTrackerData.cxx:1551
 AliMUONTrackerData.cxx:1552
 AliMUONTrackerData.cxx:1553
 AliMUONTrackerData.cxx:1554
 AliMUONTrackerData.cxx:1555
 AliMUONTrackerData.cxx:1556
 AliMUONTrackerData.cxx:1557
 AliMUONTrackerData.cxx:1558
 AliMUONTrackerData.cxx:1559
 AliMUONTrackerData.cxx:1560
 AliMUONTrackerData.cxx:1561
 AliMUONTrackerData.cxx:1562
 AliMUONTrackerData.cxx:1563
 AliMUONTrackerData.cxx:1564
 AliMUONTrackerData.cxx:1565
 AliMUONTrackerData.cxx:1566
 AliMUONTrackerData.cxx:1567
 AliMUONTrackerData.cxx:1568
 AliMUONTrackerData.cxx:1569
 AliMUONTrackerData.cxx:1570
 AliMUONTrackerData.cxx:1571
 AliMUONTrackerData.cxx:1572
 AliMUONTrackerData.cxx:1573
 AliMUONTrackerData.cxx:1574
 AliMUONTrackerData.cxx:1575
 AliMUONTrackerData.cxx:1576
 AliMUONTrackerData.cxx:1577
 AliMUONTrackerData.cxx:1578
 AliMUONTrackerData.cxx:1579
 AliMUONTrackerData.cxx:1580
 AliMUONTrackerData.cxx:1581
 AliMUONTrackerData.cxx:1582
 AliMUONTrackerData.cxx:1583
 AliMUONTrackerData.cxx:1584
 AliMUONTrackerData.cxx:1585
 AliMUONTrackerData.cxx:1586
 AliMUONTrackerData.cxx:1587
 AliMUONTrackerData.cxx:1588
 AliMUONTrackerData.cxx:1589
 AliMUONTrackerData.cxx:1590
 AliMUONTrackerData.cxx:1591
 AliMUONTrackerData.cxx:1592
 AliMUONTrackerData.cxx:1593
 AliMUONTrackerData.cxx:1594
 AliMUONTrackerData.cxx:1595
 AliMUONTrackerData.cxx:1596
 AliMUONTrackerData.cxx:1597
 AliMUONTrackerData.cxx:1598
 AliMUONTrackerData.cxx:1599
 AliMUONTrackerData.cxx:1600
 AliMUONTrackerData.cxx:1601
 AliMUONTrackerData.cxx:1602
 AliMUONTrackerData.cxx:1603
 AliMUONTrackerData.cxx:1604
 AliMUONTrackerData.cxx:1605
 AliMUONTrackerData.cxx:1606
 AliMUONTrackerData.cxx:1607
 AliMUONTrackerData.cxx:1608
 AliMUONTrackerData.cxx:1609
 AliMUONTrackerData.cxx:1610
 AliMUONTrackerData.cxx:1611
 AliMUONTrackerData.cxx:1612
 AliMUONTrackerData.cxx:1613
 AliMUONTrackerData.cxx:1614
 AliMUONTrackerData.cxx:1615
 AliMUONTrackerData.cxx:1616
 AliMUONTrackerData.cxx:1617
 AliMUONTrackerData.cxx:1618
 AliMUONTrackerData.cxx:1619
 AliMUONTrackerData.cxx:1620
 AliMUONTrackerData.cxx:1621
 AliMUONTrackerData.cxx:1622
 AliMUONTrackerData.cxx:1623
 AliMUONTrackerData.cxx:1624
 AliMUONTrackerData.cxx:1625
 AliMUONTrackerData.cxx:1626
 AliMUONTrackerData.cxx:1627
 AliMUONTrackerData.cxx:1628
 AliMUONTrackerData.cxx:1629
 AliMUONTrackerData.cxx:1630
 AliMUONTrackerData.cxx:1631
 AliMUONTrackerData.cxx:1632
 AliMUONTrackerData.cxx:1633
 AliMUONTrackerData.cxx:1634
 AliMUONTrackerData.cxx:1635
 AliMUONTrackerData.cxx:1636
 AliMUONTrackerData.cxx:1637
 AliMUONTrackerData.cxx:1638
 AliMUONTrackerData.cxx:1639
 AliMUONTrackerData.cxx:1640
 AliMUONTrackerData.cxx:1641
 AliMUONTrackerData.cxx:1642
 AliMUONTrackerData.cxx:1643
 AliMUONTrackerData.cxx:1644
 AliMUONTrackerData.cxx:1645
 AliMUONTrackerData.cxx:1646
 AliMUONTrackerData.cxx:1647
 AliMUONTrackerData.cxx:1648
 AliMUONTrackerData.cxx:1649
 AliMUONTrackerData.cxx:1650
 AliMUONTrackerData.cxx:1651
 AliMUONTrackerData.cxx:1652
 AliMUONTrackerData.cxx:1653
 AliMUONTrackerData.cxx:1654
 AliMUONTrackerData.cxx:1655
 AliMUONTrackerData.cxx:1656
 AliMUONTrackerData.cxx:1657
 AliMUONTrackerData.cxx:1658
 AliMUONTrackerData.cxx:1659
 AliMUONTrackerData.cxx:1660
 AliMUONTrackerData.cxx:1661
 AliMUONTrackerData.cxx:1662
 AliMUONTrackerData.cxx:1663
 AliMUONTrackerData.cxx:1664
 AliMUONTrackerData.cxx:1665
 AliMUONTrackerData.cxx:1666
 AliMUONTrackerData.cxx:1667
 AliMUONTrackerData.cxx:1668
 AliMUONTrackerData.cxx:1669
 AliMUONTrackerData.cxx:1670
 AliMUONTrackerData.cxx:1671
 AliMUONTrackerData.cxx:1672
 AliMUONTrackerData.cxx:1673
 AliMUONTrackerData.cxx:1674
 AliMUONTrackerData.cxx:1675
 AliMUONTrackerData.cxx:1676
 AliMUONTrackerData.cxx:1677
 AliMUONTrackerData.cxx:1678
 AliMUONTrackerData.cxx:1679
 AliMUONTrackerData.cxx:1680
 AliMUONTrackerData.cxx:1681
 AliMUONTrackerData.cxx:1682
 AliMUONTrackerData.cxx:1683
 AliMUONTrackerData.cxx:1684
 AliMUONTrackerData.cxx:1685
 AliMUONTrackerData.cxx:1686
 AliMUONTrackerData.cxx:1687
 AliMUONTrackerData.cxx:1688
 AliMUONTrackerData.cxx:1689
 AliMUONTrackerData.cxx:1690
 AliMUONTrackerData.cxx:1691
 AliMUONTrackerData.cxx:1692
 AliMUONTrackerData.cxx:1693
 AliMUONTrackerData.cxx:1694
 AliMUONTrackerData.cxx:1695
 AliMUONTrackerData.cxx:1696
 AliMUONTrackerData.cxx:1697
 AliMUONTrackerData.cxx:1698
 AliMUONTrackerData.cxx:1699
 AliMUONTrackerData.cxx:1700
 AliMUONTrackerData.cxx:1701
 AliMUONTrackerData.cxx:1702
 AliMUONTrackerData.cxx:1703
 AliMUONTrackerData.cxx:1704
 AliMUONTrackerData.cxx:1705
 AliMUONTrackerData.cxx:1706
 AliMUONTrackerData.cxx:1707
 AliMUONTrackerData.cxx:1708
 AliMUONTrackerData.cxx:1709
 AliMUONTrackerData.cxx:1710
 AliMUONTrackerData.cxx:1711
 AliMUONTrackerData.cxx:1712
 AliMUONTrackerData.cxx:1713
 AliMUONTrackerData.cxx:1714
 AliMUONTrackerData.cxx:1715
 AliMUONTrackerData.cxx:1716
 AliMUONTrackerData.cxx:1717
 AliMUONTrackerData.cxx:1718
 AliMUONTrackerData.cxx:1719
 AliMUONTrackerData.cxx:1720
 AliMUONTrackerData.cxx:1721
 AliMUONTrackerData.cxx:1722
 AliMUONTrackerData.cxx:1723
 AliMUONTrackerData.cxx:1724
 AliMUONTrackerData.cxx:1725
 AliMUONTrackerData.cxx:1726
 AliMUONTrackerData.cxx:1727
 AliMUONTrackerData.cxx:1728
 AliMUONTrackerData.cxx:1729
 AliMUONTrackerData.cxx:1730
 AliMUONTrackerData.cxx:1731
 AliMUONTrackerData.cxx:1732
 AliMUONTrackerData.cxx:1733
 AliMUONTrackerData.cxx:1734
 AliMUONTrackerData.cxx:1735
 AliMUONTrackerData.cxx:1736
 AliMUONTrackerData.cxx:1737
 AliMUONTrackerData.cxx:1738
 AliMUONTrackerData.cxx:1739
 AliMUONTrackerData.cxx:1740
 AliMUONTrackerData.cxx:1741
 AliMUONTrackerData.cxx:1742
 AliMUONTrackerData.cxx:1743
 AliMUONTrackerData.cxx:1744
 AliMUONTrackerData.cxx:1745
 AliMUONTrackerData.cxx:1746
 AliMUONTrackerData.cxx:1747
 AliMUONTrackerData.cxx:1748
 AliMUONTrackerData.cxx:1749
 AliMUONTrackerData.cxx:1750
 AliMUONTrackerData.cxx:1751
 AliMUONTrackerData.cxx:1752
 AliMUONTrackerData.cxx:1753
 AliMUONTrackerData.cxx:1754
 AliMUONTrackerData.cxx:1755
 AliMUONTrackerData.cxx:1756
 AliMUONTrackerData.cxx:1757
 AliMUONTrackerData.cxx:1758
 AliMUONTrackerData.cxx:1759
 AliMUONTrackerData.cxx:1760
 AliMUONTrackerData.cxx:1761
 AliMUONTrackerData.cxx:1762
 AliMUONTrackerData.cxx:1763
 AliMUONTrackerData.cxx:1764
 AliMUONTrackerData.cxx:1765
 AliMUONTrackerData.cxx:1766
 AliMUONTrackerData.cxx:1767
 AliMUONTrackerData.cxx:1768
 AliMUONTrackerData.cxx:1769
 AliMUONTrackerData.cxx:1770
 AliMUONTrackerData.cxx:1771
 AliMUONTrackerData.cxx:1772
 AliMUONTrackerData.cxx:1773
 AliMUONTrackerData.cxx:1774
 AliMUONTrackerData.cxx:1775
 AliMUONTrackerData.cxx:1776
 AliMUONTrackerData.cxx:1777
 AliMUONTrackerData.cxx:1778
 AliMUONTrackerData.cxx:1779
 AliMUONTrackerData.cxx:1780
 AliMUONTrackerData.cxx:1781
 AliMUONTrackerData.cxx:1782
 AliMUONTrackerData.cxx:1783
 AliMUONTrackerData.cxx:1784
 AliMUONTrackerData.cxx:1785
 AliMUONTrackerData.cxx:1786
 AliMUONTrackerData.cxx:1787
 AliMUONTrackerData.cxx:1788
 AliMUONTrackerData.cxx:1789
 AliMUONTrackerData.cxx:1790
 AliMUONTrackerData.cxx:1791
 AliMUONTrackerData.cxx:1792
 AliMUONTrackerData.cxx:1793
 AliMUONTrackerData.cxx:1794
 AliMUONTrackerData.cxx:1795
 AliMUONTrackerData.cxx:1796
 AliMUONTrackerData.cxx:1797
 AliMUONTrackerData.cxx:1798
 AliMUONTrackerData.cxx:1799
 AliMUONTrackerData.cxx:1800
 AliMUONTrackerData.cxx:1801
 AliMUONTrackerData.cxx:1802
 AliMUONTrackerData.cxx:1803
 AliMUONTrackerData.cxx:1804
 AliMUONTrackerData.cxx:1805
 AliMUONTrackerData.cxx:1806
 AliMUONTrackerData.cxx:1807
 AliMUONTrackerData.cxx:1808
 AliMUONTrackerData.cxx:1809
 AliMUONTrackerData.cxx:1810
 AliMUONTrackerData.cxx:1811
 AliMUONTrackerData.cxx:1812
 AliMUONTrackerData.cxx:1813
 AliMUONTrackerData.cxx:1814
 AliMUONTrackerData.cxx:1815
 AliMUONTrackerData.cxx:1816
 AliMUONTrackerData.cxx:1817
 AliMUONTrackerData.cxx:1818
 AliMUONTrackerData.cxx:1819
 AliMUONTrackerData.cxx:1820
 AliMUONTrackerData.cxx:1821
 AliMUONTrackerData.cxx:1822
 AliMUONTrackerData.cxx:1823
 AliMUONTrackerData.cxx:1824
 AliMUONTrackerData.cxx:1825
 AliMUONTrackerData.cxx:1826
 AliMUONTrackerData.cxx:1827
 AliMUONTrackerData.cxx:1828
 AliMUONTrackerData.cxx:1829
 AliMUONTrackerData.cxx:1830
 AliMUONTrackerData.cxx:1831
 AliMUONTrackerData.cxx:1832
 AliMUONTrackerData.cxx:1833
 AliMUONTrackerData.cxx:1834
 AliMUONTrackerData.cxx:1835
 AliMUONTrackerData.cxx:1836
 AliMUONTrackerData.cxx:1837
 AliMUONTrackerData.cxx:1838
 AliMUONTrackerData.cxx:1839
 AliMUONTrackerData.cxx:1840
 AliMUONTrackerData.cxx:1841
 AliMUONTrackerData.cxx:1842
 AliMUONTrackerData.cxx:1843
 AliMUONTrackerData.cxx:1844
 AliMUONTrackerData.cxx:1845
 AliMUONTrackerData.cxx:1846
 AliMUONTrackerData.cxx:1847
 AliMUONTrackerData.cxx:1848
 AliMUONTrackerData.cxx:1849
 AliMUONTrackerData.cxx:1850
 AliMUONTrackerData.cxx:1851
 AliMUONTrackerData.cxx:1852
 AliMUONTrackerData.cxx:1853
 AliMUONTrackerData.cxx:1854
 AliMUONTrackerData.cxx:1855
 AliMUONTrackerData.cxx:1856
 AliMUONTrackerData.cxx:1857
 AliMUONTrackerData.cxx:1858
 AliMUONTrackerData.cxx:1859
 AliMUONTrackerData.cxx:1860
 AliMUONTrackerData.cxx:1861
 AliMUONTrackerData.cxx:1862
 AliMUONTrackerData.cxx:1863
 AliMUONTrackerData.cxx:1864
 AliMUONTrackerData.cxx:1865
 AliMUONTrackerData.cxx:1866
 AliMUONTrackerData.cxx:1867
 AliMUONTrackerData.cxx:1868
 AliMUONTrackerData.cxx:1869
 AliMUONTrackerData.cxx:1870
 AliMUONTrackerData.cxx:1871
 AliMUONTrackerData.cxx:1872
 AliMUONTrackerData.cxx:1873
 AliMUONTrackerData.cxx:1874
 AliMUONTrackerData.cxx:1875
 AliMUONTrackerData.cxx:1876
 AliMUONTrackerData.cxx:1877
 AliMUONTrackerData.cxx:1878
 AliMUONTrackerData.cxx:1879
 AliMUONTrackerData.cxx:1880
 AliMUONTrackerData.cxx:1881
 AliMUONTrackerData.cxx:1882
 AliMUONTrackerData.cxx:1883
 AliMUONTrackerData.cxx:1884
 AliMUONTrackerData.cxx:1885
 AliMUONTrackerData.cxx:1886
 AliMUONTrackerData.cxx:1887
 AliMUONTrackerData.cxx:1888
 AliMUONTrackerData.cxx:1889
 AliMUONTrackerData.cxx:1890
 AliMUONTrackerData.cxx:1891
 AliMUONTrackerData.cxx:1892
 AliMUONTrackerData.cxx:1893
 AliMUONTrackerData.cxx:1894
 AliMUONTrackerData.cxx:1895
 AliMUONTrackerData.cxx:1896
 AliMUONTrackerData.cxx:1897
 AliMUONTrackerData.cxx:1898
 AliMUONTrackerData.cxx:1899
 AliMUONTrackerData.cxx:1900
 AliMUONTrackerData.cxx:1901
 AliMUONTrackerData.cxx:1902
 AliMUONTrackerData.cxx:1903
 AliMUONTrackerData.cxx:1904
 AliMUONTrackerData.cxx:1905
 AliMUONTrackerData.cxx:1906
 AliMUONTrackerData.cxx:1907
 AliMUONTrackerData.cxx:1908
 AliMUONTrackerData.cxx:1909
 AliMUONTrackerData.cxx:1910
 AliMUONTrackerData.cxx:1911
 AliMUONTrackerData.cxx:1912
 AliMUONTrackerData.cxx:1913
 AliMUONTrackerData.cxx:1914
 AliMUONTrackerData.cxx:1915
 AliMUONTrackerData.cxx:1916
 AliMUONTrackerData.cxx:1917
 AliMUONTrackerData.cxx:1918
 AliMUONTrackerData.cxx:1919
 AliMUONTrackerData.cxx:1920
 AliMUONTrackerData.cxx:1921
 AliMUONTrackerData.cxx:1922
 AliMUONTrackerData.cxx:1923
 AliMUONTrackerData.cxx:1924
 AliMUONTrackerData.cxx:1925
 AliMUONTrackerData.cxx:1926
 AliMUONTrackerData.cxx:1927
 AliMUONTrackerData.cxx:1928
 AliMUONTrackerData.cxx:1929
 AliMUONTrackerData.cxx:1930
 AliMUONTrackerData.cxx:1931
 AliMUONTrackerData.cxx:1932
 AliMUONTrackerData.cxx:1933
 AliMUONTrackerData.cxx:1934
 AliMUONTrackerData.cxx:1935
 AliMUONTrackerData.cxx:1936
 AliMUONTrackerData.cxx:1937
 AliMUONTrackerData.cxx:1938
 AliMUONTrackerData.cxx:1939
 AliMUONTrackerData.cxx:1940
 AliMUONTrackerData.cxx:1941
 AliMUONTrackerData.cxx:1942
 AliMUONTrackerData.cxx:1943
 AliMUONTrackerData.cxx:1944
 AliMUONTrackerData.cxx:1945
 AliMUONTrackerData.cxx:1946
 AliMUONTrackerData.cxx:1947
 AliMUONTrackerData.cxx:1948
 AliMUONTrackerData.cxx:1949
 AliMUONTrackerData.cxx:1950
 AliMUONTrackerData.cxx:1951
 AliMUONTrackerData.cxx:1952
 AliMUONTrackerData.cxx:1953
 AliMUONTrackerData.cxx:1954
 AliMUONTrackerData.cxx:1955
 AliMUONTrackerData.cxx:1956
 AliMUONTrackerData.cxx:1957
 AliMUONTrackerData.cxx:1958
 AliMUONTrackerData.cxx:1959
 AliMUONTrackerData.cxx:1960
 AliMUONTrackerData.cxx:1961
 AliMUONTrackerData.cxx:1962
 AliMUONTrackerData.cxx:1963
 AliMUONTrackerData.cxx:1964
 AliMUONTrackerData.cxx:1965
 AliMUONTrackerData.cxx:1966
 AliMUONTrackerData.cxx:1967
 AliMUONTrackerData.cxx:1968
 AliMUONTrackerData.cxx:1969
 AliMUONTrackerData.cxx:1970
 AliMUONTrackerData.cxx:1971
 AliMUONTrackerData.cxx:1972
 AliMUONTrackerData.cxx:1973
 AliMUONTrackerData.cxx:1974
 AliMUONTrackerData.cxx:1975
 AliMUONTrackerData.cxx:1976
 AliMUONTrackerData.cxx:1977
 AliMUONTrackerData.cxx:1978
 AliMUONTrackerData.cxx:1979
 AliMUONTrackerData.cxx:1980
 AliMUONTrackerData.cxx:1981
 AliMUONTrackerData.cxx:1982
 AliMUONTrackerData.cxx:1983
 AliMUONTrackerData.cxx:1984
 AliMUONTrackerData.cxx:1985
 AliMUONTrackerData.cxx:1986
 AliMUONTrackerData.cxx:1987
 AliMUONTrackerData.cxx:1988
 AliMUONTrackerData.cxx:1989
 AliMUONTrackerData.cxx:1990
 AliMUONTrackerData.cxx:1991
 AliMUONTrackerData.cxx:1992
 AliMUONTrackerData.cxx:1993
 AliMUONTrackerData.cxx:1994
 AliMUONTrackerData.cxx:1995
 AliMUONTrackerData.cxx:1996
 AliMUONTrackerData.cxx:1997
 AliMUONTrackerData.cxx:1998
 AliMUONTrackerData.cxx:1999
 AliMUONTrackerData.cxx:2000
 AliMUONTrackerData.cxx:2001
 AliMUONTrackerData.cxx:2002
 AliMUONTrackerData.cxx:2003
 AliMUONTrackerData.cxx:2004
 AliMUONTrackerData.cxx:2005
 AliMUONTrackerData.cxx:2006
 AliMUONTrackerData.cxx:2007
 AliMUONTrackerData.cxx:2008
 AliMUONTrackerData.cxx:2009
 AliMUONTrackerData.cxx:2010
 AliMUONTrackerData.cxx:2011
 AliMUONTrackerData.cxx:2012
 AliMUONTrackerData.cxx:2013
 AliMUONTrackerData.cxx:2014
 AliMUONTrackerData.cxx:2015
 AliMUONTrackerData.cxx:2016
 AliMUONTrackerData.cxx:2017
 AliMUONTrackerData.cxx:2018
 AliMUONTrackerData.cxx:2019
 AliMUONTrackerData.cxx:2020
 AliMUONTrackerData.cxx:2021
 AliMUONTrackerData.cxx:2022
 AliMUONTrackerData.cxx:2023
 AliMUONTrackerData.cxx:2024
 AliMUONTrackerData.cxx:2025
 AliMUONTrackerData.cxx:2026
 AliMUONTrackerData.cxx:2027
 AliMUONTrackerData.cxx:2028
 AliMUONTrackerData.cxx:2029
 AliMUONTrackerData.cxx:2030
 AliMUONTrackerData.cxx:2031
 AliMUONTrackerData.cxx:2032
 AliMUONTrackerData.cxx:2033
 AliMUONTrackerData.cxx:2034
 AliMUONTrackerData.cxx:2035
 AliMUONTrackerData.cxx:2036
 AliMUONTrackerData.cxx:2037
 AliMUONTrackerData.cxx:2038
 AliMUONTrackerData.cxx:2039
 AliMUONTrackerData.cxx:2040
 AliMUONTrackerData.cxx:2041
 AliMUONTrackerData.cxx:2042
 AliMUONTrackerData.cxx:2043
 AliMUONTrackerData.cxx:2044
 AliMUONTrackerData.cxx:2045
 AliMUONTrackerData.cxx:2046
 AliMUONTrackerData.cxx:2047
 AliMUONTrackerData.cxx:2048
 AliMUONTrackerData.cxx:2049
 AliMUONTrackerData.cxx:2050
 AliMUONTrackerData.cxx:2051
 AliMUONTrackerData.cxx:2052
 AliMUONTrackerData.cxx:2053
 AliMUONTrackerData.cxx:2054
 AliMUONTrackerData.cxx:2055
 AliMUONTrackerData.cxx:2056
 AliMUONTrackerData.cxx:2057
 AliMUONTrackerData.cxx:2058
 AliMUONTrackerData.cxx:2059
 AliMUONTrackerData.cxx:2060
 AliMUONTrackerData.cxx:2061
 AliMUONTrackerData.cxx:2062
 AliMUONTrackerData.cxx:2063
 AliMUONTrackerData.cxx:2064
 AliMUONTrackerData.cxx:2065
 AliMUONTrackerData.cxx:2066
 AliMUONTrackerData.cxx:2067
 AliMUONTrackerData.cxx:2068
 AliMUONTrackerData.cxx:2069
 AliMUONTrackerData.cxx:2070
 AliMUONTrackerData.cxx:2071
 AliMUONTrackerData.cxx:2072
 AliMUONTrackerData.cxx:2073
 AliMUONTrackerData.cxx:2074
 AliMUONTrackerData.cxx:2075
 AliMUONTrackerData.cxx:2076
 AliMUONTrackerData.cxx:2077
 AliMUONTrackerData.cxx:2078
 AliMUONTrackerData.cxx:2079
 AliMUONTrackerData.cxx:2080
 AliMUONTrackerData.cxx:2081
 AliMUONTrackerData.cxx:2082
 AliMUONTrackerData.cxx:2083
 AliMUONTrackerData.cxx:2084
 AliMUONTrackerData.cxx:2085
 AliMUONTrackerData.cxx:2086
 AliMUONTrackerData.cxx:2087
 AliMUONTrackerData.cxx:2088
 AliMUONTrackerData.cxx:2089
 AliMUONTrackerData.cxx:2090
 AliMUONTrackerData.cxx:2091
 AliMUONTrackerData.cxx:2092
 AliMUONTrackerData.cxx:2093
 AliMUONTrackerData.cxx:2094
 AliMUONTrackerData.cxx:2095
 AliMUONTrackerData.cxx:2096
 AliMUONTrackerData.cxx:2097
 AliMUONTrackerData.cxx:2098
 AliMUONTrackerData.cxx:2099
 AliMUONTrackerData.cxx:2100
 AliMUONTrackerData.cxx:2101
 AliMUONTrackerData.cxx:2102
 AliMUONTrackerData.cxx:2103
 AliMUONTrackerData.cxx:2104
 AliMUONTrackerData.cxx:2105
 AliMUONTrackerData.cxx:2106
 AliMUONTrackerData.cxx:2107
 AliMUONTrackerData.cxx:2108
 AliMUONTrackerData.cxx:2109
 AliMUONTrackerData.cxx:2110
 AliMUONTrackerData.cxx:2111
 AliMUONTrackerData.cxx:2112
 AliMUONTrackerData.cxx:2113
 AliMUONTrackerData.cxx:2114
 AliMUONTrackerData.cxx:2115
 AliMUONTrackerData.cxx:2116
 AliMUONTrackerData.cxx:2117
 AliMUONTrackerData.cxx:2118
 AliMUONTrackerData.cxx:2119
 AliMUONTrackerData.cxx:2120
 AliMUONTrackerData.cxx:2121
 AliMUONTrackerData.cxx:2122
 AliMUONTrackerData.cxx:2123
 AliMUONTrackerData.cxx:2124
 AliMUONTrackerData.cxx:2125
 AliMUONTrackerData.cxx:2126
 AliMUONTrackerData.cxx:2127
 AliMUONTrackerData.cxx:2128
 AliMUONTrackerData.cxx:2129
 AliMUONTrackerData.cxx:2130
 AliMUONTrackerData.cxx:2131
 AliMUONTrackerData.cxx:2132
 AliMUONTrackerData.cxx:2133
 AliMUONTrackerData.cxx:2134
 AliMUONTrackerData.cxx:2135
 AliMUONTrackerData.cxx:2136
 AliMUONTrackerData.cxx:2137
 AliMUONTrackerData.cxx:2138
 AliMUONTrackerData.cxx:2139
 AliMUONTrackerData.cxx:2140
 AliMUONTrackerData.cxx:2141
 AliMUONTrackerData.cxx:2142
 AliMUONTrackerData.cxx:2143
 AliMUONTrackerData.cxx:2144
 AliMUONTrackerData.cxx:2145
 AliMUONTrackerData.cxx:2146
 AliMUONTrackerData.cxx:2147
 AliMUONTrackerData.cxx:2148
 AliMUONTrackerData.cxx:2149
 AliMUONTrackerData.cxx:2150
 AliMUONTrackerData.cxx:2151
 AliMUONTrackerData.cxx:2152
 AliMUONTrackerData.cxx:2153
 AliMUONTrackerData.cxx:2154
 AliMUONTrackerData.cxx:2155
 AliMUONTrackerData.cxx:2156
 AliMUONTrackerData.cxx:2157
 AliMUONTrackerData.cxx:2158
 AliMUONTrackerData.cxx:2159
 AliMUONTrackerData.cxx:2160
 AliMUONTrackerData.cxx:2161
 AliMUONTrackerData.cxx:2162
 AliMUONTrackerData.cxx:2163
 AliMUONTrackerData.cxx:2164
 AliMUONTrackerData.cxx:2165
 AliMUONTrackerData.cxx:2166
 AliMUONTrackerData.cxx:2167
 AliMUONTrackerData.cxx:2168
 AliMUONTrackerData.cxx:2169
 AliMUONTrackerData.cxx:2170
 AliMUONTrackerData.cxx:2171
 AliMUONTrackerData.cxx:2172
 AliMUONTrackerData.cxx:2173
 AliMUONTrackerData.cxx:2174
 AliMUONTrackerData.cxx:2175
 AliMUONTrackerData.cxx:2176
 AliMUONTrackerData.cxx:2177
 AliMUONTrackerData.cxx:2178
 AliMUONTrackerData.cxx:2179
 AliMUONTrackerData.cxx:2180
 AliMUONTrackerData.cxx:2181
 AliMUONTrackerData.cxx:2182
 AliMUONTrackerData.cxx:2183
 AliMUONTrackerData.cxx:2184
 AliMUONTrackerData.cxx:2185
 AliMUONTrackerData.cxx:2186
 AliMUONTrackerData.cxx:2187
 AliMUONTrackerData.cxx:2188
 AliMUONTrackerData.cxx:2189
 AliMUONTrackerData.cxx:2190
 AliMUONTrackerData.cxx:2191
 AliMUONTrackerData.cxx:2192
 AliMUONTrackerData.cxx:2193
 AliMUONTrackerData.cxx:2194
 AliMUONTrackerData.cxx:2195
 AliMUONTrackerData.cxx:2196
 AliMUONTrackerData.cxx:2197
 AliMUONTrackerData.cxx:2198
 AliMUONTrackerData.cxx:2199
 AliMUONTrackerData.cxx:2200
 AliMUONTrackerData.cxx:2201
 AliMUONTrackerData.cxx:2202
 AliMUONTrackerData.cxx:2203
 AliMUONTrackerData.cxx:2204
 AliMUONTrackerData.cxx:2205
 AliMUONTrackerData.cxx:2206
 AliMUONTrackerData.cxx:2207
 AliMUONTrackerData.cxx:2208
 AliMUONTrackerData.cxx:2209
 AliMUONTrackerData.cxx:2210
 AliMUONTrackerData.cxx:2211
 AliMUONTrackerData.cxx:2212
 AliMUONTrackerData.cxx:2213
 AliMUONTrackerData.cxx:2214
 AliMUONTrackerData.cxx:2215
 AliMUONTrackerData.cxx:2216
 AliMUONTrackerData.cxx:2217
 AliMUONTrackerData.cxx:2218
 AliMUONTrackerData.cxx:2219
 AliMUONTrackerData.cxx:2220
 AliMUONTrackerData.cxx:2221
 AliMUONTrackerData.cxx:2222
 AliMUONTrackerData.cxx:2223
 AliMUONTrackerData.cxx:2224
 AliMUONTrackerData.cxx:2225
 AliMUONTrackerData.cxx:2226
 AliMUONTrackerData.cxx:2227
 AliMUONTrackerData.cxx:2228
 AliMUONTrackerData.cxx:2229
 AliMUONTrackerData.cxx:2230
 AliMUONTrackerData.cxx:2231
 AliMUONTrackerData.cxx:2232
 AliMUONTrackerData.cxx:2233
 AliMUONTrackerData.cxx:2234
 AliMUONTrackerData.cxx:2235
 AliMUONTrackerData.cxx:2236
 AliMUONTrackerData.cxx:2237
 AliMUONTrackerData.cxx:2238
 AliMUONTrackerData.cxx:2239
 AliMUONTrackerData.cxx:2240
 AliMUONTrackerData.cxx:2241
 AliMUONTrackerData.cxx:2242
 AliMUONTrackerData.cxx:2243
 AliMUONTrackerData.cxx:2244
 AliMUONTrackerData.cxx:2245
 AliMUONTrackerData.cxx:2246
 AliMUONTrackerData.cxx:2247
 AliMUONTrackerData.cxx:2248
 AliMUONTrackerData.cxx:2249
 AliMUONTrackerData.cxx:2250
 AliMUONTrackerData.cxx:2251
 AliMUONTrackerData.cxx:2252
 AliMUONTrackerData.cxx:2253
 AliMUONTrackerData.cxx:2254
 AliMUONTrackerData.cxx:2255
 AliMUONTrackerData.cxx:2256
 AliMUONTrackerData.cxx:2257
 AliMUONTrackerData.cxx:2258
 AliMUONTrackerData.cxx:2259
 AliMUONTrackerData.cxx:2260
 AliMUONTrackerData.cxx:2261
 AliMUONTrackerData.cxx:2262
 AliMUONTrackerData.cxx:2263
 AliMUONTrackerData.cxx:2264
 AliMUONTrackerData.cxx:2265
 AliMUONTrackerData.cxx:2266
 AliMUONTrackerData.cxx:2267
 AliMUONTrackerData.cxx:2268
 AliMUONTrackerData.cxx:2269
 AliMUONTrackerData.cxx:2270
 AliMUONTrackerData.cxx:2271
 AliMUONTrackerData.cxx:2272
 AliMUONTrackerData.cxx:2273
 AliMUONTrackerData.cxx:2274
 AliMUONTrackerData.cxx:2275
 AliMUONTrackerData.cxx:2276
 AliMUONTrackerData.cxx:2277
 AliMUONTrackerData.cxx:2278
 AliMUONTrackerData.cxx:2279
 AliMUONTrackerData.cxx:2280
 AliMUONTrackerData.cxx:2281
 AliMUONTrackerData.cxx:2282
 AliMUONTrackerData.cxx:2283
 AliMUONTrackerData.cxx:2284
 AliMUONTrackerData.cxx:2285
 AliMUONTrackerData.cxx:2286
 AliMUONTrackerData.cxx:2287
 AliMUONTrackerData.cxx:2288
 AliMUONTrackerData.cxx:2289