#include "AliITSUClusterPix.h"
#include "AliITSUGeomTGeo.h"
#include "AliLog.h"
#include <TGeoMatrix.h>
#include <TString.h>
#include <cstdlib>
using namespace TMath;
ClassImp(AliITSUClusterPix)
AliITSUGeomTGeo* AliITSUClusterPix::fgGeom = 0;
UInt_t AliITSUClusterPix::fgMode = 0;
AliITSUClusterPix::AliITSUClusterPix()
: fCharge(0)
, fRecoInfo(0)
, fNxNzN(0)
#ifdef _ClusterTopology_
,fPatternNRows(0)
,fPatternNCols(0)
,fPatternMinRow(0)
,fPatternMinCol(0)
#endif
{
#ifdef _ClusterTopology_
memset(fPattern,0,kMaxPatternBytes*sizeof(UChar_t));
#endif
}
AliITSUClusterPix::~AliITSUClusterPix()
{
}
AliITSUClusterPix::AliITSUClusterPix(const AliITSUClusterPix& cluster)
:AliCluster(cluster)
,fCharge(cluster.fCharge)
,fRecoInfo(cluster.fRecoInfo)
,fNxNzN(cluster.fNxNzN)
#ifdef _ClusterTopology_
,fPatternNRows(cluster.fPatternNRows)
,fPatternNCols(cluster.fPatternNCols)
,fPatternMinRow(cluster.fPatternMinRow)
,fPatternMinCol(cluster.fPatternMinCol)
#endif
{
#ifdef _ClusterTopology_
memcpy(fPattern,cluster.fPattern,kMaxPatternBytes*sizeof(UChar_t));
#endif
}
AliITSUClusterPix& AliITSUClusterPix::operator=(const AliITSUClusterPix& cluster)
{
if(&cluster == this) return *this;
fNxNzN = cluster.fNxNzN;
fCharge = cluster.fCharge;
fRecoInfo = cluster.fRecoInfo;
#ifdef _ClusterTopology_
memcpy(fPattern,cluster.fPattern,kMaxPatternBytes*sizeof(UChar_t));
fPatternNRows = cluster.fPatternNRows;
fPatternNCols = cluster.fPatternNCols;
fPatternMinRow = cluster.fPatternMinRow;
fPatternMinCol = cluster.fPatternMinCol;
#endif
TObject::operator=(cluster);
AliCluster::operator=(cluster);
return *this;
}
const TGeoHMatrix* AliITSUClusterPix::GetTracking2LocalMatrix() const
{
return (TGeoHMatrix*)fgGeom->GetMatrixT2L(GetVolumeId());
}
TGeoHMatrix* AliITSUClusterPix::GetMatrix(Bool_t ) const
{
return (TGeoHMatrix*)fgGeom->GetMatrixSens(GetVolumeId());
}
void AliITSUClusterPix::Print(Option_t* option) const
{
TString str = option;
str.ToLower();
printf("Cl.in mod %5d, nx:%3d nz:%3d n:%d |Err^2:%.3e %.3e %+.3e |",GetVolumeId(),GetNx(),GetNz(),
GetNPix(),GetSigmaY2(),GetSigmaZ2(),GetSigmaYZ());
printf("XYZ: (%+.4e %+.4e %+.4e ",GetX(),GetY(),GetZ());
if (IsFrameLoc()) printf("LOC)");
else if (IsFrameGlo()) printf("GLO)");
else if (IsFrameTrk()) printf("TRK)");
if (str.Contains("glo") && !IsFrameGlo() && fgGeom) {
Float_t g[3];
GetGlobalXYZ(g);
printf(" (%+.4e %+.4e %+.4e GLO)",g[0],g[1],g[2]);
}
printf(" MClb:");
for (int i=0;i<3;i++) printf(" %5d",GetLabel(i));
if (TestBit(kSplit)) printf(" Spl");
printf("\n");
#ifdef _ClusterTopology_
if (str.Contains("p")) {
int nr = GetPatternRowSpan();
int nc = GetPatternColSpan();
printf("Pattern: %d rows from %d",nr,fPatternMinRow);
if (IsPatternRowsTruncated()) printf("(truncated)");
printf(", %d columns from %d",nc,fPatternMinCol);
if (IsPatternColsTruncated()) printf("(truncated)");
printf("\n");
for (int ir=0;ir<nr;ir++) {
for (int ic=0;ic<nc;ic++) printf("%c",TestPixel(ir,ic) ? '+':'-');
printf("\n");
}
}
#endif
}
#ifdef _ClusterTopology_
void AliITSUClusterPix::ResetPattern()
{
memset(fPattern,0,kMaxPatternBytes*sizeof(UChar_t));
}
Bool_t AliITSUClusterPix::TestPixel(UShort_t row,UShort_t col) const
{
int nbits = row*GetPatternColSpan()+col;
if (nbits>=kMaxPatternBits) return kFALSE;
int bytn = nbits>>3;
int bitn = nbits%8;
return (fPattern[bytn]&(0x1<<bitn))!=0;
}
void AliITSUClusterPix::SetPixel(UShort_t row,UShort_t col, Bool_t fired)
{
int nbits = row*GetPatternColSpan()+col;
if (nbits>=kMaxPatternBits) return;
int bytn = nbits>>3;
int bitn = nbits%8;
if (nbits>=kMaxPatternBits) exit(1);
if (fired) fPattern[bytn] |= (0x1<<bitn);
else fPattern[bytn] &= (0xff ^ (0x1<<bitn));
}
void AliITSUClusterPix::SetPatternRowSpan(UShort_t nr, Bool_t truncated)
{
fPatternNRows = kSpanMask&nr;
if (truncated) fPatternNRows |= kTruncateMask;
}
void AliITSUClusterPix::SetPatternColSpan(UShort_t nc, Bool_t truncated)
{
fPatternNCols = kSpanMask&nc;
if (truncated) fPatternNCols |= kTruncateMask;
}
#endif
Bool_t AliITSUClusterPix::GetGlobalXYZ(Float_t xyz[3]) const
{
if (IsFrameGlo()) {
xyz[0] = GetX();
xyz[1] = GetY();
xyz[2] = GetZ();
return kTRUE;
}
Double_t lxyz[3] = {0, 0, 0};
if (IsFrameTrk()) {
const TGeoHMatrix *mt = GetTracking2LocalMatrix();
if (!mt) return kFALSE;
Double_t txyz[3] = {GetX(), GetY(), GetZ()};
mt->LocalToMaster(txyz,lxyz);
}
else {
lxyz[0] = GetX(); lxyz[1] = GetY(); lxyz[2] = GetZ();
}
TGeoHMatrix *ml = GetMatrix();
if (!ml) return kFALSE;
Double_t gxyz[3] = {0, 0, 0};
ml->LocalToMaster(lxyz,gxyz);
xyz[0] = gxyz[0]; xyz[1] = gxyz[1]; xyz[2] = gxyz[2];
return kTRUE;
}
Bool_t AliITSUClusterPix::GetGlobalXYZ(Double_t xyz[3]) const
{
if (IsFrameGlo()) {
xyz[0] = GetX();
xyz[1] = GetY();
xyz[2] = GetZ();
return kTRUE;
}
Double_t lxyz[3] = {0, 0, 0};
if (IsFrameTrk()) {
const TGeoHMatrix *mt = GetTracking2LocalMatrix();
if (!mt) return kFALSE;
Double_t txyz[3] = {GetX(), GetY(), GetZ()};
mt->LocalToMaster(txyz,lxyz);
}
else {
lxyz[0] = GetX(); lxyz[1] = GetY(); lxyz[2] = GetZ();
}
TGeoHMatrix *ml = GetMatrix();
if (!ml) return kFALSE;
ml->LocalToMaster(lxyz,xyz);
return kTRUE;
}
Bool_t AliITSUClusterPix::GetGlobalCov(Float_t cov[6]) const
{
return AliCluster::GetGlobalCov(cov);
}
Bool_t AliITSUClusterPix::GetXRefPlane(Float_t &xref) const
{
return AliCluster::GetXRefPlane(xref);
}
void AliITSUClusterPix::GoToFrameGlo()
{
if (IsFrameGlo()) return;
double loc[3],glo[3];
if (IsFrameTrk()) {
double curr[3]={GetX(),GetY(),GetZ()};
GetTracking2LocalMatrix()->LocalToMaster(curr,loc);
ResetBit(kFrameTrk);
}
else {
loc[0] = GetX(); loc[1] = GetY(); loc[2] = GetZ();
ResetBit(kFrameLoc);
}
GetMatrix()->LocalToMaster(loc,glo);
SetX(glo[0]);
SetY(glo[1]);
SetZ(glo[2]);
SetBit(kFrameGlo);
}
void AliITSUClusterPix::GoToFrameLoc()
{
if (IsFrameLoc()) return;
double loc[3],glo[3];
if (IsFrameTrk()) {
double curr[3]={GetX(),GetY(),GetZ()};
GetTracking2LocalMatrix()->LocalToMaster(curr,loc);
ResetBit(kFrameTrk);
}
else {
glo[0] = GetX(); glo[1] = GetY(); glo[2] = GetZ();
GetMatrix()->MasterToLocal(glo,loc);
ResetBit(kFrameLoc);
}
SetBit(kFrameLoc);
SetX(loc[0]);
SetY(loc[1]);
SetZ(loc[2]);
}
void AliITSUClusterPix::GetLocalXYZ(Float_t xyz[3]) const
{
if (IsFrameLoc()) {
xyz[0] = GetX(); xyz[1] = 0; xyz[2] = GetZ();
return;
}
double loc[3],glo[3];
if (IsFrameTrk()) {
double curr[3]={GetX(),GetY(),GetZ()};
GetTracking2LocalMatrix()->LocalToMaster(curr,loc);
}
else {
glo[0] = GetX(); glo[1] = GetY(); glo[2] = GetZ();
GetMatrix()->MasterToLocal(glo,loc);
}
for (int i=3;i--;) xyz[i] = loc[i];
}
void AliITSUClusterPix::GoToFrameTrk()
{
if (IsFrameTrk()) return;
double loc[3],trk[3];
if (IsFrameGlo()) {
double glo[3]={GetX(),GetY(),GetZ()};
GetMatrix()->MasterToLocal(glo,loc);
ResetBit(kFrameGlo);
}
else {
loc[0] = GetX(); loc[1] = GetY(); loc[2] = GetZ();
ResetBit(kFrameLoc);
}
GetTracking2LocalMatrix()->MasterToLocal(loc,trk);
SetBit(kFrameTrk);
SetX(trk[0]);
SetY(trk[1]);
SetZ(trk[2]);
}
void AliITSUClusterPix::GetTrackingXYZ(Float_t xyz[3]) const
{
if (IsFrameTrk()) {
xyz[0] = GetX(); xyz[1] = GetY(); xyz[2] = GetZ();
return;
}
double loc[3],trk[3];
if (IsFrameGlo()) {
double glo[3]={GetX(),GetY(),GetZ()};
GetMatrix()->MasterToLocal(glo,loc);
}
else {
loc[0] = GetX(); loc[1] = GetY(); loc[2] = GetZ();
}
GetTracking2LocalMatrix()->MasterToLocal(loc,trk);
for (int i=3;i--;) xyz[i] = trk[i];
}
Int_t AliITSUClusterPix::Compare(const TObject* obj) const
{
const AliITSUClusterPix* px = (const AliITSUClusterPix*)obj;
float xyz[3],xyz1[3];
if (fgMode & kSortIdLocXZ) {
if (GetVolumeId()==px->GetVolumeId()) {
GetLocalXYZ(xyz);
px->GetLocalXYZ(xyz1);
if (xyz[0]<xyz1[0]) return -1;
if (xyz[0]>xyz1[0]) return 1;
if (xyz[2]<xyz1[2]) return -1;
if (xyz[2]>xyz1[2]) return 1;
return 0;
}
return int(GetVolumeId())-int(px->GetVolumeId());
}
if (fgMode & kSortIdTrkYZ) {
if (GetVolumeId()==px->GetVolumeId()) {
GetTrackingXYZ(xyz);
px->GetTrackingXYZ(xyz1);
if (xyz[1]<xyz1[1]) return -1;
if (xyz[1]>xyz1[1]) return 1;
if (xyz[2]<xyz1[2]) return -1;
if (xyz[2]>xyz1[2]) return 1;
return 0;
}
return int(GetVolumeId())-int(px->GetVolumeId());
}
AliFatal(Form("Unknown modr for sorting: %d",fgMode));
return 0;
}
Bool_t AliITSUClusterPix::IsEqual(const TObject* obj) const
{
const AliITSUClusterPix* px = (const AliITSUClusterPix*)obj;
const Float_t kTol = 1e-5;
float xyz[3],xyz1[3];
if (fgMode & kSortIdLocXZ) {
if (GetVolumeId()!=px->GetVolumeId()) return kFALSE;
GetLocalXYZ(xyz);
px->GetLocalXYZ(xyz1);
return (Abs(xyz[0]-xyz1[0])<kTol && Abs(xyz[2]-xyz1[2])<kTol) ? kTRUE : kFALSE;
}
if (fgMode & kSortIdTrkYZ) {
if (GetVolumeId()!=px->GetVolumeId()) return kFALSE;
GetTrackingXYZ(xyz);
px->GetTrackingXYZ(xyz1);
return (Abs(xyz[1]-xyz1[1])<kTol && Abs(xyz[2]-xyz1[2])<kTol) ? kTRUE : kFALSE;
}
AliFatal(Form("Unknown modr for sorting: %d",fgMode));
return kFALSE;
}
Bool_t AliITSUClusterPix::HasCommonTrack(const AliCluster* cl) const
{
int lbi,lbj;
for (int i=0;i<3;i++) {
if ((lbi=GetLabel(i))<0) break;
for (int j=0;j<3;j++) {
if ((lbj=cl->GetLabel(j))<0) break;
if (lbi==lbj) return kTRUE;
}
}
return kFALSE;
}
AliITSUClusterPix.cxx:100 AliITSUClusterPix.cxx:101 AliITSUClusterPix.cxx:102 AliITSUClusterPix.cxx:103 AliITSUClusterPix.cxx:104 AliITSUClusterPix.cxx:105 AliITSUClusterPix.cxx:106 AliITSUClusterPix.cxx:107 AliITSUClusterPix.cxx:108 AliITSUClusterPix.cxx:109 AliITSUClusterPix.cxx:110 AliITSUClusterPix.cxx:111 AliITSUClusterPix.cxx:112 AliITSUClusterPix.cxx:113 AliITSUClusterPix.cxx:114 AliITSUClusterPix.cxx:115 AliITSUClusterPix.cxx:116 AliITSUClusterPix.cxx:117 AliITSUClusterPix.cxx:118 AliITSUClusterPix.cxx:119 AliITSUClusterPix.cxx:120 AliITSUClusterPix.cxx:121 AliITSUClusterPix.cxx:122 AliITSUClusterPix.cxx:123 AliITSUClusterPix.cxx:124 AliITSUClusterPix.cxx:125 AliITSUClusterPix.cxx:126 AliITSUClusterPix.cxx:127 AliITSUClusterPix.cxx:128 AliITSUClusterPix.cxx:129 AliITSUClusterPix.cxx:130 AliITSUClusterPix.cxx:131 AliITSUClusterPix.cxx:132 AliITSUClusterPix.cxx:133 AliITSUClusterPix.cxx:134 AliITSUClusterPix.cxx:135 AliITSUClusterPix.cxx:136 AliITSUClusterPix.cxx:137 AliITSUClusterPix.cxx:138 AliITSUClusterPix.cxx:139 AliITSUClusterPix.cxx:140 AliITSUClusterPix.cxx:141 AliITSUClusterPix.cxx:142 AliITSUClusterPix.cxx:143 AliITSUClusterPix.cxx:144 AliITSUClusterPix.cxx:145 AliITSUClusterPix.cxx:146 AliITSUClusterPix.cxx:147 AliITSUClusterPix.cxx:148 AliITSUClusterPix.cxx:149 AliITSUClusterPix.cxx:150 AliITSUClusterPix.cxx:151 AliITSUClusterPix.cxx:152 AliITSUClusterPix.cxx:153 AliITSUClusterPix.cxx:154 AliITSUClusterPix.cxx:155 AliITSUClusterPix.cxx:156 AliITSUClusterPix.cxx:157 AliITSUClusterPix.cxx:158 AliITSUClusterPix.cxx:159 AliITSUClusterPix.cxx:160 AliITSUClusterPix.cxx:161 AliITSUClusterPix.cxx:162 AliITSUClusterPix.cxx:163 AliITSUClusterPix.cxx:164 AliITSUClusterPix.cxx:165 AliITSUClusterPix.cxx:166 AliITSUClusterPix.cxx:167 AliITSUClusterPix.cxx:168 AliITSUClusterPix.cxx:169 AliITSUClusterPix.cxx:170 AliITSUClusterPix.cxx:171 AliITSUClusterPix.cxx:172 AliITSUClusterPix.cxx:173 AliITSUClusterPix.cxx:174 AliITSUClusterPix.cxx:175 AliITSUClusterPix.cxx:176 AliITSUClusterPix.cxx:177 AliITSUClusterPix.cxx:178 AliITSUClusterPix.cxx:179 AliITSUClusterPix.cxx:180 AliITSUClusterPix.cxx:181 AliITSUClusterPix.cxx:182 AliITSUClusterPix.cxx:183 AliITSUClusterPix.cxx:184 AliITSUClusterPix.cxx:185 AliITSUClusterPix.cxx:186 AliITSUClusterPix.cxx:187 AliITSUClusterPix.cxx:188 AliITSUClusterPix.cxx:189 AliITSUClusterPix.cxx:190 AliITSUClusterPix.cxx:191 AliITSUClusterPix.cxx:192 AliITSUClusterPix.cxx:193 AliITSUClusterPix.cxx:194 AliITSUClusterPix.cxx:195 AliITSUClusterPix.cxx:196 AliITSUClusterPix.cxx:197 AliITSUClusterPix.cxx:198 AliITSUClusterPix.cxx:199 AliITSUClusterPix.cxx:200 AliITSUClusterPix.cxx:201 AliITSUClusterPix.cxx:202 AliITSUClusterPix.cxx:203 AliITSUClusterPix.cxx:204 AliITSUClusterPix.cxx:205 AliITSUClusterPix.cxx:206 AliITSUClusterPix.cxx:207 AliITSUClusterPix.cxx:208 AliITSUClusterPix.cxx:209 AliITSUClusterPix.cxx:210 AliITSUClusterPix.cxx:211 AliITSUClusterPix.cxx:212 AliITSUClusterPix.cxx:213 AliITSUClusterPix.cxx:214 AliITSUClusterPix.cxx:215 AliITSUClusterPix.cxx:216 AliITSUClusterPix.cxx:217 AliITSUClusterPix.cxx:218 AliITSUClusterPix.cxx:219 AliITSUClusterPix.cxx:220 AliITSUClusterPix.cxx:221 AliITSUClusterPix.cxx:222 AliITSUClusterPix.cxx:223 AliITSUClusterPix.cxx:224 AliITSUClusterPix.cxx:225 AliITSUClusterPix.cxx:226 AliITSUClusterPix.cxx:227 AliITSUClusterPix.cxx:228 AliITSUClusterPix.cxx:229 AliITSUClusterPix.cxx:230 AliITSUClusterPix.cxx:231 AliITSUClusterPix.cxx:232 AliITSUClusterPix.cxx:233 AliITSUClusterPix.cxx:234 AliITSUClusterPix.cxx:235 AliITSUClusterPix.cxx:236 AliITSUClusterPix.cxx:237 AliITSUClusterPix.cxx:238 AliITSUClusterPix.cxx:239 AliITSUClusterPix.cxx:240 AliITSUClusterPix.cxx:241 AliITSUClusterPix.cxx:242 AliITSUClusterPix.cxx:243 AliITSUClusterPix.cxx:244 AliITSUClusterPix.cxx:245 AliITSUClusterPix.cxx:246 AliITSUClusterPix.cxx:247 AliITSUClusterPix.cxx:248 AliITSUClusterPix.cxx:249 AliITSUClusterPix.cxx:250 AliITSUClusterPix.cxx:251 AliITSUClusterPix.cxx:252 AliITSUClusterPix.cxx:253 AliITSUClusterPix.cxx:254 AliITSUClusterPix.cxx:255 AliITSUClusterPix.cxx:256 AliITSUClusterPix.cxx:257 AliITSUClusterPix.cxx:258 AliITSUClusterPix.cxx:259 AliITSUClusterPix.cxx:260 AliITSUClusterPix.cxx:261 AliITSUClusterPix.cxx:262 AliITSUClusterPix.cxx:263 AliITSUClusterPix.cxx:264 AliITSUClusterPix.cxx:265 AliITSUClusterPix.cxx:266 AliITSUClusterPix.cxx:267 AliITSUClusterPix.cxx:268 AliITSUClusterPix.cxx:269 AliITSUClusterPix.cxx:270 AliITSUClusterPix.cxx:271 AliITSUClusterPix.cxx:272 AliITSUClusterPix.cxx:273 AliITSUClusterPix.cxx:274 AliITSUClusterPix.cxx:275 AliITSUClusterPix.cxx:276 AliITSUClusterPix.cxx:277 AliITSUClusterPix.cxx:278 AliITSUClusterPix.cxx:279 AliITSUClusterPix.cxx:280 AliITSUClusterPix.cxx:281 AliITSUClusterPix.cxx:282 AliITSUClusterPix.cxx:283 AliITSUClusterPix.cxx:284 AliITSUClusterPix.cxx:285 AliITSUClusterPix.cxx:286 AliITSUClusterPix.cxx:287 AliITSUClusterPix.cxx:288 AliITSUClusterPix.cxx:289 AliITSUClusterPix.cxx:290 AliITSUClusterPix.cxx:291 AliITSUClusterPix.cxx:292 AliITSUClusterPix.cxx:293 AliITSUClusterPix.cxx:294 AliITSUClusterPix.cxx:295 AliITSUClusterPix.cxx:296 AliITSUClusterPix.cxx:297 AliITSUClusterPix.cxx:298 AliITSUClusterPix.cxx:299 AliITSUClusterPix.cxx:300 AliITSUClusterPix.cxx:301 AliITSUClusterPix.cxx:302 AliITSUClusterPix.cxx:303 AliITSUClusterPix.cxx:304 AliITSUClusterPix.cxx:305 AliITSUClusterPix.cxx:306 AliITSUClusterPix.cxx:307 AliITSUClusterPix.cxx:308 AliITSUClusterPix.cxx:309 AliITSUClusterPix.cxx:310 AliITSUClusterPix.cxx:311 AliITSUClusterPix.cxx:312 AliITSUClusterPix.cxx:313 AliITSUClusterPix.cxx:314 AliITSUClusterPix.cxx:315 AliITSUClusterPix.cxx:316 AliITSUClusterPix.cxx:317 AliITSUClusterPix.cxx:318 AliITSUClusterPix.cxx:319 AliITSUClusterPix.cxx:320 AliITSUClusterPix.cxx:321 AliITSUClusterPix.cxx:322 AliITSUClusterPix.cxx:323 AliITSUClusterPix.cxx:324 AliITSUClusterPix.cxx:325 AliITSUClusterPix.cxx:326 AliITSUClusterPix.cxx:327 AliITSUClusterPix.cxx:328 AliITSUClusterPix.cxx:329 AliITSUClusterPix.cxx:330 AliITSUClusterPix.cxx:331 AliITSUClusterPix.cxx:332 AliITSUClusterPix.cxx:333 AliITSUClusterPix.cxx:334 AliITSUClusterPix.cxx:335 AliITSUClusterPix.cxx:336 AliITSUClusterPix.cxx:337 AliITSUClusterPix.cxx:338 AliITSUClusterPix.cxx:339 AliITSUClusterPix.cxx:340 AliITSUClusterPix.cxx:341 AliITSUClusterPix.cxx:342 AliITSUClusterPix.cxx:343 AliITSUClusterPix.cxx:344 AliITSUClusterPix.cxx:345 AliITSUClusterPix.cxx:346 AliITSUClusterPix.cxx:347 AliITSUClusterPix.cxx:348 AliITSUClusterPix.cxx:349 AliITSUClusterPix.cxx:350 AliITSUClusterPix.cxx:351 AliITSUClusterPix.cxx:352 AliITSUClusterPix.cxx:353 AliITSUClusterPix.cxx:354 AliITSUClusterPix.cxx:355 AliITSUClusterPix.cxx:356 AliITSUClusterPix.cxx:357 AliITSUClusterPix.cxx:358 AliITSUClusterPix.cxx:359 AliITSUClusterPix.cxx:360 AliITSUClusterPix.cxx:361 AliITSUClusterPix.cxx:362 AliITSUClusterPix.cxx:363 AliITSUClusterPix.cxx:364 AliITSUClusterPix.cxx:365 AliITSUClusterPix.cxx:366 AliITSUClusterPix.cxx:367 AliITSUClusterPix.cxx:368 AliITSUClusterPix.cxx:369 AliITSUClusterPix.cxx:370 AliITSUClusterPix.cxx:371 AliITSUClusterPix.cxx:372 AliITSUClusterPix.cxx:373 AliITSUClusterPix.cxx:374 AliITSUClusterPix.cxx:375 AliITSUClusterPix.cxx:376 AliITSUClusterPix.cxx:377 AliITSUClusterPix.cxx:378 AliITSUClusterPix.cxx:379 AliITSUClusterPix.cxx:380 AliITSUClusterPix.cxx:381 AliITSUClusterPix.cxx:382 AliITSUClusterPix.cxx:383 AliITSUClusterPix.cxx:384 AliITSUClusterPix.cxx:385 AliITSUClusterPix.cxx:386 AliITSUClusterPix.cxx:387 AliITSUClusterPix.cxx:388 AliITSUClusterPix.cxx:389 AliITSUClusterPix.cxx:390 AliITSUClusterPix.cxx:391 AliITSUClusterPix.cxx:392 AliITSUClusterPix.cxx:393 AliITSUClusterPix.cxx:394 AliITSUClusterPix.cxx:395 AliITSUClusterPix.cxx:396 AliITSUClusterPix.cxx:397 AliITSUClusterPix.cxx:398 AliITSUClusterPix.cxx:399 AliITSUClusterPix.cxx:400 AliITSUClusterPix.cxx:401 AliITSUClusterPix.cxx:402 AliITSUClusterPix.cxx:403 AliITSUClusterPix.cxx:404 AliITSUClusterPix.cxx:405 AliITSUClusterPix.cxx:406 AliITSUClusterPix.cxx:407 AliITSUClusterPix.cxx:408 AliITSUClusterPix.cxx:409 AliITSUClusterPix.cxx:410 AliITSUClusterPix.cxx:411 AliITSUClusterPix.cxx:412 AliITSUClusterPix.cxx:413 AliITSUClusterPix.cxx:414 AliITSUClusterPix.cxx:415 AliITSUClusterPix.cxx:416 AliITSUClusterPix.cxx:417 AliITSUClusterPix.cxx:418 AliITSUClusterPix.cxx:419 AliITSUClusterPix.cxx:420 AliITSUClusterPix.cxx:421 AliITSUClusterPix.cxx:422 AliITSUClusterPix.cxx:423 AliITSUClusterPix.cxx:424 AliITSUClusterPix.cxx:425 AliITSUClusterPix.cxx:426 AliITSUClusterPix.cxx:427 AliITSUClusterPix.cxx:428 AliITSUClusterPix.cxx:429 AliITSUClusterPix.cxx:430 AliITSUClusterPix.cxx:431 AliITSUClusterPix.cxx:432 AliITSUClusterPix.cxx:433 AliITSUClusterPix.cxx:434 AliITSUClusterPix.cxx:435 AliITSUClusterPix.cxx:436 AliITSUClusterPix.cxx:437 AliITSUClusterPix.cxx:438 AliITSUClusterPix.cxx:439 AliITSUClusterPix.cxx:440 AliITSUClusterPix.cxx:441 AliITSUClusterPix.cxx:442 AliITSUClusterPix.cxx:443 AliITSUClusterPix.cxx:444 AliITSUClusterPix.cxx:445 AliITSUClusterPix.cxx:446 AliITSUClusterPix.cxx:447 AliITSUClusterPix.cxx:448 AliITSUClusterPix.cxx:449 AliITSUClusterPix.cxx:450 AliITSUClusterPix.cxx:451 AliITSUClusterPix.cxx:452 AliITSUClusterPix.cxx:453 AliITSUClusterPix.cxx:454 AliITSUClusterPix.cxx:455 AliITSUClusterPix.cxx:456 AliITSUClusterPix.cxx:457