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$ */

//-----------------------------------------------------------------------------
// Class AliMUONRawCluster
// -------------------------
// Class for the MUON RecPoint
// It contains the properties of the physics cluters found in the tracking chambers
// RawCluster contains also the information from the both cathode of the chambers.
//-----------------------------------------------------------------------------


#include "Riostream.h"

#include <TArrayF.h>
#include <TString.h>

#include "AliMUONRawCluster.h"

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


//____________________________________________________
AliMUONRawCluster::AliMUONRawCluster() 
  : AliMUONVCluster(),
    fClusterType(0),
    fGhost(0),
    fDetElemId(0)   
{
/// Constructor
    fTracks[0]=fTracks[1]=fTracks[2]=-1; 
    for (int j=0;j<2;j++) {
	fQ[j]=0;
	fX[j]=0;
	fY[j]=0;
      fZ[j]=0;
	fMultiplicity[j]=0;
	fPeakSignal[j]=-1;
	fChi2[j]=-1;
	
	for (int k=0;k<50;k++) {
	    fIndexMap[k][j]=-1;
	    fOffsetMap[k][j]=0;
	    fContMap[k][j]=0;
	    fPhysicsMap[k]=-1;
	}
    }
    fNcluster[0]=fNcluster[1]=-1;
    fErrXY[0] = FLT_MAX;
    fErrXY[1] = FLT_MAX;
}

//____________________________________________________
AliMUONRawCluster::~AliMUONRawCluster() 
{
/// Destructor
}

//____________________________________________________
void AliMUONRawCluster::SetDigitsId(Int_t nDigits, const UInt_t *digitsId)
{
  /// Set the array of digit Id
  /// if digitsId is not given the array is filled with id=0
  
  fMultiplicity[0] = (nDigits < 50) ? nDigits : 50;
  
  if (fMultiplicity[0] == 0) return;
  if (digitsId == 0)
    for (Int_t i=0; i<fMultiplicity[0]; i++) fIndexMap[i][0] = 0;
  else
    for (Int_t i=0; i<fMultiplicity[0]; i++) fIndexMap[i][0] = (Int_t) digitsId[i];
}

//____________________________________________________
Int_t AliMUONRawCluster::Compare(const TObject *obj) const
{
/// Compare

  /*
         AliMUONRawCluster *raw=(AliMUONRawCluster *)obj;
	 Float_t r=GetRadius();
         Float_t ro=raw->GetRadius();
         if (r>ro) return 1;
         else if (r<ro) return -1;
         else return 0;
  */
  /*
         AliMUONRawCluster *raw=(AliMUONRawCluster *)obj;
	 Float_t y=fY[0];
         Float_t yo=raw->fY[0];
         if (y>yo) return 1;
         else if (y<yo) return -1;
         else return 0;
   */
  
  const AliMUONRawCluster* raw = static_cast<const AliMUONRawCluster*>(obj);
  if ( GetCharge() > raw->GetCharge() ) 
  {
    return 1;
  }
  else if ( GetCharge() < raw->GetCharge() ) 
  {
    return -1;
  }
  return 0;
}

//____________________________________________________
Int_t AliMUONRawCluster::BinarySearch(Float_t y, TArrayF coord, Int_t from, Int_t upto)
{
/// Find object using a binary search. Array must first have been sorted.
/// Search can be limited by setting upto to desired index.

   Int_t low=from, high=upto-1, half;
   while(high-low>1) {
        half=(high+low)/2;
        if(y>coord[half]) low=half;
        else high=half;
   }
   return low;
}
//____________________________________________________
void AliMUONRawCluster::SortMin(Int_t *idx,Float_t *xdarray,Float_t *xarray,Float_t *yarray,Float_t *qarray, Int_t ntr)
{
/// Get the 3 closest points(cog) one can find on the second cathode 
/// starting from a given cog on first cathode
  
  //
  //  Loop over deltax, only 3 times
  //
  
    Float_t xmin;
    Int_t jmin;
    Int_t id[3] = {-2,-2,-2};
    Float_t jx[3] = {0.,0.,0.};
    Float_t jy[3] = {0.,0.,0.};
    Float_t jq[3] = {0.,0.,0.};
    Int_t jid[3] = {-2,-2,-2};
    Int_t i,j,imax;
  
    if (ntr<3) imax=ntr;
    else imax=3;
    for(i=0;i<imax;i++){
        xmin=1001.;
        jmin=0;
    
        for(j=0;j<ntr;j++){
            if ((i == 1 && j == id[i-1]) 
	          ||(i == 2 && (j == id[i-1] || j == id[i-2]))) continue;
           if (TMath::Abs(xdarray[j]) < xmin) {
	      xmin = TMath::Abs(xdarray[j]);
	      jmin=j;
           }       
        } // j
        if (xmin != 1001.) {    
           id[i]=jmin;
           jx[i]=xarray[jmin]; 
           jy[i]=yarray[jmin]; 
           jq[i]=qarray[jmin]; 
           jid[i]=idx[jmin];
        } 
    
    }  // i
  
    for (i=0;i<3;i++){
        if (jid[i] == -2) {
            xarray[i]=1001.;
            yarray[i]=1001.;
            qarray[i]=1001.;
            idx[i]=-1;
        } else {
            xarray[i]=jx[i];
            yarray[i]=jy[i];
            qarray[i]=jq[i];
            idx[i]=jid[i];
        }
    }

}

//____________________________________________________
Int_t AliMUONRawCluster::PhysicsContribution() const
{
/// Evaluate physics contribution to cluster
  Int_t iPhys=0;
  Int_t iBg=0;
  Int_t iMixed=0;
  for (Int_t i=0; i<fMultiplicity[0]; i++) {
    if (fPhysicsMap[i]==2) iPhys++;
    if (fPhysicsMap[i]==1) iMixed++;
    if (fPhysicsMap[i]==0) iBg++;
  }
  if (iMixed==0 && iBg==0) {
    return 2;
  } else if ((iPhys != 0 && iBg !=0) || iMixed != 0) {
    return 1;
  } else {
    return 0;
  }
}

//____________________________________________________
void AliMUONRawCluster::Print(Option_t* opt) const
{
  ///
  /// Printing Raw Cluster (Rec Point) information 
  /// "full" option for printing all the information about the raw cluster
  ///
  TString sopt(opt);
  sopt.ToUpper();
 
  cout << Form("<AliMUONRawCluster>: DetEle=%4d (x,y,z)=(%7.4f,%7.4f,%7.4f) cm"
               " Chi2=%7.2f Q=%7.2f",
               GetDetElemId(),GetX(),GetY(),GetZ(),GetChi2(),
               GetCharge());
               
  if ( sopt.Contains("FULL") )
  {
    cout << ", Hit=" << setw(4)  << GetTrack(0) <<
    ", Track1=" <<  setw(4)  << GetTrack(1) <<
    ", Track2=" <<  setw(4)  << GetTrack(2);
  }
  cout << endl;
}

//____________________________________________________
void AliMUONRawCluster::DumpIndex(void)
{
/// Dumping IdexMap of the cluster
    printf ("-----\n");
    for (Int_t icat=0;icat<2;icat++) {
	printf ("Mult %d\n",fMultiplicity[icat]);
	for (Int_t idig=0;idig<fMultiplicity[icat];idig++){
	    printf("Index %d",fIndexMap[idig][icat]);
	}
	printf("\n");
    }
}
//____________________________________________________
Int_t AliMUONRawCluster::AddCharge(Int_t i, Float_t Q)
{
/// Adding Q to the fQ value
  if (i==0 || i==1) {
    fQ[i]+=Q;
    return 1;
  }
  else  return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::AddX(Int_t i, Float_t X)
{
/// Adding X to the fX value
  if (i==0 || i==1) {
    fX[i]+=X;
    return 1;
  }
  else  return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::AddY(Int_t i, Float_t Y)
{
/// Adding Y to the fY value 
  if (i==0 || i==1) {
    fY[i]+=Y;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::AddZ(Int_t i, Float_t Z)
{
/// Adding Z to the fZ value
  if (i==0 || i==1) {
    fZ[i]+=Z;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Float_t AliMUONRawCluster::GetCharge(Int_t i) const
{
/// Getting the charge of the cluster
  if (i==0 || i==1) return fQ[i];
  else  return 99999;
}
//____________________________________________________
Float_t AliMUONRawCluster::GetX(Int_t i)  const
{
/// Getting X value of the cluster
  if (i==0 || i==1) return fX[i];
  else  return 99999.;
}
//____________________________________________________
Float_t AliMUONRawCluster::GetY(Int_t i) const 
{
/// Getting Y value of the cluster
  if (i==0 || i==1) return fY[i];
  else  return 99999.;
}
//____________________________________________________
Float_t AliMUONRawCluster::GetZ(Int_t i) const 
{
/// Getting Z value of the cluster
  if (i==0 || i==1) return fZ[i];
  else  return 99999.;
}
//____________________________________________________
Int_t AliMUONRawCluster::GetTrack(Int_t i) const 
{
/// Getting track i contributing to the cluster
  if (i==0 || i==1 || i==2) return fTracks[i];
  else  return 99999;
}
//____________________________________________________
Float_t AliMUONRawCluster::GetPeakSignal(Int_t i) const 
{
/// Getting cluster peaksignal
  if (i==0 || i==1 ) return fPeakSignal[i];
  else  return 99999;
}
//____________________________________________________
Int_t AliMUONRawCluster::GetMultiplicity(Int_t i) const 
{
/// Getting cluster multiplicity
  if (i==0 || i==1 ) return fMultiplicity[i];
  else  return 99999;
}
//____________________________________________________
Int_t AliMUONRawCluster::GetClusterType() const 
{
/// Getting Cluster Type
  return fClusterType;
}
//____________________________________________________
Int_t AliMUONRawCluster::GetGhost() const 
{
/// Getting Ghost
  return fGhost;
}
//____________________________________________________
Int_t AliMUONRawCluster::GetNcluster(Int_t i) const 
{
/// Getting number of clusters
  if (i==0 || i==1 ) return fNcluster[i];
  else  return 99999;
}
//____________________________________________________
Float_t AliMUONRawCluster::GetChi2(Int_t i) const 
{
/// Getting chi2 value of the cluster
  if (i==0 || i==1) return fChi2[i];
  else  return 99999.;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetCharge(Int_t i, Float_t Q)
{
/// Setting Charge of the cluster
  if (i==0 || i==1) {
    fQ[i]=Q;
    return 1;
  }
  else  return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetX(Int_t i, Float_t X)
{
/// Setting X value of the cluster
  if (i==0 || i==1) {
    fX[i]=X;
    return 1;
  }
  else  return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetY(Int_t i, Float_t Y)
{
/// Setting Y value of the cluster
  if (i==0 || i==1) {
    fY[i]=Y;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetZ(Int_t i, Float_t Z)
{
/// Setting Z value of the cluste
  if (i==0 || i==1) {
    fZ[i]=Z;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetTrack(Int_t i, Int_t track)
{
/// Setting tracks contributing to the cluster
  if (i==0 || i==1 || i==2) {
    fTracks[i]=track;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetPeakSignal(Int_t i, Float_t peaksignal)
{
/// Setting PeakSignal of the cluster
  if (i==0 || i==1 ) {
    fPeakSignal[i]=peaksignal;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetMultiplicity(Int_t i, Int_t mul)
{
/// Setting multiplicity of the cluster
  if (i==0 || i==1 ) {
    fMultiplicity[i]=mul;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetClusterType(Int_t type)
{
/// Setting the cluster type
  fClusterType=type;
  return 1;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetGhost(Int_t ghost)
{
/// Setting the ghost
  fGhost=ghost;
  return 1;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetNcluster(Int_t i, Int_t ncluster)
{
/// Setting number the cluster
  if (i==0 || i==1 ) {
    fNcluster[i]=ncluster;
    return 1;
  }
  else return 0;
}
//____________________________________________________
Int_t AliMUONRawCluster::SetChi2(Int_t i, Float_t chi2)
{
/// Setting chi2 of the cluster
  if (i==0 || i==1) {
    fChi2[i]=chi2;
    return 1;
  }
  else return 0;
}


 AliMUONRawCluster.cxx:1
 AliMUONRawCluster.cxx:2
 AliMUONRawCluster.cxx:3
 AliMUONRawCluster.cxx:4
 AliMUONRawCluster.cxx:5
 AliMUONRawCluster.cxx:6
 AliMUONRawCluster.cxx:7
 AliMUONRawCluster.cxx:8
 AliMUONRawCluster.cxx:9
 AliMUONRawCluster.cxx:10
 AliMUONRawCluster.cxx:11
 AliMUONRawCluster.cxx:12
 AliMUONRawCluster.cxx:13
 AliMUONRawCluster.cxx:14
 AliMUONRawCluster.cxx:15
 AliMUONRawCluster.cxx:16
 AliMUONRawCluster.cxx:17
 AliMUONRawCluster.cxx:18
 AliMUONRawCluster.cxx:19
 AliMUONRawCluster.cxx:20
 AliMUONRawCluster.cxx:21
 AliMUONRawCluster.cxx:22
 AliMUONRawCluster.cxx:23
 AliMUONRawCluster.cxx:24
 AliMUONRawCluster.cxx:25
 AliMUONRawCluster.cxx:26
 AliMUONRawCluster.cxx:27
 AliMUONRawCluster.cxx:28
 AliMUONRawCluster.cxx:29
 AliMUONRawCluster.cxx:30
 AliMUONRawCluster.cxx:31
 AliMUONRawCluster.cxx:32
 AliMUONRawCluster.cxx:33
 AliMUONRawCluster.cxx:34
 AliMUONRawCluster.cxx:35
 AliMUONRawCluster.cxx:36
 AliMUONRawCluster.cxx:37
 AliMUONRawCluster.cxx:38
 AliMUONRawCluster.cxx:39
 AliMUONRawCluster.cxx:40
 AliMUONRawCluster.cxx:41
 AliMUONRawCluster.cxx:42
 AliMUONRawCluster.cxx:43
 AliMUONRawCluster.cxx:44
 AliMUONRawCluster.cxx:45
 AliMUONRawCluster.cxx:46
 AliMUONRawCluster.cxx:47
 AliMUONRawCluster.cxx:48
 AliMUONRawCluster.cxx:49
 AliMUONRawCluster.cxx:50
 AliMUONRawCluster.cxx:51
 AliMUONRawCluster.cxx:52
 AliMUONRawCluster.cxx:53
 AliMUONRawCluster.cxx:54
 AliMUONRawCluster.cxx:55
 AliMUONRawCluster.cxx:56
 AliMUONRawCluster.cxx:57
 AliMUONRawCluster.cxx:58
 AliMUONRawCluster.cxx:59
 AliMUONRawCluster.cxx:60
 AliMUONRawCluster.cxx:61
 AliMUONRawCluster.cxx:62
 AliMUONRawCluster.cxx:63
 AliMUONRawCluster.cxx:64
 AliMUONRawCluster.cxx:65
 AliMUONRawCluster.cxx:66
 AliMUONRawCluster.cxx:67
 AliMUONRawCluster.cxx:68
 AliMUONRawCluster.cxx:69
 AliMUONRawCluster.cxx:70
 AliMUONRawCluster.cxx:71
 AliMUONRawCluster.cxx:72
 AliMUONRawCluster.cxx:73
 AliMUONRawCluster.cxx:74
 AliMUONRawCluster.cxx:75
 AliMUONRawCluster.cxx:76
 AliMUONRawCluster.cxx:77
 AliMUONRawCluster.cxx:78
 AliMUONRawCluster.cxx:79
 AliMUONRawCluster.cxx:80
 AliMUONRawCluster.cxx:81
 AliMUONRawCluster.cxx:82
 AliMUONRawCluster.cxx:83
 AliMUONRawCluster.cxx:84
 AliMUONRawCluster.cxx:85
 AliMUONRawCluster.cxx:86
 AliMUONRawCluster.cxx:87
 AliMUONRawCluster.cxx:88
 AliMUONRawCluster.cxx:89
 AliMUONRawCluster.cxx:90
 AliMUONRawCluster.cxx:91
 AliMUONRawCluster.cxx:92
 AliMUONRawCluster.cxx:93
 AliMUONRawCluster.cxx:94
 AliMUONRawCluster.cxx:95
 AliMUONRawCluster.cxx:96
 AliMUONRawCluster.cxx:97
 AliMUONRawCluster.cxx:98
 AliMUONRawCluster.cxx:99
 AliMUONRawCluster.cxx:100
 AliMUONRawCluster.cxx:101
 AliMUONRawCluster.cxx:102
 AliMUONRawCluster.cxx:103
 AliMUONRawCluster.cxx:104
 AliMUONRawCluster.cxx:105
 AliMUONRawCluster.cxx:106
 AliMUONRawCluster.cxx:107
 AliMUONRawCluster.cxx:108
 AliMUONRawCluster.cxx:109
 AliMUONRawCluster.cxx:110
 AliMUONRawCluster.cxx:111
 AliMUONRawCluster.cxx:112
 AliMUONRawCluster.cxx:113
 AliMUONRawCluster.cxx:114
 AliMUONRawCluster.cxx:115
 AliMUONRawCluster.cxx:116
 AliMUONRawCluster.cxx:117
 AliMUONRawCluster.cxx:118
 AliMUONRawCluster.cxx:119
 AliMUONRawCluster.cxx:120
 AliMUONRawCluster.cxx:121
 AliMUONRawCluster.cxx:122
 AliMUONRawCluster.cxx:123
 AliMUONRawCluster.cxx:124
 AliMUONRawCluster.cxx:125
 AliMUONRawCluster.cxx:126
 AliMUONRawCluster.cxx:127
 AliMUONRawCluster.cxx:128
 AliMUONRawCluster.cxx:129
 AliMUONRawCluster.cxx:130
 AliMUONRawCluster.cxx:131
 AliMUONRawCluster.cxx:132
 AliMUONRawCluster.cxx:133
 AliMUONRawCluster.cxx:134
 AliMUONRawCluster.cxx:135
 AliMUONRawCluster.cxx:136
 AliMUONRawCluster.cxx:137
 AliMUONRawCluster.cxx:138
 AliMUONRawCluster.cxx:139
 AliMUONRawCluster.cxx:140
 AliMUONRawCluster.cxx:141
 AliMUONRawCluster.cxx:142
 AliMUONRawCluster.cxx:143
 AliMUONRawCluster.cxx:144
 AliMUONRawCluster.cxx:145
 AliMUONRawCluster.cxx:146
 AliMUONRawCluster.cxx:147
 AliMUONRawCluster.cxx:148
 AliMUONRawCluster.cxx:149
 AliMUONRawCluster.cxx:150
 AliMUONRawCluster.cxx:151
 AliMUONRawCluster.cxx:152
 AliMUONRawCluster.cxx:153
 AliMUONRawCluster.cxx:154
 AliMUONRawCluster.cxx:155
 AliMUONRawCluster.cxx:156
 AliMUONRawCluster.cxx:157
 AliMUONRawCluster.cxx:158
 AliMUONRawCluster.cxx:159
 AliMUONRawCluster.cxx:160
 AliMUONRawCluster.cxx:161
 AliMUONRawCluster.cxx:162
 AliMUONRawCluster.cxx:163
 AliMUONRawCluster.cxx:164
 AliMUONRawCluster.cxx:165
 AliMUONRawCluster.cxx:166
 AliMUONRawCluster.cxx:167
 AliMUONRawCluster.cxx:168
 AliMUONRawCluster.cxx:169
 AliMUONRawCluster.cxx:170
 AliMUONRawCluster.cxx:171
 AliMUONRawCluster.cxx:172
 AliMUONRawCluster.cxx:173
 AliMUONRawCluster.cxx:174
 AliMUONRawCluster.cxx:175
 AliMUONRawCluster.cxx:176
 AliMUONRawCluster.cxx:177
 AliMUONRawCluster.cxx:178
 AliMUONRawCluster.cxx:179
 AliMUONRawCluster.cxx:180
 AliMUONRawCluster.cxx:181
 AliMUONRawCluster.cxx:182
 AliMUONRawCluster.cxx:183
 AliMUONRawCluster.cxx:184
 AliMUONRawCluster.cxx:185
 AliMUONRawCluster.cxx:186
 AliMUONRawCluster.cxx:187
 AliMUONRawCluster.cxx:188
 AliMUONRawCluster.cxx:189
 AliMUONRawCluster.cxx:190
 AliMUONRawCluster.cxx:191
 AliMUONRawCluster.cxx:192
 AliMUONRawCluster.cxx:193
 AliMUONRawCluster.cxx:194
 AliMUONRawCluster.cxx:195
 AliMUONRawCluster.cxx:196
 AliMUONRawCluster.cxx:197
 AliMUONRawCluster.cxx:198
 AliMUONRawCluster.cxx:199
 AliMUONRawCluster.cxx:200
 AliMUONRawCluster.cxx:201
 AliMUONRawCluster.cxx:202
 AliMUONRawCluster.cxx:203
 AliMUONRawCluster.cxx:204
 AliMUONRawCluster.cxx:205
 AliMUONRawCluster.cxx:206
 AliMUONRawCluster.cxx:207
 AliMUONRawCluster.cxx:208
 AliMUONRawCluster.cxx:209
 AliMUONRawCluster.cxx:210
 AliMUONRawCluster.cxx:211
 AliMUONRawCluster.cxx:212
 AliMUONRawCluster.cxx:213
 AliMUONRawCluster.cxx:214
 AliMUONRawCluster.cxx:215
 AliMUONRawCluster.cxx:216
 AliMUONRawCluster.cxx:217
 AliMUONRawCluster.cxx:218
 AliMUONRawCluster.cxx:219
 AliMUONRawCluster.cxx:220
 AliMUONRawCluster.cxx:221
 AliMUONRawCluster.cxx:222
 AliMUONRawCluster.cxx:223
 AliMUONRawCluster.cxx:224
 AliMUONRawCluster.cxx:225
 AliMUONRawCluster.cxx:226
 AliMUONRawCluster.cxx:227
 AliMUONRawCluster.cxx:228
 AliMUONRawCluster.cxx:229
 AliMUONRawCluster.cxx:230
 AliMUONRawCluster.cxx:231
 AliMUONRawCluster.cxx:232
 AliMUONRawCluster.cxx:233
 AliMUONRawCluster.cxx:234
 AliMUONRawCluster.cxx:235
 AliMUONRawCluster.cxx:236
 AliMUONRawCluster.cxx:237
 AliMUONRawCluster.cxx:238
 AliMUONRawCluster.cxx:239
 AliMUONRawCluster.cxx:240
 AliMUONRawCluster.cxx:241
 AliMUONRawCluster.cxx:242
 AliMUONRawCluster.cxx:243
 AliMUONRawCluster.cxx:244
 AliMUONRawCluster.cxx:245
 AliMUONRawCluster.cxx:246
 AliMUONRawCluster.cxx:247
 AliMUONRawCluster.cxx:248
 AliMUONRawCluster.cxx:249
 AliMUONRawCluster.cxx:250
 AliMUONRawCluster.cxx:251
 AliMUONRawCluster.cxx:252
 AliMUONRawCluster.cxx:253
 AliMUONRawCluster.cxx:254
 AliMUONRawCluster.cxx:255
 AliMUONRawCluster.cxx:256
 AliMUONRawCluster.cxx:257
 AliMUONRawCluster.cxx:258
 AliMUONRawCluster.cxx:259
 AliMUONRawCluster.cxx:260
 AliMUONRawCluster.cxx:261
 AliMUONRawCluster.cxx:262
 AliMUONRawCluster.cxx:263
 AliMUONRawCluster.cxx:264
 AliMUONRawCluster.cxx:265
 AliMUONRawCluster.cxx:266
 AliMUONRawCluster.cxx:267
 AliMUONRawCluster.cxx:268
 AliMUONRawCluster.cxx:269
 AliMUONRawCluster.cxx:270
 AliMUONRawCluster.cxx:271
 AliMUONRawCluster.cxx:272
 AliMUONRawCluster.cxx:273
 AliMUONRawCluster.cxx:274
 AliMUONRawCluster.cxx:275
 AliMUONRawCluster.cxx:276
 AliMUONRawCluster.cxx:277
 AliMUONRawCluster.cxx:278
 AliMUONRawCluster.cxx:279
 AliMUONRawCluster.cxx:280
 AliMUONRawCluster.cxx:281
 AliMUONRawCluster.cxx:282
 AliMUONRawCluster.cxx:283
 AliMUONRawCluster.cxx:284
 AliMUONRawCluster.cxx:285
 AliMUONRawCluster.cxx:286
 AliMUONRawCluster.cxx:287
 AliMUONRawCluster.cxx:288
 AliMUONRawCluster.cxx:289
 AliMUONRawCluster.cxx:290
 AliMUONRawCluster.cxx:291
 AliMUONRawCluster.cxx:292
 AliMUONRawCluster.cxx:293
 AliMUONRawCluster.cxx:294
 AliMUONRawCluster.cxx:295
 AliMUONRawCluster.cxx:296
 AliMUONRawCluster.cxx:297
 AliMUONRawCluster.cxx:298
 AliMUONRawCluster.cxx:299
 AliMUONRawCluster.cxx:300
 AliMUONRawCluster.cxx:301
 AliMUONRawCluster.cxx:302
 AliMUONRawCluster.cxx:303
 AliMUONRawCluster.cxx:304
 AliMUONRawCluster.cxx:305
 AliMUONRawCluster.cxx:306
 AliMUONRawCluster.cxx:307
 AliMUONRawCluster.cxx:308
 AliMUONRawCluster.cxx:309
 AliMUONRawCluster.cxx:310
 AliMUONRawCluster.cxx:311
 AliMUONRawCluster.cxx:312
 AliMUONRawCluster.cxx:313
 AliMUONRawCluster.cxx:314
 AliMUONRawCluster.cxx:315
 AliMUONRawCluster.cxx:316
 AliMUONRawCluster.cxx:317
 AliMUONRawCluster.cxx:318
 AliMUONRawCluster.cxx:319
 AliMUONRawCluster.cxx:320
 AliMUONRawCluster.cxx:321
 AliMUONRawCluster.cxx:322
 AliMUONRawCluster.cxx:323
 AliMUONRawCluster.cxx:324
 AliMUONRawCluster.cxx:325
 AliMUONRawCluster.cxx:326
 AliMUONRawCluster.cxx:327
 AliMUONRawCluster.cxx:328
 AliMUONRawCluster.cxx:329
 AliMUONRawCluster.cxx:330
 AliMUONRawCluster.cxx:331
 AliMUONRawCluster.cxx:332
 AliMUONRawCluster.cxx:333
 AliMUONRawCluster.cxx:334
 AliMUONRawCluster.cxx:335
 AliMUONRawCluster.cxx:336
 AliMUONRawCluster.cxx:337
 AliMUONRawCluster.cxx:338
 AliMUONRawCluster.cxx:339
 AliMUONRawCluster.cxx:340
 AliMUONRawCluster.cxx:341
 AliMUONRawCluster.cxx:342
 AliMUONRawCluster.cxx:343
 AliMUONRawCluster.cxx:344
 AliMUONRawCluster.cxx:345
 AliMUONRawCluster.cxx:346
 AliMUONRawCluster.cxx:347
 AliMUONRawCluster.cxx:348
 AliMUONRawCluster.cxx:349
 AliMUONRawCluster.cxx:350
 AliMUONRawCluster.cxx:351
 AliMUONRawCluster.cxx:352
 AliMUONRawCluster.cxx:353
 AliMUONRawCluster.cxx:354
 AliMUONRawCluster.cxx:355
 AliMUONRawCluster.cxx:356
 AliMUONRawCluster.cxx:357
 AliMUONRawCluster.cxx:358
 AliMUONRawCluster.cxx:359
 AliMUONRawCluster.cxx:360
 AliMUONRawCluster.cxx:361
 AliMUONRawCluster.cxx:362
 AliMUONRawCluster.cxx:363
 AliMUONRawCluster.cxx:364
 AliMUONRawCluster.cxx:365
 AliMUONRawCluster.cxx:366
 AliMUONRawCluster.cxx:367
 AliMUONRawCluster.cxx:368
 AliMUONRawCluster.cxx:369
 AliMUONRawCluster.cxx:370
 AliMUONRawCluster.cxx:371
 AliMUONRawCluster.cxx:372
 AliMUONRawCluster.cxx:373
 AliMUONRawCluster.cxx:374
 AliMUONRawCluster.cxx:375
 AliMUONRawCluster.cxx:376
 AliMUONRawCluster.cxx:377
 AliMUONRawCluster.cxx:378
 AliMUONRawCluster.cxx:379
 AliMUONRawCluster.cxx:380
 AliMUONRawCluster.cxx:381
 AliMUONRawCluster.cxx:382
 AliMUONRawCluster.cxx:383
 AliMUONRawCluster.cxx:384
 AliMUONRawCluster.cxx:385
 AliMUONRawCluster.cxx:386
 AliMUONRawCluster.cxx:387
 AliMUONRawCluster.cxx:388
 AliMUONRawCluster.cxx:389
 AliMUONRawCluster.cxx:390
 AliMUONRawCluster.cxx:391
 AliMUONRawCluster.cxx:392
 AliMUONRawCluster.cxx:393
 AliMUONRawCluster.cxx:394
 AliMUONRawCluster.cxx:395
 AliMUONRawCluster.cxx:396
 AliMUONRawCluster.cxx:397
 AliMUONRawCluster.cxx:398
 AliMUONRawCluster.cxx:399
 AliMUONRawCluster.cxx:400
 AliMUONRawCluster.cxx:401
 AliMUONRawCluster.cxx:402
 AliMUONRawCluster.cxx:403
 AliMUONRawCluster.cxx:404
 AliMUONRawCluster.cxx:405
 AliMUONRawCluster.cxx:406
 AliMUONRawCluster.cxx:407
 AliMUONRawCluster.cxx:408
 AliMUONRawCluster.cxx:409
 AliMUONRawCluster.cxx:410
 AliMUONRawCluster.cxx:411
 AliMUONRawCluster.cxx:412
 AliMUONRawCluster.cxx:413
 AliMUONRawCluster.cxx:414
 AliMUONRawCluster.cxx:415
 AliMUONRawCluster.cxx:416
 AliMUONRawCluster.cxx:417
 AliMUONRawCluster.cxx:418
 AliMUONRawCluster.cxx:419
 AliMUONRawCluster.cxx:420
 AliMUONRawCluster.cxx:421
 AliMUONRawCluster.cxx:422
 AliMUONRawCluster.cxx:423
 AliMUONRawCluster.cxx:424
 AliMUONRawCluster.cxx:425
 AliMUONRawCluster.cxx:426
 AliMUONRawCluster.cxx:427
 AliMUONRawCluster.cxx:428
 AliMUONRawCluster.cxx:429
 AliMUONRawCluster.cxx:430
 AliMUONRawCluster.cxx:431
 AliMUONRawCluster.cxx:432
 AliMUONRawCluster.cxx:433
 AliMUONRawCluster.cxx:434
 AliMUONRawCluster.cxx:435
 AliMUONRawCluster.cxx:436
 AliMUONRawCluster.cxx:437
 AliMUONRawCluster.cxx:438
 AliMUONRawCluster.cxx:439
 AliMUONRawCluster.cxx:440
 AliMUONRawCluster.cxx:441
 AliMUONRawCluster.cxx:442
 AliMUONRawCluster.cxx:443
 AliMUONRawCluster.cxx:444
 AliMUONRawCluster.cxx:445
 AliMUONRawCluster.cxx:446
 AliMUONRawCluster.cxx:447
 AliMUONRawCluster.cxx:448
 AliMUONRawCluster.cxx:449
 AliMUONRawCluster.cxx:450
 AliMUONRawCluster.cxx:451
 AliMUONRawCluster.cxx:452
 AliMUONRawCluster.cxx:453
 AliMUONRawCluster.cxx:454
 AliMUONRawCluster.cxx:455
 AliMUONRawCluster.cxx:456
 AliMUONRawCluster.cxx:457
 AliMUONRawCluster.cxx:458
 AliMUONRawCluster.cxx:459
 AliMUONRawCluster.cxx:460
 AliMUONRawCluster.cxx:461
 AliMUONRawCluster.cxx:462
 AliMUONRawCluster.cxx:463
 AliMUONRawCluster.cxx:464
 AliMUONRawCluster.cxx:465
 AliMUONRawCluster.cxx:466
 AliMUONRawCluster.cxx:467
 AliMUONRawCluster.cxx:468
 AliMUONRawCluster.cxx:469
 AliMUONRawCluster.cxx:470
 AliMUONRawCluster.cxx:471
 AliMUONRawCluster.cxx:472
 AliMUONRawCluster.cxx:473
 AliMUONRawCluster.cxx:474
 AliMUONRawCluster.cxx:475
 AliMUONRawCluster.cxx:476
 AliMUONRawCluster.cxx:477
 AliMUONRawCluster.cxx:478