//Set the cluster properties for the AliCluster3D part
//------------------------------------------------------------------------
+ fParam = AliHMPIDParam::Instance();
+
+ if(!fParam->GetInstType()) //if there is no geometry we cannot retrieve the volId (only for monitoring)
+ {
+ new(this) AliCluster3D(); return;
+ }
+
//Get the volume ID from the previously set PNEntry
UShort_t volId=AliGeomManager::LayerToVolUID(AliGeomManager::kHMPID,iCh);
//get L->T cs matrix for a given chamber
const TGeoHMatrix *t2l= AliGeomManager::GetTracking2LocalMatrix(volId);
- fparam = AliHMPIDParam::Instance();
+ fParam = AliHMPIDParam::Instance();
//transformation from the pad cs to local
xL -= 0.5*fParam->SizeAllX(); //size of all pads with dead zones included
AliHMPIDCluster::~AliHMPIDCluster()
{
if(fDigs) delete fDigs; fDigs=0;
- if(fParam) delete fParam; fParam=0;
+ //PH if(fParam) delete fParam; fParam=0;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AliHMPIDCluster::CoG()
//Phase 0. Initialise Fitter
Double_t arglist[10];
Int_t ierflg = 0;
- TVirtualFitter *fitter = TVirtualFitter::Fitter(this,3*6); //initialize Fitter
-
- delete fitter; //temporary solution to avoid the inteference with previous instances
- fitter = TVirtualFitter::Fitter(this,3*6); //initialize Fitter
-
+ TVirtualFitter* fitter = TVirtualFitter::Fitter(this,3*6); //initialize Fitter
+ //
arglist[0] = -1;
ierflg = fitter->ExecuteCommand("SET PRI", arglist, 1); // no printout
ierflg = fitter->ExecuteCommand("SET NOW", arglist, 0); //no warning messages
fSt=kNoLoc;
SetClusterParams(fXX,fYY,fCh); //need to fill the AliCluster3D part
new ((*pCluLst)[iCluCnt++]) AliHMPIDCluster(*this); //add new unfolded cluster
-
return fNlocMax;
}
// case 2 -> loc max found. Check # of loc maxima
if ( fNlocMax >= kMaxLocMax) {
- SetClusterParams(fXX,fYY,fCh); // if # of local maxima exceeds kMaxLocMax...
+ SetClusterParams(fXX,fYY,fCh); // if # of local maxima exceeds kMaxLocMax...
fSt = kMax; new ((*pCluLst)[iCluCnt++]) AliHMPIDCluster(*this); //...add this raw cluster
- } else { //or resonable number of local maxima to fit and user requested it
+ } else { //or resonable number of local maxima to fit and user requested it
// Now ready for minimization step
arglist[0] = 500; //number of steps and sigma on pads charges
arglist[1] = 1.; //