#include "TClonesArray.h"
#include "AliPHOSGeometry.h"
#include "AliPHOSDigit.h"
-#include "AliPHOSRecoParamEmc.h"
+#include "AliPHOSRecoParam.h"
ClassImp(AliHLTPHOSClusterizer);
//See header file for documentation
}
+void
+AliHLTPHOSClusterizer::SetRecPointContainer(AliHLTPHOSRecPointContainerStruct* recPointContainerPtr)
+ {
+ fRecPointContainerPtr = recPointContainerPtr;
+ fRecPointContainerPtr->fNRecPoints = 0;
+ }
void
-AliHLTPHOSClusterizer::SetRecoParameters(AliPHOSRecoParamEmc* params)
+AliHLTPHOSClusterizer::SetRecoParameters(AliPHOSRecoParam* params)
{
//see header file for documentation
- fEmcClusteringThreshold = params->GetClusteringThreshold();
- fEmcMinEnergyThreshold = params->GetMinE();
- fLogWeight = params->GetLogWeight();
+ fEmcClusteringThreshold = params->GetEMCClusteringThreshold();
+ fEmcMinEnergyThreshold = params->GetEMCMinE();
+ fLogWeight = params->GetEMCLogWeight();
}
void
-AliHLTPHOSClusterizer::SetOfflineMode(AliPHOSGetter* getter)
+AliHLTPHOSClusterizer::SetOfflineMode(AliPHOSLoader* getter)
{
//see header file for documentation
fRecPointContainerPtr = new AliHLTPHOSRecPointContainerStruct();
//see header file for documentation
Int_t coord[4];
- fGetterPtr->Event(i, "D");
+ // fGetterPtr->Event(i, "D");
+ fGetterPtr->GetEvent();
for(Int_t j = 0; j < fDigitArrayPtr->GetEntries(); j++)
{
fDigitPtr = (AliPHOSDigit*)fDigitArrayPtr->At(j);
//see header file for documentation
if(fOnlineMode)
{
- printf("Number of events not available in online mode!\n");
+ // Logging(kHLTLogWarning, __FILE__ , "information not available" , "GetNEvents() Number of events not available in online mod");
return -1;
}
return fGetterPtr->MaxEvent();
Int_t nRecPoints = 0;
UInt_t i = 0;
- //printf("Starting clusterisation of event.\n");
-
AliHLTPHOSRecPointDataStruct *recPoint = 0;
- //printf("Number of digits in event: %d\n", fDigitContainerPtr->fNDigits);
-
//Clusterization starts
for(i = 0; i < fDigitContainerPtr->fNDigits; i++)
{
fDigitsInCluster = 0;
- //printf("Digit energy: %f\n", fDigitContainerPtr->fDigitDataStruct[i].fEnergy);
if(fDigitContainerPtr->fDigitDataStruct[i].fEnergy < fEmcClusteringThreshold)
{
continue;
}
- //printf("Got rec point above clustering threshold!\n");
recPoint = &(fRecPointContainerPtr->fRecPointArray[nRecPoints]);
recPoint->fAmp = 0;
+ //TODO!!!!!!!
+ recPoint->fModule = fDigitContainerPtr->fDigitDataStruct[i].fModule;
+ //TODO!!!!!!!
//recPoint->
recPoint->fDigitsList[fDigitsInCluster] = fDigitContainerPtr->fDigitDataStruct[i];
recPoint->fAmp += fDigitContainerPtr->fDigitDataStruct[i].fEnergy;
if ( (digit1->fModule == digit2->fModule) /*&& (coord1[1]==coord2[1])*/ ) // inside the same PHOS module
{
-
Int_t rowdiff = TMath::Abs( digit1->fZ - digit2->fZ );
Int_t coldiff = TMath::Abs( digit1->fX - digit2->fX );
-
- //cout << "x1: " << digit1->fX << " x2: " << digit2->fX << " z1: " << digit1->fZ << " z2: " << digit2->fZ <<
- //" t1: " << digit1->fTime << " t2: " << digit1->fTime << " --> ";
if (( coldiff <= 1 ) && ( rowdiff <= 1 ))
{
if(TMath::Abs(digit1->fTime - digit2->fTime ) < fEmcTimeGate)
{
- //cout << "OK\n";
return 1;
}
- // cout << "Time difference\n";
}
- //else
- //{
- // cout << "Space difference\n";
- //}
}
return 0;
}
AliHLTPHOSClusterizer::CalculateCenterOfGravity()
{
//see header file for documentation
-
Float_t wtot = 0.;
-
- //Int_t relid[4];
-
Float_t x = 0.;
Float_t z = 0.;
Float_t xi = 0.;
AliHLTPHOSRecPointDataStruct *recPoint = 0;
AliHLTPHOSDigitDataStruct *digit = 0;
-
- //AliPHOSGeometry * phosgeom = AliPHOSGeometry::GetInstance() ;
-
UInt_t iDigit = 0;
UInt_t iRecPoint = 0;