fNDigits(0)\r
{\r
//See header file for documentation\r
- fEmcClusteringThreshold = 0.2;\r
- fEmcMinEnergyThreshold = 0.03;\r
+ //fEmcClusteringThreshold = 0.2;\r
+ //fEmcMinEnergyThreshold = 0.03;\r
+\r
+ fEmcClusteringThreshold = 0.1;\r
+ fEmcMinEnergyThreshold = 0.01;\r
fEmcTimeGate = 1.e-6 ;\r
\r
fMaxDigitIndexDiff = 2*fCaloConstants->GetNZROWSMOD();\r
fRecPointArray = new AliHLTCaloRecPointDataStruct*[fArraySize];\r
\r
fAvailableSize = sizeof(AliHLTCaloRecPointDataStruct) * 20;\r
- fRecPointDataPtr = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(new UChar_t[fAvailableSize]);\r
- fFirstRecPointPtr = fRecPointDataPtr; \r
- printf("Start of rec point data: %x, end of rec point data: %x\n", fRecPointDataPtr, reinterpret_cast<UChar_t*>(fRecPointDataPtr) + fAvailableSize);\r
+ fFirstRecPointPtr = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(new UChar_t[fAvailableSize]);\r
+ fRecPointDataPtr = fFirstRecPointPtr; \r
\r
}//end\r
\r
fUsedSize = 0;\r
fNDigits = nDigits;\r
fRecPointDataPtr = fFirstRecPointPtr;\r
+\r
//Clusterization starts\r
for(Int_t i = 0; i < nDigits; i++)\r
{ \r
fDigitsInCluster = 0;\r
- // printf("ENERGY: %f\n", fDigitsPointerArray[i]->fEnergy);\r
+\r
if(fDigitsPointerArray[i]->fEnergy < fEmcClusteringThreshold)\r
{\r
continue;\r
}\r
CheckArray();\r
CheckBuffer();\r
- // printf("cluster candidate!\n");\r
+\r
// First digit is placed at the fDigits member variable in the recpoint\r
fDigitIndexPtr = &(fRecPointDataPtr->fDigits);\r
-\r
+ //fUsedSize += sizeof(AliHLTCaloRecPointDataStruct);\r
+ \r
fRecPointDataPtr->fAmp = 0;\r
fRecPointDataPtr->fModule = fDigitsPointerArray[i]->fModule;\r
\r
// Assigning the digit to this rec point\r
fRecPointDataPtr->fDigits = i;\r
- printf("Clusterizier: adding digit: index pointer: %x, index: %d\n", fDigitIndexPtr, *fDigitIndexPtr);\r
fUsedSize += sizeof(AliHLTCaloRecPointDataStruct);\r
\r
// Incrementing the pointer to be ready for new entry\r
//fUsedSize += sizeof(AliHLTCaloRecPointDataStruct) + (fDigitsInCluster-1)*sizeof(AliHLTCaloDigitDataStruct); \r
\r
fRecPointDataPtr->fMultiplicity = fDigitsInCluster; \r
- printf("Rec point energy: %f\n", fRecPointDataPtr->fAmp);\r
- printf("Multiplicity: %d\n", fDigitsInCluster);\r
fRecPointArray[fNRecPoints] = fRecPointDataPtr; \r
\r
fRecPointDataPtr = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(fDigitIndexPtr);\r
+\r
+ fNRecPoints++;\r
\r
}//end of clusterization\r
- fNRecPoints = nRecPoints;\r
- return nRecPoints;\r
+\r
+ return nRecPoints;\r
}\r
\r
Int_t\r
// fUsedSize = 0;\r
// } \r
CheckBuffer();\r
+ \r
// Assigning index to digit\r
- printf("Digit index pointer: %x\n", fDigitIndexPtr);\r
*fDigitIndexPtr = j;\r
fUsedSize += sizeof(Int_t);\r
\r
- printf("Clusterizier: adding digit: index pointer: %x, index: %d\n", fDigitIndexPtr, *fDigitIndexPtr); \r
// Incrementing digit pointer to be ready for new entry\r
fDigitIndexPtr++;\r
-\r
- recPoint->fAmp += fDigitsPointerArray[j]->fEnergy;\r
+ \r
+ fRecPointDataPtr->fAmp += fDigitsPointerArray[j]->fEnergy;\r
fDigitsPointerArray[j]->fEnergy = 0; \r
fDigitsInCluster++;\r
ScanForNeighbourDigits(j, recPoint);\r
\r
Int_t AliHLTCaloClusterizer::CheckArray()\r
{\r
- printf("CheckArray: fArraySize: %d, fNRecPoints: %d\n", fArraySize, fNRecPoints);\r
if(fArraySize == fNRecPoints)\r
{\r
- printf("Expanding array...");\r
fArraySize *= 2;\r
AliHLTCaloRecPointDataStruct **tmp = new AliHLTCaloRecPointDataStruct*[fArraySize];\r
memcpy(tmp, fRecPointArray, fArraySize/2 * sizeof(AliHLTCaloRecPointDataStruct*));\r
- delete fRecPointArray;\r
+ delete [] fRecPointArray;\r
fRecPointArray = tmp;\r
+ //fRecPointArray[fNRecPoints-1] = fRecPointDataPtr;\r
+ //Int_t recPointOffset = reinterpret_cast<UChar_t*>(fRecPointDataPtr) - reinterpret_cast<UChar_t*>(fFirstRecPointPtr);\r
+ //fRecPointDataPtr = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(reinterpret_cast<UChar_t*>(tmp) + recPointOffset);\r
+ \r
}\r
return 0;\r
}\r
Int_t AliHLTCaloClusterizer::CheckBuffer()\r
{\r
// See header file for class documentation \r
- printf("CheckBuffer: Used size %d, fAvailableSize: %d\n", fUsedSize, fAvailableSize);\r
- if((fAvailableSize - fUsedSize) < sizeof(AliHLTCaloRecPointDataStruct) )\r
+ if((fAvailableSize - fUsedSize) < (Int_t)sizeof(AliHLTCaloRecPointDataStruct))\r
{\r
- printf("Expanding buffer...\n");\r
Int_t recPointOffset = reinterpret_cast<UChar_t*>(fRecPointDataPtr) - reinterpret_cast<UChar_t*>(fFirstRecPointPtr);\r
+ Int_t digitIndexOffset = reinterpret_cast<UChar_t*>(fDigitIndexPtr) - reinterpret_cast<UChar_t*>(fRecPointDataPtr);\r
+ UChar_t *tmp = new UChar_t[fAvailableSize*2];\r
+\r
+ memcpy(tmp, fFirstRecPointPtr, fUsedSize);\r
fAvailableSize *= 2;\r
- UChar_t *tmp = new UChar_t[fAvailableSize];\r
- memcpy(tmp, fRecPointDataPtr, fAvailableSize/2);\r
for(Int_t n = 0; n < fNRecPoints; n++)\r
{\r
fRecPointArray[n] = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(reinterpret_cast<UChar_t*>(fRecPointArray[n]) - reinterpret_cast<UChar_t*>(fFirstRecPointPtr) + reinterpret_cast<UChar_t*>(tmp));\r
}\r
- delete fRecPointDataPtr;\r
+ delete [] fFirstRecPointPtr;\r
fFirstRecPointPtr = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(tmp);\r
fRecPointDataPtr = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(tmp + recPointOffset);\r
- fUsedSize = 0;\r
+ fDigitIndexPtr = reinterpret_cast<Int_t*>(reinterpret_cast<UChar_t*>(fRecPointDataPtr) + digitIndexOffset);\r
+ //fUsedSize = 0;\r
}\r
return 0;\r
}\r
{\r
nRecPoints = fNRecPoints;\r
}\r
- printf("CL: CheckDigits: Number of rec points: %d\n", nRecPoints);\r
for(Int_t i = 0; i < nRecPoints; i++)\r
{\r
\r
//AliHLTCaloRecPointDataStruct *recPoint = fRecPointArray[0];\r
Int_t multiplicity = recPoint->fMultiplicity;\r
Int_t *digitIndexPtr = &(recPoint->fDigits);\r
- printf("CL: Rec point with energy: %f, multiplicity: %d\n", recPoint->fAmp, recPoint->fMultiplicity);\r
for(Int_t j = 0; j < multiplicity; j++)\r
{\r
//AliHLTCaloRecPointDataStruct *recPoint = fRecPointArray[j];\r
- AliHLTCaloDigitDataStruct *digit = digits[*digitIndexPtr];\r
- printf("CL: Digit ID: %d, energy: %f, index: %d, indexpointer: %x\n", digit->fID, digit->fEnergy, *digitIndexPtr, digitIndexPtr);\r
+// AliHLTCaloDigitDataStruct *digit = digits[*digitIndexPtr];\r
digitIndexPtr++;\r
//recPoint = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(digitIndexPtr);\r
}\r
}\r
\r
- \r
- \r
- \r
- \r
- \r
- \r
+ return 0;\r
}\r
\r
Int_t AliHLTCaloClusterizer::CheckDigits(AliHLTCaloRecPointDataStruct** recArray, AliHLTCaloDigitDataStruct* digitArray, Int_t nRP)\r
{\r
nRecPoints = fNRecPoints;\r
}\r
- printf("CL: CheckDigits: Number of rec points: %d\n", nRecPoints);\r
for(Int_t i = 0; i < nRecPoints; i++)\r
{\r
\r
//AliHLTCaloRecPointDataStruct *recPoint = fRecPointArray[0];\r
Int_t multiplicity = recPoint->fMultiplicity;\r
Int_t *digitIndexPtr = &(recPoint->fDigits);\r
- printf("CL: Rec point with energy: %f, multiplicity: %d\n", recPoint->fAmp, recPoint->fMultiplicity);\r
for(Int_t j = 0; j < multiplicity; j++)\r
{\r
//AliHLTCaloRecPointDataStruct *recPoint = fRecPointArray[j];\r
AliHLTCaloDigitDataStruct digit = digits[*digitIndexPtr];\r
- printf("CL: digits: %x, recpoints: %x, digitIndexPtr: %x\n", digits, recpoints, digitIndexPtr);\r
- printf("CL: Digit ID: %d, energy: %f, index: %d, indexpointer: %x\n", digit.fID, digit.fEnergy, *digitIndexPtr, digitIndexPtr);\r
digitIndexPtr++;\r
//recPoint = reinterpret_cast<AliHLTCaloRecPointDataStruct*>(digitIndexPtr);\r
}\r
}\r
+ return 0;\r
\r
- \r
- \r
- \r
- \r
- \r
- \r
-}
\ No newline at end of file
+}\r