const Int_t nMinPhotAcc = 3; // Minimum number of photons required to perform the pattern recognition
Int_t nClusTot = pCluLst->GetEntries();
- if(nClusTot>fParam->MultCut()) fIsWEIGHT = kTRUE; // offset to take into account bkg in reconstruction
- else fIsWEIGHT = kFALSE;
InitVars(nClusTot);
pTrk->SetHMPIDmip(mipX,mipY,mipQ,fPhotCnt); //store mip info in any case
pTrk->SetHMPIDcluIdx(chId,index+1000*sizeClu); //set index of cluster
- if(fPhotCnt<=nMinPhotAcc) { //no reconstruction with <=3 photon candidates
+ if(fPhotCnt<nMinPhotAcc) { //no reconstruction with <=3 photon candidates
pTrk->SetHMPIDsignal(kNoPhotAccept); //set the appropriate flag
return;
}
fMipPos.Set(mipX,mipY);
//PATTERN RECOGNITION STARTED:
-
+ if(fPhotCnt>fParam->MultCut()) fIsWEIGHT = kTRUE; // offset to take into account bkg in reconstruction
+ else fIsWEIGHT = kFALSE;
+
Int_t iNrec=FlagPhot(HoughResponse(),pCluLst,pTrk); //flag photons according to individual theta ckov with respect to most probable
- pTrk->SetHMPIDmip(mipX,mipY,mipQ,iNrec); //store mip info
+ pTrk->SetHMPIDmip(mipX,mipY,mipQ,iNrec); //store mip info
- if(iNrec<1){
- pTrk->SetHMPIDsignal(kNoPhotAccept); //no photon candidates are accepted
+ if(iNrec<nMinPhotAcc){
+ pTrk->SetHMPIDsignal(kNoPhotAccept); //no photon candidates are accepted
return;
}
Double_t thetaC = FindRingCkov(pCluLst->GetEntries()); //find the best reconstructed theta Cherenkov
// FindRingGeom(thetaC,2);
- pTrk->SetHMPIDsignal(thetaC+occupancy); //store theta Cherenkov
- pTrk->SetHMPIDchi2(fCkovSigma2); //store errors squared
+ pTrk->SetHMPIDsignal(thetaC+occupancy); //store theta Cherenkov and chmaber occupancy
+ pTrk->SetHMPIDchi2(fCkovSigma2); //store experimental ring angular resolution squared
DeleteVars();
}//CkovAngle()